标题:求教:关于VFP生成以当前系统时间命名的文件
只看楼主
雨花石568
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2018-2-22
结帖率:100%
已结贴  问题点数:20 回复次数:10 
求教:关于VFP生成以当前系统时间命名的文件
我有一个名为xmk的表文件,还有一个表单,表单中有一个按钮,每次点击按钮都会生成一个以“姓名库+系统时间”为名的excel工作薄。
我写的按钮代码为

SET CENTURY on
SET DATE LONG
filename='姓名库'+DTOC(DATE())+STR(HOUR(DATETIME()),2)+'时'+STR(MINUTE(DATETIME()),2)+'分'+STR(SEC(DATETIME()),2)+'秒'
USE .\sysdbf\xmk.dbf
COPY To &filename TYPE xl5
USE

这个代码可以运行成功。但我想知道除此之外,还可以怎么写代码实现此功能。
求教大咖
搜索更多相关主题的帖子: 文件 生成 STR 时间 系统 
2022-12-24 17:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
这样行吗
?TTOC(DATETIME(),1)

坚守VFP最后的阵地
2022-12-24 17:32
雨花石568
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2018-2-22
得分:0 
回复 2楼 sdta
我想得到的文件名称为“姓名库2022年12月24日17时35分26秒”这样子的,不想用纯数字表示系统时间。
2022-12-24 17:36
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:5 
?Transform(ttoc(Datetime(),1),'@R 9999-99-99 99时99分99秒')
2022-12-24 18:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:5 
?Transform(ttoc(Datetime(),1),'@R 9999年99月99日99时99分99') + "秒"

坚守VFP最后的阵地
2022-12-24 18:52
雨花石568
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2018-2-22
得分:0 
回复 5楼 sdta
向前辈咨询一个问题。为什么我写的那个代码,运行时偶尔会出现错误提示“命令中含有不能识别的短语或关键字”?
2022-12-24 19:15
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:1 
当秒数为0秒时,文件名中会出现空格,所以会出现楼主所说的错误提示。

坚守VFP最后的阵地
2022-12-24 20:29
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:4 
设置日期时间格式,如:
SET HOURS TO 24
SET DATE TO ANSI
SET CENTURY ON
SET MARK TO '-'
2022-12-24 23:43
pvm2000
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:24
帖 子:159
专家分:256
注 册:2022-12-22
得分:0 
楼主一楼的写法就很稳
2022-12-25 08:12
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:5 
1. 用 ttoc(Datetime(),1) 方式就不用考虑日期和时间格式的设置,它总是 yyyyMMddhhmmss 格式
2. 随意使用宏替换是一种非常不好的习惯,一楼代码中的 copy to ... 应该使用变量表达式
   COPY To (m.filename) TYPE xl5
   Windows 文件名允许其中包含空格,但如果使用宏替换,万一路径或文件名中出现空格,就会将替换后语句变成类似这样
   COPY To D:\aaa\bbb cc\xm20221225 121035  TYPE xl5     自然也就被 vfp 识别为含有不能识别的短语或关键字
   一定要用宏替换的话,也应在 &filename 两边加上双引号
2022-12-25 12:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511007-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.059521 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved