:44.967KB : :1 :2019-12-16 16:22:17
文件列表.结构大小 = 76 ' 文件列表.lStructSize = 76
文件列表.窗口句柄 = 窗口句柄 ' 文件列表.hwndOwner = 窗口句柄
文件列表.过滤器 = 子字节集替换 (到字节集 (过滤器), { 124 }, { 0 }, , ) + { 0 } + { 0 }
' 文件列表.lpstrFilter = 子字节集替换 (到字节集 (过滤器), { 124 }, { 0 }, , ) + { 0 } + { 0 }
文件列表.文件名 = 取空白字节集 (文件缓冲数)
' 文件列表.lpstrFile = 取空白字节集 (文件缓冲数) ' 文件名缓冲区,决定能选择文件的多少,如果平均一个文件名100个字符,一次也可以选80多个文件了
文件列表.文件名最大长度 = 文件缓冲数 ' 文件列表.nMaxFile = 文件缓冲数
文件列表.文件标题 = 取空白文本 (文件缓冲数) ' 文件列表.lpstrFileTitle = 取空白文本 (文件缓冲数)
文件列表.文件标题最大长度 = 文件缓冲数 ' 文件列表.nMaxFileTitle = 文件缓冲数
文件列表.初始目录 = 初始路径 ' 文件列表.lpstrInitialDir = 初始路径
文件列表.标题 = 窗口标题 ' 文件列表.lpstrTitle = 窗口标题
' 文件列表.flags = 524800 ' 原来的
文件列表.标志 = 窗口风格3 ' 文件列表.flags = 窗口风格3
.如果 (GetOpenFileName (文件列表) ≠ 0) ' 打开文件成功
文件 = 文件列表.文件名 ' 文件名 = 文件列表.lpstrFile
文件 = 取字节集左边 (文件, 寻找字节集 (文件, { 0, 0 }, ) - 1)
.如果 (寻找字节集 (文件, { 0 }, ) ≠ -1) ' 是否选择多个文件
文件名数组 = 分割文本 (到文本 (子字节集替换 (文件, { 0 }, { 124 }, , )), “|”, )
.如果真 (取文本右边 (文件名数组 [1], 1) ≠ “\”) ' 选择多个文件时,第一个数组为路径名,后面为不包括路径的文件名
文件名数组 [1] = 文件名数组 [1] + “\”
.如果真结束
.计次循环首 (取数组成员数 (文件名数组) - 1, XH)
.如果 (取数组成员数 (文件名数组) - 1 ≠ XH) ' 最后一个文件名不用加分隔字符“;”
多选文件 = 多选文件 + 文件名数组 [1] + 文件名数组 [XH + 1] + “;”
.否则
多选文件 = 多选文件 + 文件名数组 [1] + 文件名数组 [XH + 1]