请教各位,如何实现多个文件的保存

lisa1982 2004-07-21 09:54:10
假如我要将text1.text中的第1行内容自动保存到text1.txt文件中,第2行保存到text2.txt,以此类推,假设有10行,如何实现?commondialog控件能实现吗?请各位高手帮忙,最好能贴出代码,谢谢!
...全文
207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
熊孩子开学喽 2004-07-22
  • 打赏
  • 举报
回复
楼主请使用控件数组吧:
在窗体上点住一个TEXT控件,按“CTRL+C”再按“CTRL+V”就可以创建控件数组了。
假设建立了N个TEXT1控件的数组
Sub SaveText()
Dim I as long '临时循环变量
Dim FileNum as Long '文件号
Dim FileName as String '文件名
For I=0 to Text1.Count-1 '使用Text1.Count得到控件数组的个数
FileNum = FreeFile
FileName=App.Path & "\Text" & I & ".txt" '假设保存在工程所在的路径下
Open FileName For Access Write As #FileNum
Put #FileNum, , Text1(i).text
Close FileNum
Next
End Sub
northwolves 2004-07-21
  • 打赏
  • 举报
回复
呵呵,楼上指教的是。
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Private Declare Function SendMessageByNum Lib "USER32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SendMessageByString Lib "USER32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam _
As Long, ByVal lParam As String) As Long

Private Const EM_LINEINDEX = &HBB
Private Const EM_GETLINECOUNT = &HBA
Private Const EM_GETLINE = &HC4
Private Const EM_LINELENGTH = &HC1

Function GetLineText(ByVal txtbox As TextBox, ByVal LineIndex As Long) As String '通过发送消息返回指定行的内容
Dim lc As Long, linechar As Long
linechar = SendMessageByNum(txtbox.hWnd, EM_LINEINDEX, LineIndex, 0)
lc = SendMessageByNum(txtbox.hWnd, EM_LINELENGTH, linechar, 0) + 1
GetLineText = String(lc + 2, 0)
Mid(GetLineText, 1, 1) = Chr(lc And &HFF)
Mid(GetLineText, 2, 1) = Chr(lc \ &H100)
lc = SendMessageByString(txtbox.hWnd, EM_GETLINE, LineIndex, GetLineText)
GetLineText = Left(GetLineText, lc)
End Function

Private Sub Command1_Click()
Dim linecount As Long, i As Long
linecount = SendMessage(text1.hWnd, EM_GETLINECOUNT, 0, 0) '返回行数
For i = 1 To linecount ' 循环
Open App.Path & "\text" & i & ".txt" For Binary As #1
Put #1, , GetLineText(text1, i - 1) '获得第i行的内容写入文件texti.txt
Close #1
Next
MsgBox "ok!"
End Sub
czycom 2004-07-21
  • 打赏
  • 举报
回复
什么东西呀,一滩,连个注释也没有,没有一点可读性
northwolves 2004-07-21
  • 打赏
  • 举报
回复
没有调试,应该没问题

Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Private Declare Function SendMessageByNum Lib "USER32" _
Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SendMessageByString Lib "USER32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam _
As Long, ByVal lParam As String) As Long

Private Const EM_LINEINDEX = &HBB
Private Const EM_GETLINECOUNT = &HBA
Private Const EM_GETLINE = &HC4
Private Const EM_LINELENGTH = &HC1

Function GetLineText(ByVal txtbox As TextBox, ByVal LineIndex As Long) As String '返回指定行的内容
Dim lc As Long, linechar As Long
linechar = SendMessageByNum(txtbox.hWnd, EM_LINEINDEX, LineIndex, 0)
lc = SendMessageByNum(txtbox.hWnd, EM_LINELENGTH, linechar, 0) + 1
GetLineText = String(lc + 2, 0)
Mid(GetLineText, 1, 1) = Chr(lc And &HFF)
Mid(GetLineText, 2, 1) = Chr(lc \ &H100)
lc = SendMessageByString(txtbox.hWnd, EM_GETLINE, LineIndex, GetLineText)
GetLineText = Left(GetLineText, lc)
End Function

Private Sub Command1_Click()
Dim linecount As Long, i As Long
linecount = SendMessage(txtbox.hWnd, EM_GETLINECOUNT, 0, 0) '返回行数
For i = 1 To linecount
Open App.Path & "\text" & i & ".txt" For Binary As #1
Put #1, , GetLineText(txtbox, i - 1)
Close #1
Next
MsgBox "ok!"
End Sub


  • 打赏
  • 举报
回复
更正

保存文件:
FileNum = FreeFile
Filetext = "aaaaaaaaaaaaaaaaaaaaaaaaaaaa"
TFile = App.Path & "\" & "a.txt"
Open TFile For Access Write As #FileNum
Put #FileNum, , Filetext
Close FileNum
  • 打赏
  • 举报
回复
读取每行数据,逐个保存

保存文件:
FileNum = FreeFile
Filetext = "aaaaaaaaaaaaaaaaaaaaaaaaaaaa"
TFile = App.Path & "\" & "a.txt"
Open TFile For Access Write As #FileNum
Put #FileNum, , FileCRC
Close FileNum

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧