如何在vb中保存label中的文字,下次打开时caption显示的是上次关闭时的。

2025-03-04 05:54:12
推荐回答(4个)
回答1:

Private Sub Form_Load()
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.OpenTextFile(App.Path & "\config.txt", 1)
Label1.Caption = f1.ReadLine
Label2.Caption = f1.ReadLine
Label3.Caption = f1.ReadLine
Label4.Caption = f1.ReadLine
End Sub
Private Sub Form_Unload(Cancel As Integer)
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.OpenTextFile(App.Path & "\config.txt", 2)
f1.WriteLine Label1.Caption
f1.WriteLine Label2.Caption
f1.WriteLine Label3.Caption
f1.WriteLine Label4.Caption
End Sub

回答2:

首先你得明白,应用程序本身不能保存数据,要保存数据都是保存在外部的。如果很少量的数据,写注册表是最简单的方法。如果不写注册表,那就写文本,保存在文本中,把你用的数据写在文件中,然后下次读出来。也可以保存到 数据库,数据库的类型很多。
也有说写到程序自身的,以前见到过,但一直没去实践过,大体是这样的,应用程序文件是固定长度的,把数据写在EXE的尾部,但这个,好像安全又很不安全的做法。

其次,既然你知道写注册表的方式,那保存的过程你也明白的,所以代码自然不需要我们多写了。

再者,是你的问题本身有问题。你要求答对再加分。对于这点,我想说,我在百度回答问题,几乎没有追求过分数,这个分数,至今没换到过一毛钱。还有,什么叫答对。你是知道答案地考别人吗?

回答3:

=======================================================================
'读/写程序设置用到的API
Private Declare Function WritePrivateProfileString Lib "kernel32" _
Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpString As Any, _
ByVal lpFileName As String) As Long

Private Declare Function GetPrivateProfileString Lib "kernel32" _
Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _
ByVal lpKeyName As Any, ByVal lpDefault As String, _
ByVal lpReturnedString As String, ByVal nSize As Long, _
ByVal lpFileName As String) As Long

Private Sub Form_Load()
Dim buff As String
buff = String(255, 0) '设置Buff大小
ret = GetPrivateProfileString("label", "label", Label1.Caption, buff, 256, App.Path & "\config.ini") '程序启动时读取上次退出时的label内容
Label1.Caption = buff
End Sub

Private Sub Form_Unload(Cancel As Integer) '程序退出时写入label1的内容到文件config.ini
Dim WriteInI '写入ini文件的变量
WriteInI = WritePrivateProfileString("label", "label", Label1.Caption, App.Path & "\config.ini")
End Sub

回答4:

我不懂有满意回答的问题 度娘怎么还放出来。。。。。。。。。。。。。