回 帖 发 新 帖 刷新版面

主题:如何对多个以日期为名称的文本进行选择处理!

如有以下的文本文件,是按日期起名的一年的文本文件
20070101.txt 20070102.txt   ....... 20071230.txt 20071231.txt

我想用第一个文本框text1输入开始日期如:20070201字符
      第二个文本框text2输入结束日期如:20070630字符
再按命令按钮就能执行对20070201至20070630之间的所有文本进行读取,在每一个文本文件的每一行前面插入以该文本文件日期名称的字符
操作,怎么样做
请高手帮忙啊!谢谢[em7][em7]

回复列表 (共5个回复)

沙发

1.先取得所有文件名,保存在一个临时文件中
2.根据文本框的选择,定位或者再抽取所有需要处理的文件名
3.打开文件
4.处理工作
5.关闭文件

板凳

命令按钮click 事件中写入:
ntxtcnu=ADIR(atxtFile,"200*.txt")
ASORT(atxtFile)
txt1=""
FOR i=1 TO ntxtcnu
    n1=VAL(atxtFile[i])
    IF BETWEEN(n1,20070201,20070630)
        txt1=txt1+STR(n1,8)+FILETOSTR(atxtFile[i])+CHR(13)+CHR(10)
    ELSE
        IF n1>20070630
            EXIT
        ENDIF
    ENDIF
ENDFOR

?txt1

3 楼

以上的 txt 文件的目录不是当前路径,必须在文件名前添加路径!!!

4 楼

cbl518
你真是高手呀,我的每一个问题你都能解答,谢谢你!以后还要向你多请教呀
但我执行到命令n1=VAL(atxtFile[i])
出现提示错误显示函数参数类型的值无效!为什么呀

我在当前目录下建了6个文本文件,是20070201.txt,20070201.txt20070401.txt20070501.txt20070629.txt20070630.txt

5 楼

命令按钮click 事件中写入:
ntxtcnu=ADIR(atxtFile,"200*.txt")
ASORT(atxtFile)
txt1=""
FOR i=1 TO ntxtcnu
    n1=VAL(atxtFile[i,1])
    IF BETWEEN(n1,20070201,20070630)
        txt1=txt1+STR(n1,8)+FILETOSTR(atxtFile[i,1])+CHR(13)+CHR(10)
    ELSE
        IF n1>20070630
            EXIT
        ENDIF
    ENDIF
ENDFOR

?txt1

我来回复

您尚未登录,请登录后再回复。点此登录或注册