文件名用Chr(0)分隔了,第一个chr(0)前面的是路径,以后都是文件名,下面是我四年前写过的一个程序中的代码,比较烂不要笑话哦。
Private Sub mnuFileOpen_Click()
Dim Pat, kss, kfile As String
Dim Allfile As String
dlgCommonDialog.Flags = &H80000 + &H200
dlgCommonDialog.FileName = ""
dlgCommonDialog.ShowOpen
If dlgCommonDialog.FileName = "" Then Exit Sub
kss = dlgCommonDialog.FileName
qian = 1
k = InStr(1, kss, Chr(0))
If k <> 0 Then
Pat = Mid(kss, qian, k - qian) + "\"
qian = k + 1
Do
k = InStr(qian, kss, Chr(0))
If k = 0 Then
kfile = Pat + Mid(kss, qian, Len(kss) - qian + 1)
Else
kfile = Pat + Mid(kss, qian, k - qian)
End If
If Len(ActiveForm.rtfText.Text) <> 0 Then LoadNewDoc
ActiveForm.rtfText.LoadFile kfile
ActiveForm.Caption = kfile
qian = k + 1
Loop While k <> 0
Else
If Len(ActiveForm.rtfText.Text) <> 0 Then LoadNewDoc
ActiveForm.rtfText.LoadFile dlgCommonDialog.FileName
ActiveForm.Caption = dlgCommonDialog.FileName
End If
End Sub
这是用VB5写的一个文本编辑器,执行的操作是打开多个文件。现在可以不用这么麻烦,直接用split命令就可以分隔开各个文件。
Private Sub mnuFileOpen_Click()
Dim Pat, kss, kfile As String
Dim Allfile As String
dlgCommonDialog.Flags = &H80000 + &H200
dlgCommonDialog.FileName = ""
dlgCommonDialog.ShowOpen
If dlgCommonDialog.FileName = "" Then Exit Sub
kss = dlgCommonDialog.FileName
qian = 1
k = InStr(1, kss, Chr(0))
If k <> 0 Then
Pat = Mid(kss, qian, k - qian) + "\"
qian = k + 1
Do
k = InStr(qian, kss, Chr(0))
If k = 0 Then
kfile = Pat + Mid(kss, qian, Len(kss) - qian + 1)
Else
kfile = Pat + Mid(kss, qian, k - qian)
End If
If Len(ActiveForm.rtfText.Text) <> 0 Then LoadNewDoc
ActiveForm.rtfText.LoadFile kfile
ActiveForm.Caption = kfile
qian = k + 1
Loop While k <> 0
Else
If Len(ActiveForm.rtfText.Text) <> 0 Then LoadNewDoc
ActiveForm.rtfText.LoadFile dlgCommonDialog.FileName
ActiveForm.Caption = dlgCommonDialog.FileName
End If
End Sub
这是用VB5写的一个文本编辑器,执行的操作是打开多个文件。现在可以不用这么麻烦,直接用split命令就可以分隔开各个文件。
解决方案 »
- vb MSFlexGrid1问题
- vb下,如何得到主板号?
- activereport报表,在一台机器上打出乱码(方块),如何办?
- 怎样判断不定的几个数的大小(或有几个相等)
- VB最新排名
- 怎么样做才能从数码中获取图像!
- help help!!!这个SELSECT语句如何写才能选出我所需要的记录~
- 搞软件已4年,没挣到几个钱,现在女优又跟有钱人跑了。各位兄弟,我郁闷......散分!散分!散分!散分!散分!
- 菜鸟在线等!!!!!!!!!!!!!!!!!
- 如何开发office excel 的com add-in 用vb
- 求救(急):数据库DAO数据到入问题
- Where is VB6.0 and MSDN(both English Version) to download?I need it urgently!
Split函数
描述返回一个下标从零开始的一维数组,它包含指定数目的子字符串。语法Split(expression[, delimiter[, count[, compare]]])Split函数语法有如下几部分:部分 描述
expression 必需的。包含子字符串和分隔符的字符串表达式 。如果expression是一个长度为零的字符串(""),Split则返回一个空数组,即没有元素和数据的数组。
delimiter 可选的。用于标识子字符串边界的字符串字符。如果忽略,则使用空格字符(" ")作为分隔符。如果delimiter是一个长度为零的字符串,则返回的数组仅包含一个元素,即完整的 expression字符串。
count 可选的。要返回的子字符串数,–1表示返回所有的子字符串。
compare 可选的。数字值,表示判别子字符串时使用的比较方式。关于其值,请参阅“设置值”部分。
设置值compare参数的设置值如下:常数 值 描述
vbUseCompareOption –1 用Option Compare语句中的设置值执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。
路径\0文件1\0文件2...
所以不能简单的当字符串处理.
用widnows api函数
GetStartPosition
GetNextPathName
来处理.