首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于dir()的有关问题

2012-09-24 
关于dir()的问题在嗷嗷叫的老马空间中下载了一个“尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(V

关于dir()的问题
在嗷嗷叫的老马空间中下载了一个“尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)”软件学习
测试如下:

VB code
Private Sub Command1_Click()    On Error GoTo err1    If Dir("C:\Documents and Settings\Administrator\桌面\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\Server\RecvTemp\新建文件夹\新建文件夹\PO Quotation _6-20-2011-CHN List-昆仑DPSys数据保护系统Jun 20,2011.xls") <> "" Then    'If Dir("C:\Documents and Settings\Administrator\桌面\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\尝试做了一个利用WINSOCK控件的自动分包发送机制的东东(VB6.0)\Server\RecvTemp\新建文件夹\新建文件夹\1.doc") <> "" Then        MsgBox "文件找到"    Else        MsgBox "文件未找到"    End If    Exit Suberr1:    MsgBox Err.DescriptionEnd Sub

用第一个dir测试查找文件一直会报错,用第二个测试找到文件,在该文件夹下存在该文件的。
还有一个发送数据分隔符的选择下面用的是“,”而我发送的文件中存在上述的文件名含有“,”字符的,解析部分肯定出错,各位有没有遇到过,怎么解决?
.SendData CLI_READY_SENDDATA & _
  "," & GetUploadFileName(theFileList(lIndex), txtFile.Text) & _
  "," & FileLen(theFileList(lIndex)) '发送"准备发送数据"


[解决办法]
VB code
Shell "dir /b /a-d c:\\*.* >d:\\allfiles.txt",vbHide'读文件d:\\allfiles.txt的内容即C:\\下所有文件的名字Shell "dir /b /ad  c:\\*.* >d:\\alldirs.txt",vbHide'读文件d:\\alldirs.txt的内容即C:\\下所有子目录的名字
[解决办法]
在msvbvm60里面Dir有些限制,也许算bug吧.
其实根本不是文件存在不存在的问题,结果msvbvm60扔出来的是异常.而不是正常的结果.正常结果要不dir返回文件名,要不返回空字符串.
LS说的不错,不过能用vb内部函数dir解决的,谁能想到用shell解决?

传输数据里面有","作为分隔符,文件名里面也有",",其实分隔符应该用文件名里面不允许的符号,比如<>*?"|\/作为分隔符.
[解决办法]
最简单的办法,改一个分隔符,文件名中肯定不会出现Chr(0)这个字符,所以用这个作分隔符最合适
[解决办法]
路径太长了,超过限制了,你可以在命令行下用DIR试试看。
累不累呀还是太懒了,用那么长的目录。

热点排行