【VB保存和读取该程序的配置】我用VB写了一个小程序,关于保存和读取该程序的配置问题很是疑惑……

程序中有好多个属性,如"WindowsNum“等,我的方法是保存为SaveDat.inf,内容为:WindowsNum=20我已经可以读出这个值了,但不知道如何赋给Win... 程序中有好多个属性,如"WindowsNum“等,我的方法是保存为SaveDat.inf,内容为:

WindowsNum=20

我已经可以读出这个值了,但不知道如何赋给WindowsNum,我用笨办法是:
Public SetList() As String
Function OrgSetList() '初使设置
ReDim SetList(1)
SetList(1) = "WindowsNum"
End Function

Function LoadSet() '读取设置
Dim s() As String
ReDim s(1)

Open "SaveSet.inf" For Input As #1
Do While Not EOF(1)
Line Input #1, s(i)

For j = 1 To Len(s(i)) '给变量赋值
If Mid(s(i), j, 1) = "=" Then
For k = 1 To UBound(SetList)
If Left(s(i), j - 1) = SetList(k) Then
Select Case k
Case 1
WindowsNum = Mid(s(i), j + 1, UBound(s(i)) - j)

'注意写入新数据时要一一对应【这就是要命所在,每次要去case一下,请问有没有好一点的办法呢?谢谢】
Case Else

End Select

Next i

End If
Next i
i = i + 1
ReDim Preserve s(i)
Loop
Close #1

End Function
展开
 我来答
清清_1990
2011-02-21 · 超过20用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:60.6万
展开全部
孩子,用split函数吧!干吗这么麻烦呢?多个设置值咋办啊。下面是具体的。
假设我在“SaveDat.inf”中有3个程序的配置项,如下:
WindowsNum=20
WindowsWidth=5670
WindowsHeight=5670
则我要读取并设置,只需编写如下的过程在Form_Load()中调用;
Private Sub Load_Form_Set()'读取"SaveSet.inf"内容进行程序初始化设置
'读取"SaveSet.inf"内容
Open "SaveSet.inf" For Input As #1
Do While Not EOF(1)
Line Input #1, a$
b$=b$ & a& & vbcrlf
Loop
Close #1
'划分记录
p=split(b$,vbcrlf)
For i=0 to UBound(p)
k=split(p(i),"=")'用等号划分记录
Set_It(k(0),)'调用设置过程设置单项内容
Next i

End Sub
Private Sub Set_It(Set_Rec_Name_Str,Set_Rec_Val_Str)'调用设置过程设置单项内容
Select Case LCase(Set_Rec_Name_Str)
Case "windowsnum"
...=Set_Rec_Val_Str
Case "windowswidth"
Me.Width=Set_Rec_Val_Str
Case "windowsheight"
...=Set_Rec_Val_Str
End Select
End Sub
说明:Split函数是基本的字符串处理函数,自己查查资料吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式