方法有很多要看你具体想要实现什么功能了 简单读写文本文件的方法有:Dim fn As Integer Dim tmpStr As String fn = FreeFile Open "C:\1.txt" For Output As fn '输出方式打开文本文件 Print #fn, "123" '以行方式写入文件 Print #fn, "456" Print #fn, "789" Close fn = FreeFile Open "C:\1.txt" For Input As fn '输入方式打开文本文件 Do While Not EOF(fn) Input #fn, tmpStr '读取行到变量 MsgBox tmpStr DoEvents Loop Close fn
或用API函数 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【Description】 为初始化文件中指定的条目取得字串 【ReturnValue】 Long,复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2) 【Re】 在vb的api文本查看器中复制的声明为: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【Params】 lpApplicationName - String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表 lpKeyName ------ String,欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表 lpDefault ------ String,指定的条目没有找到时返回的默认值。可设为空("") lpReturnedString - String,指定一个字串缓冲区,长度至少为nSize nSize ---------- Long,指定装载到lpReturnedString缓冲区的最大字符数量 lpFileName ----- String,初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件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【Description】 在初始化文件指定小节内设置一个字串 【ReturnValue】 Long,非零表示成功,零表示失败。会设置GetLastError 【Re】 在vb的api文本查看器里复制的声明如下: 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【Params】 lpApplicationName - String,要在其中写入新字串的小节名称。这个字串不区分大小写 lpKeyName ------ Any,要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项 lpString ------- String,指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串 lpFileName ----- String,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它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 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 Sub Form_Load() Dim Ret As String, NC As Long 'Write the setting to the file (c:\test.ini) under ' Project1 -> Keyname WritePrivateProfileString App.Title, "KeyName", "This is the value", "c:\test.ini" 'Create a buffer Ret = String(255, 0) 'Retrieve the string NC = GetPrivateProfileString(App.Title, "KeyName", "Default", Ret, 255, "C:\test.ini") 'NC is the number of characters copied to the buffer If NC <> 0 Then Ret = Left$(Ret, NC) 'Show our string MsgBox Ret 'Delete the file Kill "c:\test.ini" End Sub
简单读写文本文件的方法有:Dim fn As Integer
Dim tmpStr As String
fn = FreeFile
Open "C:\1.txt" For Output As fn '输出方式打开文本文件
Print #fn, "123" '以行方式写入文件
Print #fn, "456"
Print #fn, "789"
Close
fn = FreeFile
Open "C:\1.txt" For Input As fn '输入方式打开文本文件
Do While Not EOF(fn)
Input #fn, tmpStr '读取行到变量
MsgBox tmpStr
DoEvents
Loop
Close fn
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【Description】 为初始化文件中指定的条目取得字串 【ReturnValue】 Long,复制到lpReturnedString缓冲区的字节数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpApplicationName或lpKeyName为NULL,则返回nSize-2) 【Re】 在vb的api文本查看器中复制的声明为: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【Params】
lpApplicationName - String,欲在其中查找条目的小节名称。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载这个ini文件所有小节的列表 lpKeyName ------ String,欲获取的项名或条目名。这个字串不区分大小写。如设为vbNullString,就在lpReturnedString缓冲区内装载指定小节所有项的列表 lpDefault ------ String,指定的条目没有找到时返回的默认值。可设为空("") lpReturnedString - String,指定一个字串缓冲区,长度至少为nSize nSize ---------- Long,指定装载到lpReturnedString缓冲区的最大字符数量 lpFileName ----- String,初始化文件的名字。如没有指定一个完整路径名,windows就在Windows目录中查找文件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【Description】 在初始化文件指定小节内设置一个字串 【ReturnValue】 Long,非零表示成功,零表示失败。会设置GetLastError 【Re】 在vb的api文本查看器里复制的声明如下:
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【Params】
lpApplicationName - String,要在其中写入新字串的小节名称。这个字串不区分大小写 lpKeyName ------ Any,要设置的项名或条目名。这个字串不区分大小写。用vbNullString可删除这个小节的所有设置项 lpString ------- String,指定为这个项写入的字串值。用vbNullString表示删除这个项现有的字串 lpFileName ----- String,初始化文件的名字。如果没有指定完整路径名,则windows会在windows目录查找文件。如果文件没有找到,则函数会创建它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 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 Sub Form_Load()
Dim Ret As String, NC As Long
'Write the setting to the file (c:\test.ini) under
' Project1 -> Keyname
WritePrivateProfileString App.Title, "KeyName", "This is the value", "c:\test.ini"
'Create a buffer
Ret = String(255, 0)
'Retrieve the string
NC = GetPrivateProfileString(App.Title, "KeyName", "Default", Ret, 255, "C:\test.ini")
'NC is the number of characters copied to the buffer
If NC <> 0 Then Ret = Left$(Ret, NC)
'Show our string
MsgBox Ret
'Delete the file
Kill "c:\test.ini"
End Sub
补充几点: 我想实现的是,存放用户的设置信息。(如:客户端地址,端口号等),以便每次打开时按照.txt 里的数据进行默认连接··