VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 关于公共对话框控件选取多个文件的问答
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:8383, 日期:2001-06-18
zj 问:
请问各位大侠:我用公共对话框控件选取多个文件时,每次最多只能选取19个文件,请问如何不受限制?

海天 答:
把它的flags属性设成512试试
如果再不行的话,请把你的代码贴上来!!!

网狐 答:
这个是把maxsize属性设置成最大为约32000的一个较大数,默认的只有几百。。。
另外,你们能不能告诉我你们得到多个文件的filename后是怎么处理成字符串数组的吗?我总觉得自己做得不好

zj 答:
答复网狐
另外,你们能不能告诉我你们得到多个文件的filename后是怎么处理成字符串数组的吗?我总觉得自己做得不好
`放一个公共对话框名为OpenYt
Private Sub WzI2aToG()
Dim GzPath As String, I2afile(0 To 256) As String, Gfile As String
Dim GzFile As String, ii%, kk%
On Error Resume Next
OpenYt.CancelError = True
OpenYt.Flags = cdlOFNHideReadOnly
OpenYt.DialogTitle = "打开文本文件"
OpenYt.Filter = "所有文本文件(*.txt)|*.txt|"
OpenYt.FilterIndex = 1
OpenYt.FileName = ""
OpenYt.Flags = cdlOFNAllowMultiselect
OpenYt.Action = 1
GzFile = OpenYt.FileName
If GzFile = "" Then Exit Sub
kk = InStr(GzFile, " ")
If kk = 0 Then
    GzPath = Left$(GzFile, Len(GzFile) - 12 - 1)
    I2afile(0) = Right$(GzFile, 12)
    Exit Sub
End If
GzPath = Left(GzFile, InStr(GzFile, " ") - 1)
GzFile = Right(GzFile, Len(GzFile) - Len(GzPath) - 1)
ii = 0: kk = InStr(GzFile, " ")
Do While kk <> 0
    I2afile(ii) = Left$(GzFile, kk - 1)
    GzFile = Right(GzFile, Len(GzFile) - kk)
    kk = InStr(GzFile, " ")
    ii = ii + 1
Loop
I2afile(ii)=GzFile
`在I2AFILE中即为你所需的字符串数组,路径为GzPath
End Sub