比如一个FORM中有两个文本框,一个是输入用户名,一个是输入密码,现在我想问一下,我不想每次启动程序时都要输入用户名和密码,我想把上一次(也就是最近一次)输入的用户名和密码直接显示出来。
我想可以通过写、读TXT文件实现,但自己是初学VB者,目前自己不能完全做出来,所以请教一下各位高手。谢谢啦

解决方案 »

  1.   

    关闭程序时,把用户名与密码保存到TXT:private function SaveTXT(byval FileName as string,byval inString as string)
        open filename for binary as #1
            put 1,,instring
        close #1
    end function启动程序时,载入内容:private function LoadTXT(byval FileName as string)as string
        dim Buffer as string    open filename for binary as #1
            buffer=string(lof(1),chr(0))
            get 1,,buffer
        close #1
        loadtxt=buffer
    end function注意:这两个过程只能一次性保存与载入内容,因为没有处理多数据的情况.所以你要写入用户名与密码,就要用一个分隔符分开来,以方便读入后拆分.比如:'保存时的情况.UserName与PassWord分别是用户名与密码变量.
    call SaveTXT(app.path & "\1.txt",username & vbcrlf & password)'读入时的情况.
    dim buffer() as stringbuffer()=split(LoadTXT(app.path & "\1.txt"),vbcrlf)username=buffer(0)
    password=buffer(1)这里只是一个思路,实际使用中应该会有其它问题.尽量尝试自己解决吧,这样你能学得快点.
      

  2.   

    '写注册表方便点'定义对象变量
    Dim 注册表 As Object'创建对象
    Set 注册表 = CreateObject("WScript.Shell.1")'写注册表内容
    注册表.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\" & App.ProductName & "\配置1", "值","REG_SZ"'读取注册表内容
    On Error Resume Next
    注册表内容 = 注册表.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\" & App.ProductName & "\配置1")
    If Err.Number <> 0 Then
       Err.Clear
       '这里可以对注册表值初始化
        注册表.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\" & App.ProductName & "\配置1", "初始化值","REG_SZ"
    End If
      

  3.   

    如果一定要写文件这样比较方便也比较清楚:Private Type UserInfo
       UserName As String
       UserPass As String
    End TypeDim USINFO As UserInfo
    Dim NowExePath As String'保存信息
    Private Sub Command1_Click()
       USINFO.UserName = "Admin"
       USINFO.UserPass = "12345678"
       Open NowExePath & "UU.txt" For Binary As #1
       Put #1,1,USINFO
       Close #1
    End Sub'读取信息
    Private Sub Form_Load()
       If Right(App.Path,1)="\" Then
          NowExePath = App.Path
       Else
          NowExePath = App.Path & "\"
       End If
       Open NowExePath & "UU.txt" For Binary As #1
       Get #1,1,USINFO
       Close #1
       Text1.Text = USINFO.UserName
       Text2.Text = USINFO.UserPass
    End Sub
      

  4.   

    我发现我贴的代码怎么这么难看,呵呵,重新贴
    Private Type UserInfo 
       UserName As String 
       UserPass As String 
    End Type Dim USINFO As UserInfo 
    Dim NowExePath As String '保存信息 
    Private Sub Command1_Click() 
       USINFO.UserName = "Admin" 
       USINFO.UserPass = "12345678" 
       Open NowExePath & "UU.txt" For Binary As #1 
       Put #1,1,USINFO 
       Close #1 
    End Sub '读取信息 
    Private Sub Form_Load() 
       If Right(App.Path,1)="\" Then 
          NowExePath = App.Path 
       Else 
          NowExePath = App.Path & "\" 
       End If 
       Open NowExePath & "UU.txt" For Binary As #1 
       Get #1,1,USINFO 
       Close #1 
       Text1.Text = USINFO.UserName 
       Text2.Text = USINFO.UserPass 
    End Sub