|
主题: 如何判断文件格式
|
望枫
职务:普通成员
等级:1
金币:1.0
发贴:155
|
#12002/8/5 8:35:08
aw中如何动态的判断某文件夹下文件的格式,并使之的值返回到一组字符串中?
|
魔岩
职务:版主
等级:6
金币:34.0
发贴:4453
|
#22002/8/5 9:19:20
所有这些用AW的内部函数就可以实现拉。。:D --取得文件列表 FileString:=Catalog(FileLocation,"F") --取得文件个数 FileNumber:=LineCount(FileString,Return) --初始化文件后缀名记录字符串 FileFixs:="" --取得文件后缀名 repeat with i:=1 to FileNumber FileNames:=GetLine(FileString,i) lastindex:=CharCount(FileNames) FileFix:=SubStr(FileNames,lastindex-2, lastindex) FileFixs:=FileFixs^FileFix^Return end repeat 范例下载: 判断文件后缀名8K
编辑历史:[这消息被Rock编辑过(编辑时间2002-08-05 09:27:25)]
|
望枫
职务:普通成员
等级:1
金币:1.0
发贴:155
|
#32002/8/5 9:43:31
帅呆了!!!!^_^
|
魔岩
职务:版主
等级:6
金币:34.0
发贴:4453
|
#42002/8/5 9:45:04
好。。拉多点人来提高这里的人气吧。。哈哈。。作为回报
|
望枫
职务:普通成员
等级:1
金币:1.0
发贴:155
|
#52002/8/5 10:09:54
那当然,我已经向我得同事和同学推荐你这个论坛了,我也从中学到了不少东西。 你上面那个程序,如果要进一步把相同的后缀,在最后就显示一个,不要全部显示,怎么办呢?(相当于判断文件夹下到底有几种格式的文件)
编辑历史:[这消息被望枫编辑过(编辑时间2002-08-05 10:18:15)]
|
5D荣誉斑竹
职务:普通成员
等级:3
金币:10.0
发贴:954
|
#62002/8/5 10:28:02
如果后缀是4个字母呢,那不久有BUG了吗!ROCK你觉得这样可以吗? 用str=catalog(filelocation,"f")取得指定文件夹下文件的列表,存储在自定义变量str中! --从第一行开始循环直到最后一行 repeat with n=1 to linecount(str) --取得每个文件的后缀,存储到自定义变量houzui中 houzui=substr(getline(str,n),find(".",getline(str,n))+1,charcount(getline(str,n))) --根据后缀判断文件类型 houzui=houzui^houzui^return
编辑历史:[这消息被虚竹编辑过(编辑时间2002-08-05 10:29:56)]
真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。
|
魔岩
职务:版主
等级:6
金币:34.0
发贴:4453
|
#72002/8/5 10:28:49
完整脚本。。。避免了重复的相同后缀 --取得文件列表 FileString:=Catalog(FileLocation,"F") --取得文件个数 FileNumber:=LineCount(FileString,Return) --初始化文件后缀名记录字符串 FileFixs:="" FileCRC:=0 --取得文件后缀名 repeat with i:=1 to FileNumber FileNames:=GetLine(FileString,i) lastindex:=CharCount(FileNames) FileFix:=SubStr(FileNames,lastindex-2, lastindex) FixsNumber:=LineCount(FileFixs,Return) repeat with k:=1 to FixsNumber FixsNames:=GetLine(FileFixs,k) if FixsNames=FileFix then FileCRC:=1 else FileCRC:=0 end if end repeat if FileCRC=0 then FileFixs:=FileFixs^FileFix^Return end if end repeat 范例下载: 判断文件后缀名8K
编辑历史:[这消息被Rock编辑过(编辑时间2002-08-05 10:39:37)]
|
小平
职务:普通成员
等级:1
金币:1.0
发贴:162
|
#82002/8/5 10:54:13
我写的取得文件后缀的方法,前面取得文件目录内文件不写了. repeat with i:=1 to LineCount(FileString,Return) FileName:=GetLine(FileString,i) FileFix[i]:=SubStr(str,RFind(".",filenames)+1,CharCount(filenames)) end repeat
|
5D荣誉斑竹
职务:普通成员
等级:3
金币:10.0
发贴:954
|
#92002/8/5 10:59:19
好,用rfind函数取代find函数,也解决了我提出的方案的问题!即如果有两个..怎么办!!好!好!后缀再多也不怕!呵呵!
真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。
|
魔岩
职务:版主
等级:6
金币:34.0
发贴:4453
|
#102002/8/5 11:03:41
标准后缀都是三个字母的呀。。呵呵 用Rfind方法好。。呵呵。。 找到最后一个匹配的.的位置,然后读后面的文件后缀。。
推荐AW5 的方法
|
魔岩
职务:版主
等级:6
金币:34.0
发贴:4453
|
|
望枫
职务:普通成员
等级:1
金币:1.0
发贴:155
|
#122002/8/5 17:50:05
相同的后缀还是会重复出现?????
|
魔岩
职务:版主
等级:6
金币:34.0
发贴:4453
|
#132002/8/5 20:36:14
你肯定是没有下载最新的版本 我在WIN2K的PRO和SERVER版本系统运行都正常啊
|
5D荣誉斑竹
职务:普通成员
等级:3
金币:10.0
发贴:954
|
#142002/8/5 20:36:47
的确:ROCK这段筛选后缀的语句还有问题: 后缀是都找对了!但是还是不能达到相同后缀不重复显示的效果!! repeat with k:=1 to FixsNumber FixsNames:=GetLine(FileFixs,k) if FixsNames=FileFix then FileCRC:=1 else FileCRC:=0 end if end repeat if FileCRC=0 then FileFixs:=FileFixs^FileFix^Return end if end repeat
我已经花了两个小时找了,还是找不出原因!! 大家快帮忙找找!!
编辑历史:[这消息被虚竹编辑过(编辑时间2002-08-05 20:48:23)]
真正的光明绝不是永没有黑暗的时间,只是永不被黑暗所湮没罢了;真正的英雄绝不是永没有卑下的情操,只是永不被卑下的情操所屈服罢了。
|
魔岩
职务:版主
等级:6
金币:34.0
发贴:4453
|
#152002/8/5 20:49:38
以下是我的执行界面。。一切正常啊。。你们怎么不正常拉? 图片如下:
|