VB 能否用二维数组解决,求高手帮忙!

[复制链接]
查看11 | 回复2 | 2008-7-29 19:10:31 | 显示全部楼层 |阅读模式
. Private Sub Command4_Click()
'添加新的备份的文件
Dim L As Long
For L = 0 To List2.ListCount - 1
If List2.Selected(L) = True Then
On Error GoTo ExitErr
Dim FileManyAddress As String, Files() As String, StrFileName As String
Dim I As Long, X As Long
With CommonDialog1
.InitDir = List2.List(L)
.DialogTitle = "添加文件"
'ToDo: 设置 common dialog 控件的标志和属性
.Filter = "所有文件 (*.*)|*.*"
.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer Or cdlOFNNoChangeDir
.ShowOpen
If Len(.filename) = 0 Then
Exit Sub
End If
FileManyAddress = .filename
End With
Files = Split(FileManyAddress, Chr(0))
'-----单一文件处理部分----
If UBound(Files) = 0 Then
ReDim Preserve Files(1)
I = InStrRev(Files(0), "\")
Files(1) = Mid(Files(0), I + 1)
Files(0) = Left(Files(0), I - 1)
End If
'--------------------------
For I = 1 To UBound(Files) 'files(0) 就是这些文件的路径
For X = 0 To List3.ListCount
If Files(I) = List3.List(X) Then Exit For
Next
If Files(I) = List3.List(X) Then MsgBox Files(I) + Space(2) + "重复添加!", vbInformation + vbOKOnly, "重复的文件名"
If Files(I)List3.List(X) Then List3.AddItem Files(I)
Next
'备份的文件写入INI
With List3
WritePrivateProfileString "FileExtYes" & L + 1, "Count", .ListCount, IniPath
For X = 1 To .ListCount
WritePrivateProfileString "FileExtYes" & L + 1, "FileExt" & X, .List(X - 1), IniPath
Next
End With
'更新文件类型数组变量内容
Call FileExtToArr
End If
Next
ExitErr:
End Sub
'==================================================
Private Sub FileExtToArr()
'把文件名放入变量
Dim L As Long, I As Long
'哪个选项被选中
For I = 0 To 2
If Option2(I).Value = True Then FileExtIndex = I
Next

'需要备份的文件类型扩展名
SdirNum = List2.ListCount
For L = 1 To List2.ListCount
FileExtYesNum = List3.ListCount
ReDim FileExtYes(0 To SdirNum, 0 To FileExtYesNum) As String
For I = 1 To List3.ListCount
FileExtYes(L, I) = UCase$(List3.List(I - 1))
Next
Next
End Sub

list2添加的是路径(是正确的),list3添加的是文件名(可以正确添加),其中对INI的操作也正确.
由于路径的不同,对于每个路径添加的文件名也不同.
我想通过一个二维数组来实现FileExtYes(L, I).但我调用的时候,发现FileExtYes(L, I)是空的
ini里添加的内容是:[FileExtYes1]
Count=5
FileExt1=新建 文本文档.txt
FileExt2=1216133909908.gif
FileExt3=22.doc
FileExt4=复件 22.doc
FileExt5=复件 新建 文本文档.txt
[FileExtYes2]
Count=5
FileExt1=sheji[1].swf
FileExt2=index[1].swf
FileExt3=MTV1[1].swf
FileExt4=sheji2[1].swf
FileExt5=sheji3[1].swf
求高手帮忙解决.
可以加QQ:251877768,探讨问题的详情!

回复

使用道具 举报

千问 | 2008-7-29 19:10:31 | 显示全部楼层
Private Sub FileExtToArr() '???????都???菽?
Dim L As Long, I As Long
For I = 0 To 2
If Option2(I).Value = True Then FileExtIndex = I
Next
SdirNum = List2.ListCount
FileExtYesNum = List3.ListCount
ReDim F
回复

使用道具 举报

千问 | 2008-7-29 19:10:31 | 显示全部楼层
与你在QQ中基本解决了此问题,祝你成功!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行