卫和谐
发表于 2010-12-3 10:40:49
补充更正一下,是因为文件名字中前面含有==,如“==精美图文==”这样的文件夹,获取短文件名会失败,AFAN帮助解决 下!{:face (229):}
afan
发表于 2010-12-3 10:48:22
回复 121# 卫和谐
没问题啊~
卫和谐
发表于 2010-12-3 10:52:46
本帖最后由 卫和谐 于 2010-12-3 10:53 编辑
你加密后,解密时试,加密时可以!如“==精美图文==.”
afan
发表于 2010-12-3 10:54:49
回复 123# 卫和谐
你指的加密是?
卫和谐
发表于 2010-12-3 11:24:54
是我说的不明白,我是说加点(命名)和不加点(重命名)!{:face (303):}
afan
发表于 2010-12-3 11:44:59
回复 125# 卫和谐
测试了,完全没问题。
其它的文件名试过吗?还是都不行?那你的系统应该是Win7?
卫和谐
发表于 2010-12-3 11:50:23
在U盘上建个名字如“==精美图文==.”的文件夹,你再获取它的文件名试 一下!
afan
发表于 2010-12-3 11:53:14
回复 127# 卫和谐
试过了,正常
卫和谐
发表于 2010-12-3 12:44:58
邪门了,怎么我的不行,在硬盘分区的话就正常!
chenronting
发表于 2010-12-12 19:50:49
你好,我发现你写的那个UDF 有一个很有意思的现象。
情况1:直接双击桌面下的AU3文件,可以得到正确的短文件名
情况2:在SCITE编辑器里按F5运行,得到 0
情况3:编译好的文件,直接运行,得到正确的短文件名
情况4:加了参数运行这个程序,得到 0
猜想,是不是加参数运行与在SCITE编辑器里运行, 是同一种环境。。
不知道 AFan 有没有时间改改呢, 谢谢了。
afan
发表于 2010-12-12 20:01:16
回复 130# chenronting
我刚才试了一下,我这是正常的…
情况4不知是如何测试的,猜想可能和工作目录有关
chenronting
发表于 2010-12-12 20:08:33
本帖最后由 chenronting 于 2010-12-12 20:10 编辑
回复 131# afan
就是加上参数, 不管什么, 参考一下下面的代码If $CmdLine <> 0 Then
If $CmdLine = 'RunByCustomers' Then
$TabSheet1State = 0
Else
$TabSheet1State = 1
_FTPConnection()
EndIf
Else
_FTPConnection()
EndIf而我用BAT 运行这个程序加上参数, 就会得不到短文件名
如果直接运行程序, 就可以得到正确的短文件名
BAT文件内容维修记录工具.exe RunByCustomers
afan
发表于 2010-12-12 20:16:23
回复 132# chenronting
还是正常
chenronting
发表于 2010-12-12 22:11:39
回复 133# afan
谢谢, 我用别的办法解决了, 不过不是很完美, 唉, 可能是环境的问题吧。郁闷。While $_duan8 = 0
For $_duan8I = 1 To 6
$_duan8 = FileGetLongName("D:\大众电~" & $_duan8I)
If Not @error Then
If StringCompare($_duan8, $_weizi & $_filename) = 0 Then
$_duan8 = '大众电~' & $_duan8I
ExitLoop (2)
EndIf
EndIf
Next
If $_duan8I >= 6 Then Exit (MsgBox(4096, '提示', '没有找到保存数据的文件夹,程序装退出', 3));如果循环完就退出
WEnd
pingfan5888
发表于 2010-12-25 07:02:02
蛮不错的,看看。
页:
1
2
3
4
5
6
7
8
[9]
10