| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2856 人关注过本帖
标题:如何选择多个文件?
只看楼主 加入收藏
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
收藏
得分:0 
以下是引用TonyDeng在2011-9-12 11:39:35的发言:

再给你一个思路,以后多想想我今天所说的,带得进就入门了。

想过用Grid没有?
也考虑过用grid!
2011-09-12 15:40
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
收藏
得分:0 
以下是引用TonyDeng在2011-9-12 12:56:52的发言:

针对“现成”的问题再说几句:

有人觉得,VFP中关于DateTime数据类型的DTOC()或DTOS()函数很好用了,现成的,要把日期{^2011.09.12}转换为字符型"2011-09-12",先DTOC()成"2011.09.12",再用CHRTRAN()把句号.换成减号-,两条语句很高效了。事实真是这样吗?

其实,熟悉CHRTRAN()查找-替换算法的人,都知道要在字符串"2011.09.12"中找到"."的位置,是从头开始逐个字符比较,如果它是".",就删掉(此时要移动后面一串字符),然后再把替换的字符"-"插入原先"."的位置(又把后面的一串字符移动一次),这个搬动字符的过程是不可免的,因为CHRTRAN()函数设计的时候,并不是要等长替换,即一个字符"."换一个字符"-",而是可以一个字符"."换一串字符如"$$$"(或者多换少)等等,所以它无法事先知道该保留多少空隙不移,则只能密合了之后再分开,以保证不会出错。这是一个复杂的动作,何况现在所需要的不是只做一次替换就完了,而是要不断地找,直到再没有"."符号为止。

再看VFP的DateTime数据类型实际格式,它其实是C中的结构struct,与操作系统的内部格式相同,即类似如下的结构:
struct DateTime
{
    int Year;
    int Month;
    int Day;
    int Week;
    int Hour;
    int Minute;
    int Second;
};
这样的数据结构,才能很方便地计算日期,比如Excel中那个计算日期差的函数,就是用这样的数据计算的,所以能够很方便地得到年差、月差、日差之类的结果(很简单,用年减之后乘12就有月差了,再加一下就成,没有复杂的运算)。所以,VFP中的YEAR()函数其实非常简单,就是把上面结构中的Year值提取出来而已。而恐怕很多人不知道的地方,是VFP的数值存储形式,其实全部是字符型(即使是双精度浮点数也是如此,即DateTime也是一串数字型字符而已,本来就是DTOS()那样的"20110912"格式,DTOC()反而复杂了),因此,YEAR()的操作,完全是不费吹灰之力,连数据类型转换都不用(所谓数据类型转换,其实是语言表面上的东西,让程序员写程序时逻辑清晰的,事实上VFP没做那种动作)。明白这个原理,也就知道VFP那一大堆SET DATE TO格式指令没有任何神秘之处。

也就是说,我们要达到目的,用STR(YEAR(d),4)+"-"+PADL(MONTH(d),2,'0')+"-"+PADL(DAY(d),2,'0')其实是最高效的,因为就是若干字符串相加而已,没有搜索、没有替换、没有挪移、没有……这个就是DTOC()函数的内部行为。

现成,优越得到哪去!不要以为走过头了再返回来修修补补,表面代码少了,就事实上也高效。微软指南:优秀的程序员应该反复提醒自己,“少的源代码未必产生高效的机器码!”
给我们说的很详细,对我们编程思想指导也很大!学习了!
2011-09-12 15:53
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
以下是引用曾震在2011-9-12 09:33:20的发言:

我系统的看了!而且看了很多遍,但是一本正版的书还有很多错误,真的不知道现在编书的怎么了?你给推荐一本吧?没有好的教材看着也费劲,还学不会!
现在的VF教科书确实太多了,楼主只要有一本基础入门教材就行了,书中有错误难免,问题可以放到论坛上自会有网友帮你。
基础打好了就好办了。
张洪举著的《Visual ForxPro 权威指南》是很权威的教材,对初学者也有学习参考价值。

相互学习,互相交流,共同提高。
2011-09-13 08:52
曾震
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2011-9-8
收藏
得分:0 
以下是引用qjbzjp在2011-9-13 08:52:50的发言:

现在的VF教科书确实太多了,楼主只要有一本基础入门教材就行了,书中有错误难免,问题可以放到论坛上自会有网友帮你。
基础打好了就好办了。
张洪举著的《Visual ForxPro 权威指南》是很权威的教材,对初学者也有学习参考价值。
《visual foxpro6.0中文版程序员操作指南》适合我们看吗?其实我稍微有一些基础!
2011-09-13 20:37
快速回复:如何选择多个文件?
数据加载中...
 
   



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

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