注册 登录
编程论坛 VFP论坛

照着一本书学习用类写个用在日历上的按钮,没有学会。到这里找高人学习学习

Wayneboc 发布于 2023-10-17 20:54, 660 次点击
只有本站会员才能查看附件,请 登录

相关资料和问题在附件中
11 回复
#2
laowan0012023-10-17 21:27
this_date={^&c_year..&c_month..&c_day}    看不懂这句,尤其是^  &分别是什么意思,这行代码是给this_date赋什么值?为什么赋这个值?
这是给变量赋值一个日期,&是宏,{}中应该是年,月,日,这些在帮助里可以找到

this.parent.refre.click       refre是什么意思,我查帮助文件没有查到。
这种写法翻译过来就是:执行  当前控件(this)的上级控件(parent通常是容器或表单)中的控件refre(是控件的name,所以在帮助里查不到)的click事件

如果是初学VFP,不建议一上来就写类,还是从表单开始,掌握控件的使用,对各控件有个基本的了解,等到一定程度了再写类,你的问题其实都是基础知识不了解带来的问题

类是由控件派生出来的控件,用于某种特定场合,所以,还是要先掌握控件的使用

加油

[此贴子已经被作者于2023-10-17 21:59编辑过]

#3
Wayneboc2023-10-18 08:22
    谢谢楼上laowan001的指导。我就是好奇,想学习一下,我自己暂时还不会独立地给客户工作。有问题寝食难安,希望您理解。
    您的观点(初学VFP,不建议一上来就写类)很正确。有些菜单式的类,我用一个命令组就能完成。我只想把这个和日历相关的类学会而已。
    因此,还有两个问题麻烦您教我:
    一、代码中有一段“请见光盘”那一段我不会写,麻烦您给补上行吗?
    二、this_date={^&c_year..&c_month..&c_day} 中的 ^  是什么意思?
    三、类封装后,就打不开了。我去打开,就显示“类名无效”。请问,我想修改已经被封装的类有办法吗?
#4
csyx2023-10-18 13:55
这种垃圾教程不搞懂比搞懂的好,免得一开始就练坏手
无论简单的函数运用,还是进阶的类设计基本原则,教程中的代码都完美的体现了什么叫误人子弟
#5
laowan0012023-10-18 16:00
程序代码:
日期时间型数据类型
按年代顺序排列的数据,由年、月、日、小时、分、秒组成
例如,到达的日期和时间
当使用严格日期格式时,{^0001-01-01},公元1年1月1日上午00:00:00到 {^9999-12-31},公元9999年12月31日下午11:59:59

日期型数据类型
按年代顺序排列的数据,由年、月、日组成
例如,一个订单的日期
当使用严格日期格式时,{^0001-01-01},公元1年1月1日到 {^9999-12-31},公元9999年12月31日。

 
这是VFP9的帮助文件里的内容

[此贴子已经被作者于2023-10-18 16:01编辑过]

#6
laowan0012023-10-18 16:09
以下是引用Wayneboc在2023-10-18 08:22:05的发言:

    谢谢楼上laowan001的指导。我就是好奇,想学习一下,我自己暂时还不会独立地给客户工作。有问题寝食难安,希望您理解。
    您的观点(初学VFP,不建议一上来就写类)很正确。有些菜单式的类,我用一个命令组就能完成。我只想把这个和日历相关的类学会而已。
    因此,还有两个问题麻烦您教我:
    一、代码中有一段“请见光盘”那一段我不会写,麻烦您给补上行吗?
    二、this_date={^&c_year..&c_month..&c_day} 中的 ^  是什么意思?
    三、类封装后,就打不开了。我去打开,就显示“类名无效”。请问,我想修改已经被封装的类有办法吗?

一、详见光盘,那就是让你买光盘,或者代码量较大。你的“背景”里也没说明这个控件是个什么样子,具有什么功能,有哪些操作,这就没法写代码了
二、那个^是日期格式中的一个字符,表明是个日期格式的内容,就象邮箱里会有个@,也不好说清楚这个@是什么意思
三、你是怎么打开的?每个类对应磁盘上会有两个不同扩展名的文件,vcx和vct,双击可以打开

#7
laowan0012023-10-18 16:11
4楼版主的话也是肺腑之言,望你能听进去,如果你真有那个好奇心,那就从基础学起吧,这已经是最捷径的路了
#8
Wayneboc2023-10-18 21:56
    再次感谢laowan001的帮助。
    三、你是怎么打开的?每个类对应磁盘上会有两个不同扩展名的文件,vcx和vct,双击可以打开
    day.vcx是我照着书写的,封装之后,就再也打不开了。总是显示“类名无效”。如果双击,会出现一个对话框让你打开day.vcx,然后显示“类名无效”
    我的问题是,如果把一个vcx封装后,是不是就打不开了。想改改是不可能的了。
    是这样的吗?如果不是,有打开封装后的类的办法吗?
#9
shizi02023-10-19 00:12
类就是2个文件,是可以随时打开修改的。
至于“类名无效”,建议改下文件名试试。或者存储时出现了某种意外情况,文件损坏也有可能。建议学习的话不必在意这个。
#10
laowan0012023-10-19 07:28
以下是引用Wayneboc在2023-10-18 21:56:45的发言:

    day.vcx是我照着书写的,封装之后,就再也打不开了。总是显示“类名无效”。如果双击,会出现一个对话框让你打开day.vcx,然后显示“类名无效”
出现对话框里要点击day.vcx那个文件就能打开了,我就是这么打开的,用的是你附件中的day

#11
Wayneboc2023-10-19 21:30
谢谢楼上laowan001的帮助
我原来是 文件--打开--可视类库---点击day.vcx  就出现“类名无效”
刚才我   工具---类浏览器---打开(一本张开的书模样的图标)--选择day.vcx    就打开了。

#12
esailor2023-10-24 09:54
读书苦,苦读书,苦中作乐!
1