中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] [3] »
作者:
标题: 文件夹中所有文件内容求和 上一主题 | 下一主题
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 16 楼』:  

你给一个当天(昨天,或是今天)的水电费的内容,不说清楚怎么写啊?
难道是1.txt文件里只有下面这些内容吗?
水电费:569
合同金:658
外援费:56666

2007-2-6 02:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 17 楼』:  

是的

2007-2-6 09:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 18 楼』:  

用VBS写的,首先要把昨天生成的文件以日期形式命名如:2006-2-6.txt。在你输入价格之后它会生成两个文件,一个是以当天命名的文件(如:2007-2-7.txt),这里记录的是今天的金额,还有一个文件是“今天和昨天的差额.txt”,这里记录的是昨天和今天的差额。(所以“今天和昨天的差额.txt”这个文件每天都会改变,自己试一下...)
dim jintian
Set ws=CreateObject("wscript.shell")
Set fso=CreateObject("scripting.filesystemobject")

Set fle=fso.opentextfile(dateadd("d",-1,date) & ".txt")
Do While fle.atendofstream<>true
m=fle.readline
ff=replace(m,glhz(m),"")
s=s & chae(ff,glhz(m)) & vbcrlf
loop
fle.close

Set file=fso.createtextfile(date & ".txt")
file.write jintian
file.close

Set file=fso.createtextfile("今天和昨天的差额.txt")
file.write s
file.close
ws.run "notepad.exe 今天和昨天的差额.txt",,true
msgbox "请查看【" & date & ".txt】文件,看看输入是否正确。",4096+48,"操作完成"

Function chae(xm,je)
do until a=1
sdf=inputbox("请输入【" & xm & "】的金额:",xm)
if sdf="" then
wscript.quit
elseif IsNumeric(sdf)<>true then
msgbox "输入错误,请重新输入。",16+4096,"错误"
else
a=1
end if
loop
chae=xm & sdf-je
jintian=jintian & xm & sdf &vbcrlf
a=0
End Function

Function glhz(zhifu)
a=Len(zhifu)
For i=1 To a
b=Mid(zhifu,i,1)
If IsNumeric(b)=True or b="." then
glhz=glhz&Mid(zhifu,i,1)
End if
next
end Function
[ Last edited by jmz573515 on 2007-2-6 at 01:04 PM ]

   此帖被 +10 点积分       点击查看详情   
评分人:【 redtek 分数: +10  时间:2007-2-7 23:52


2007-2-7 01:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 19 楼』:  

真的谢谢楼上的兄弟
我想用bat生成,效果差一点,也没有关系
vbs,我不懂。所以不能灵活运用,在现实的工作中
再次感谢你!!

2007-2-7 01:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 20 楼』:  

运行不了,报错

2007-2-7 01:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 21 楼』:  

可以运行了,但是,每次输入,明明只有三项,第四项是什么呀,如果第四项不输入的话,就不能生成哪两个txt文件,可我哪里没有第四项呀?

2007-2-7 01:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 22 楼』:  

那是你昨天的文件最后有两个空行,删除一个空行就好了。

2007-2-7 01:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 23 楼』:  

我试试
可以了
vbs,功能和界面确实强
我想学习一个vbs
就从,你的vbs学起,能指点一下吗?

[ Last edited by anqing on 2007-2-7 at 02:07 AM ]

2007-2-7 02:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 24 楼』:  

我也是菜鸟类~:(
不过可以给你点建议,多看别人的代码,自己研究就是了。

[ Last edited by jmz573515 on 2007-2-6 at 01:10 PM ]

   此帖被 +4 点积分        点击查看详情   
评分人:【 anqing 分数: +4  时间:2007-2-7 02:19


2007-2-7 02:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 25 楼』:  

我想弄懂,你的这个v,然后能灵活运用它
每天的项目不一定,就只有三项,也许有天会增加,减少
我运行一下,这个v好像是取前一天的名称项目,如果第二天没有哪个项目的话,也会要求输入它的数值,只好输入0了
总知
先学会看懂这个v吧

2007-2-7 02:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 26 楼』:  



  Quote:
Originally posted by jmz573515 at 2007-2-7 02:07:
我也是菜鸟类~:(
不过可以给你点建议,多看别人的代码,自己研究就是了。

[ Last edited by jmz573515 on 2007-2-6 at 01:10 PM ]

我个人表达能力不算强,但你认真地看懂了,并且用所学的知识,vbs脚本,把它写出来,这种创造力的能力,已经不简单了!
佩服

2007-2-7 02:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 27 楼』:  

我想弄懂,你的这个v,然后能灵活运用它
每天的项目不一定,不是只有三项,也许每天会增加,减少项目!?
我运行一下你的v,这个v好像是取前一天的名称项目,如果第二天没有哪个项目的话,也会要求输入它的数值,如果不输入的话,就不能生成哪两个txt文件,这个怎么解决?

如果没有,能不能敲一个回车跳过,继续其它名称项目
还有一些细节问题没有解决?

2007-2-7 02:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 28 楼』:  

自己顶起,因为,问题没有全部解决

2007-2-7 06:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 29 楼』:  

兄把第18楼jmz573515兄代码每行都加入中文注释:)

虽没学过VBS,但兄如果全加上注释并再找一个VBS命令索引或可以查询VBS函数或语法的帮助文件,这样就可自己修改并无师自通啦:)

[ Last edited by redtek on 2007-2-7 at 10:46 AM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2007-2-7 23:45
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
anqing
高级用户




积分 859
发帖 413
注册 2006-8-14
状态 离线
『第 30 楼』:  

谢谢r兄
昨天学了一下vbs
自己改一下
dim jintian
Set ws=CreateObject("wscript.shell")
Set fso=CreateObject("scripting.filesystemobject")

Set fle=fso.opentextfile(dateadd("d",-6,date) & ".txt")
Do While fle.atendofstream<>true
m=fle.readline
ff=replace(m,glhz(m),"")
s=s & chae(ff,glhz(m)) & vbcrlf
loop
fle.close

Set file=fso.createtextfile(date & ".txt")
file.write jintian
file.close

Set file=fso.createtextfile("今天和昨天的差额.txt")
file.write s
file.close
ws.run "notepad.exe 今天和昨天的差额.txt",,true
msgbox "请查看【" & date & ".txt】文件,看看输入是否正确。",4096+48,"操作完成"

Function chae(xm,je)
do until a=1

sdf=inputbox("请输入【" & xm & "】的金额:",xm)
if sdf="" then
wscript.quit
elseif IsNumeric(sdf)<>true then
msgbox "输入错误,请重新输入。",16+4096,"错误"
else
a=1
end if
loop
if sdf>0 then
chae=xm & sdf-je
end if
jintian=jintian & xm & sdf &vbcrlf
a=0
End Function

Function glhz(zhifu)
a=Len(zhifu)
For i=1 To a
b=Mid(zhifu,i,1)
If IsNumeric(b)=True then
glhz=glhz&Mid(zhifu,i,1)
End if
next
end Function
当没有项的时候,输入0,就可以了

2007-2-8 00:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: