- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                Visual FoxPro 6.0 数据库管理系统 教 程 第17章 Visual FoxPro 6.0程序实例——十进制计算器的设计与实现   以下是十进制计算器程序的界面,这个程序可以实现计算器的简单功能:加、减、乘、除、清0、开平方以及求倒数。这个计算器的功能还很有限,读者可根据本节后面的要求对此程序的功能进行扩展。   本表单共有控件21个(文本框1个,按钮20个),其中文本框NAME属性为“TEXT1”,清0按钮的NAME属性为“T_ CLEAR”,其余按钮的NAME属性可不改动。关于所有控件的其它属性读者可参考上图自行设置。  下面是为计算器表单所设计的程序代码: ■ FORM1.INIT事件代码 PUBLIC A,B,C,OP,V_DOT,V_OVER SET EXACT ON A=0 B=0 OP=“#” V_DOT=.F. V_OVER=.F. THISFORM.TEXT1.VALUE=“0”   设计思想:INIT事件在表单初始化时发生,在这个事件里通常进行程序的初始公工作,如定义公共变量并初始化,设置环境变量等等。  程序第一条语句:   PUBLIC A,B,C,OP,V_DOT,V_OVER    在此程序中主要实现两个操作数的运算,所以定义公共变量A、B、C分别表示第一个操作数、第二个操作数和操作结果。   两个操作数A、B要进行某种运算,变量OP表示操作符(运算符)。   设计思想:  程序第一条语句:   PUBLIC A,B,C,OP,V_DOT,V_OVER    在输入数据时要输入小数点,且小数点有一个数据中只能出现一次,所以定义变量V_DOT表示小数点是否出现过。   若某次运算已完成,文本框里的数据为操作结果,这时若输入数据应为一个新的操作数,否则输入的数据应该接在文本框中数据的尾部构成新数据。所以定义了一个变量V_OVER表示一次运算是否完成。 ■ 按钮     的CLICK事件代码(按钮0到9的代码与此相同) IF V_OVER    THISFORM.T_CLEAR.CLICK ENDIF IF THISFORM.TEXT1.VALUE=“0”    THISFORM.TEXT1.VALUE=THIS.CAPTION ELSE    THISFORM.TEXT1.VALUE=THISFORM.TEXT1.VALUE+THIS.CAPTION ENDIF ■ 按钮     CLICK事件代码  IF .NOT.V_DOT    THISFORM.TEXT1.VALUE=THISFORM.TEXT1.VALUE+THIS.CAPTION    V_DOT=.T. ENDIF        设计思想:若小数点还没使用,则将小数点加入数据,并将V_DOT的值设置成.T.。以使得不能在同一数据中两次输入小数点。 ■ 按钮     的.CLICK事件代码 (运算符-、*、/按钮的代码与此相同) A=VAL(THISFORM.TEXT1.VALUE) OP=THIS.CAPTION THISFORM.T_CLEAR.CLICK      设计思想:这些按钮的CLICK事件发生说明第一个操作数已输入完成,操作符已确定,并进入等待输入第二个操作数的过程。所以将文本框的值转换成数值后赋给变量A,将此按钮的CAPTION属性赋给变量OP,并将文本框清0。     在此代码中使用了按钮的CAPTION属性,所以在-、*和/按钮的CLICK事件中也使用此代码。 ■ 按钮    的CLICK事件代码  B=VAL(THISFORM.TEXT1.VALUE) IF OP=“/”.AND.B=0    WAIT WIND “错误:除数为零!”    RETURN ENDIF C=AOP.B V_OVER=.T. V_DOT=.T. THISFORM.TEXT1.VALUE=THISFORM.STR_VALUE(STR(C,20,10))   设计思想:此按钮的CLICK事件发生,说明第二个操作数已输入完成,所以将文本框的值转换成数值型赋给变量B。若操作符为/且第二个操作数为0,则输出“错误:除数为零!”的提示信息并结束此事件。否则进行运算,使用宏替换的方法方便的进行了A和B的四种运算。运算后V_DOT的值设为.T.,V_OVER的值设为.T.,并且把操作结果C的值转换为字符串并将处理后的值赋给文本框的VALUE属性。   STR_VALUE方法为用户自定义方法,其功能为去除操作结果小数点后的尾部的0,并且若处理后的结果没有小数部分则再去除小数点。 ■ 按钮       的CLICK代码 THISFORM.TEXT1.VALUE=“0” V_DOT=.F. V_OVER=.T.      设计思想:文本框的值清
                
原创力文档
                        
                                    

文档评论(0)