📄 c++ builder 程序设计实用教程 - 2_5 日期时间组件 - 张晋 - 17xie.htm
字号:
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<H4><SPAN lang=EN-US>6</SPAN><SPAN
style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">.响应按钮事件</SPAN></H4>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">窗体上按钮的功能是,在程序运行的过程中,当用户在三个文本框中输入要查询的日期时,单击按钮就可以立刻在组件</SPAN><SPAN
lang=EN-US>Calendar1</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中显示出指定日期是星期几,能够实现以上功能的按钮响应代码如下所示:</SPAN></P>
<P class=a3><SPAN lang=EN-US>void __fastcall TForm1::Button1Click(TObject
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit2->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit3->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CSpinButton1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CSpinButton2->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CSpinButton3->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Timer1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>//</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置组件的有效状态</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CCalendar1->Year=StrToInt(Form1->Edit1->Text);</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CCalendar1->Month=StrToInt(Form1->Edit2->Text);</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CCalendar1->Day=StrToInt(Form1->Edit3->Text);</SPAN></P>
<P class=a3><SPAN lang=EN-US>//</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">查询文本框中显示的日期</SPAN></P>
<P class=a3><SPAN lang=EN-US>}</SPAN></P>
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<H4><SPAN lang=EN-US>7</SPAN><SPAN
style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">.运行程序</SPAN></H4>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">按照附后的程序清单添加代码。做完以上各步的工作后,选择菜单</SPAN><SPAN
lang=EN-US>File</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的</SPAN><SPAN
lang=EN-US>Save All</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项,在弹出的对话框中选择合适的文件名保存文件,然后按键盘上的功能键</SPAN><SPAN
lang=EN-US>F9</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行程序,在程序运行的初始画面中,可以在文本框中输入一个日期,然后单击“执行查询”按钮,程序运行的结果如图</SPAN><SPAN
lang=EN-US>2-24</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所示。</SPAN></P>
<P class=a0><SPAN lang=EN-US><IMG height=194
src="C++ Builder 程序设计实用教程 - 2_5 日期时间组件 - 张晋 - 17xie.files/5e317d10ff.jpg"
width=326 v:shapes="_x0000_i1028"></SPAN></P>
<P class=MsoCaption><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">图</SPAN><SPAN
lang=EN-US>2-24<SPAN style="mso-spacerun: yes"> </SPAN></SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">程序运行结果</SPAN></P>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们可以在三个文本框中依次的输入如下日期——</SPAN><SPAN
lang=EN-US>1978</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</SPAN><SPAN
lang=EN-US>10</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">、</SPAN><SPAN
lang=EN-US>20</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">,查询的结果表明</SPAN><SPAN
lang=EN-US>1978</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年</SPAN><SPAN
lang=EN-US>10</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">月</SPAN><SPAN
lang=EN-US>20</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">日为星期五。同时我们还可以发现,在窗体的标签组件中会动态显示系统当前的时间。</SPAN></P>
<P class=MsoNormalIndent><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">附程序完整源代码如下所示:</SPAN></P>
<DIV
style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 4pt; PADDING-BOTTOM: 1pt; BORDER-LEFT: windowtext 1pt solid; PADDING-TOP: 1pt; BORDER-BOTTOM: windowtext 1pt solid; mso-border-alt: solid windowtext .5pt; mso-element: para-border-div">
<P class=a2
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-padding-alt: 1.0pt 4.0pt 1.0pt 4.0pt; mso-border-alt: solid windowtext .5pt"><SPAN
style="FONT-FAMILY: 仿宋_GB2312; mso-ascii-font-family: 'Times New Roman'">程序清单</SPAN><SPAN
lang=EN-US
style="FONT-SIZE: 9pt; mso-bidi-font-size: 10.0pt"><o:p></o:p></SPAN></P></DIV>
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<P class=a3><SPAN lang=EN-US>#include <vcl.h></SPAN></P>
<P class=a3><SPAN lang=EN-US>#pragma hdrstop</SPAN></P>
<P class=a3><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=a3><SPAN lang=EN-US>#include "Week.h"</SPAN></P>
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<P class=a3><SPAN lang=EN-US>#pragma package(smart_init)</SPAN></P>
<P class=a3><SPAN lang=EN-US>#pragma link "CCALENDR"</SPAN></P>
<P class=a3><SPAN lang=EN-US>#pragma link "CSPIN"</SPAN></P>
<P class=a3><SPAN lang=EN-US>#pragma resource "*.dfm"</SPAN></P>
<P class=a3><SPAN lang=EN-US>TForm1 *Form1;</SPAN></P>
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<P class=a3><SPAN lang=EN-US>__fastcall TForm1::TForm1(TComponent*
Owner)</SPAN></P>
<P class=a3><SPAN lang=EN-US><SPAN
style="mso-spacerun: yes"> </SPAN>:
TForm(Owner)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN lang=EN-US>}</SPAN></P>
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<P class=a3><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=a3><SPAN lang=EN-US>void __fastcall TForm1::FormCreate(TObject
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit1->Text="</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请输入年份</SPAN><SPAN
lang=EN-US>";</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit2->Text="</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请输入月份</SPAN><SPAN
lang=EN-US>";</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit3->Text="</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请输入日期</SPAN><SPAN
lang=EN-US>";</SPAN></P>
<P class=a3><SPAN lang=EN-US>//</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文本组件的初始化</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Year=1977;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Month=1;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Day=19;</SPAN></P>
<P class=a3><SPAN lang=EN-US>//CCalendar</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件的初始化</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit1->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit2->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit3->Enabled=false;</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CSpinButton1->Enabled=false;</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CSpinButton2->Enabled=false;</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CSpinButton3->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Timer1->Enabled=false;</SPAN></P>
<P class=a3><SPAN lang=EN-US>//</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置组件的有效状态</SPAN></P>
<P class=a3><SPAN lang=EN-US>}</SPAN></P>
<P class=a3><SPAN
lang=EN-US>//---------------------------------------------------------------------------</SPAN></P>
<P class=a3><SPAN lang=EN-US><o:p> </o:p></SPAN></P>
<P class=a3><SPAN lang=EN-US>void __fastcall TForm1::Button1Click(TObject
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CCalendar1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit2->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Edit3->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CSpinButton1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CSpinButton2->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->CSpinButton3->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>Form1->Timer1->Enabled=true;</SPAN></P>
<P class=a3><SPAN lang=EN-US>//</SPAN><SPAN
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置组件的有效状态</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CCalendar1->Year=StrToInt(Form1->Edit1->Text);</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CCalendar1->Month=StrToInt(Form1->Edit2->Text);</SPAN></P>
<P class=a3><SPAN
lang=EN-US>Form1->CCalendar1->Day=StrToInt(Form1->Edit3->Text);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -