标题:VB6 存取TXT檔範例
只看楼主
kedian1968
Rank: 2
等 级:论坛游民
帖 子:15
专家分:15
注 册:2022-2-15
结帖率:33.33%
 问题点数:0 回复次数:3 
VB6 存取TXT檔範例
'全域變數
Private 路徑 As String, 內容 As String, 檔名 As String

Private Sub Form_Load() '主視窗啟動執行
    內容 = Text1.Text
    路徑 = Text2.Text
    檔名 = Text3.Text
End Sub

Private Sub Text1_Change() '變更時更新參數
    If Text1.CausesValidation Then 內容 = Text1.Text
End Sub

Private Sub Text2_Change() '變更時更新參數
    If Text2.CausesValidation Then 路徑 = Text2.Text
End Sub

Private Sub Text3_Change() '失焦後執行
    If Text3.CausesValidation Then 檔名 = Text3.Text
End Sub

Private Function 寫入TXT(ByVal OutputFilePath As String, Content As String) '路徑 ,內容
    Open OutputFilePath For Output As #2 ' 開啟 OutputFilePath 文字檔,使用編號 #2 檔案代碼
    Print #2, Content ' 將 Content 的內容寫入編號 #2 的檔案
    Close #2 ' 關閉編號 #2 檔案
End Function

Private Sub Command1_Click() '按鈕
    檢查目錄 (路徑)
    Call 寫入TXT(路徑 & 檔名, 內容)
    Me.Print 讀取TXT(路徑 & 檔名)
End Sub

Private Sub Command2_Click()
    If 檢查目錄(路徑) Then
        Me.Print "無目錄已建立"
    Else
        Me.Print "找到目錄"
    End If
   
    If 檢查檔案(路徑 & 檔名) Then
        Me.Print "找不到檔案"
    Else
        Me.Print "找到檔案"
    End If
End Sub

Private Function 讀取TXT(ByVal FilePath As String) '路徑
    Dim StrContent As String '讀取暫存
    StrContent = ""
    Open FilePath For Input As #1 ' 開啟 FilePath 文字檔,使用編號 #1 檔案代碼
    Do Until EOF(1) ' 執行迴圈,直到編號 #1 檔案遇到結尾為止
        Line Input #1, LineFromFile ' 從編號 #1 檔案讀取一行資料
        StrContent = StrContent & LineFromFile & " " ' 輸出一行資料
    Loop
    讀取TXT = StrContent
    Close #1 ' 關閉編號 #1 檔案
End Function

Private Function 檢查目錄(ByVal output_dir As String) '路徑
    檢查目錄 = 0
    If Dir(output_dir, vbDirectory) = "" Then ' 若目的地目錄不存在
        MkDir (output_dir) ' 建立新的目錄
        檢查目錄 = 1
    End If
End Function

Private Function 檢查檔案(ByVal check_file As String) '路徑
    檢查檔案 = 0
    If Dir$(check_file) = "" Then 檢查檔案 = 1
End Function
搜索更多相关主题的帖子: Sub If End Private String 
2022-02-21 13:39
约定的童话
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:47
帖 子:190
专家分:1061
注 册:2021-8-1
得分:0 
标题上面加个【分享】
2022-02-21 15:24
chenyucheng
Rank: 3Rank: 3
来 自:浙江省台州市临海市
等 级:论坛游侠
威 望:3
帖 子:141
专家分:181
注 册:2022-7-1
得分:0 
修改代码:防止有中文变量名/函数名等后可能引起编译错误,并把中文注释翻成简体中文
防止有中文变量名/函数名等后可能引起编译错误,并把中文注释翻成简体中文:
程序代码:
'全域变数
Private lujing As String, neirong As String, dangming As String
'lujing:路径; neirong:内容; dangming:档名.

Private Sub Form_Load() '主视窗启动执行
    neirong = Text1.Text
    lujing = Text2.Text
    dangming = Text3.Text
End Sub

Private Sub Text1_Change() '变更时更新参数
    If Text1.CausesValidation Then neirong = Text1.Text
End Sub

Private Sub Text2_Change() '变更时更新参数
    If Text2.CausesValidation Then lujing = Text2.Text
End Sub

Private Sub Text3_Change() '失焦后执行
    If Text3.CausesValidation Then dangming = Text3.Text
End Sub

'xrTXT:写入TXT
Private Function xrTXT(ByVal OutputFilePath As String, Content As String) '路径 ,内容
    Open OutputFilePath For Output As #2 ' 开启 OutputFilePath 文字档,使用编号 #2 档案代码
    Print #2, Content ' 将 Content 的内容写入编号 #2 的档案
    Close #2 ' 关闭编号 #2 档案
End Function

Private Sub Command1_Click() '按钮
    jcml (lujing)
    Call xrTXT(lujing & dangming, neirong)
    Me.Print dcTXT(lujing & dangming)
End Sub

Private Sub Command2_Click()
    If jcml(lujing) Then
        Me.Print "无目录已建立"
    Else
        Me.Print "找到目录"
    End If
    
    If jcda(lujing & dangming) Then
        Me.Print "找不到档案"
    Else
        Me.Print "找到档案"
    End If
End Sub

'dcTXT:读取TXT
Private Function dcTXT(ByVal FilePath As String) '路径
    Dim StrContent As String '读取暂存
    StrContent = ""
    Open FilePath For Input As #1 ' 开启 FilePath 文字档,使用编号 #1 档案代码
    Do Until EOF(1) ' 执行回圈,直到编号 #1 档案遇到结尾为止
        Line Input #1, LineFromFile ' 从编号 #1 档案读取一行资料
        StrContent = StrContent & LineFromFile & " " ' 输出一行资料
    Loop
    dcTXT = StrContent
    Close #1 ' 关闭编号 #1 档案
End Function

'jcml:检查目录
Private Function jcml(ByVal output_dir As String) '路径
    jcml = 0
    If Dir(output_dir, vbDirectory) = "" Then ' 若目的地目录不存在
        MkDir (output_dir) ' 建立新的目录
        jcml = 1
    End If
End Function

'jcda:检查档案
Private Function jcda(ByVal check_file As String) '路径
    jcda = 0
    If Dir$(check_file) = "" Then jcda = 1
End Function


[此贴子已经被作者于2022-7-3 08:55编辑过]


爱玩编程的小学生,有Python,但只会一点点C++。

版主->斑竹->竹子,所以版主是竹子。(doge)
//不要让我当版主
2022-07-03 08:52
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
VB6  支持中文标识符。
然后这些函数,返回类型都没申明,需要申明下,最好是申明返回逻辑类型。
没有返回值的 定义为 过程。

授人于鱼,不如授人于渔
早已停用QQ了
2022-07-03 09:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-508397-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.104937 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved