⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c++ builder 程序设计实用教程 - 2_5 日期时间组件 - 张晋 - 17xie.htm

📁 已经消失的不易找到的C++ builder网络教程总结
💻 HTM
📖 第 1 页 / 共 5 页
字号:
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>ReadOnly</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; mso-border-top-alt: solid black .75pt; mso-border-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>ShowHint</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; mso-border-top-alt: solid black .75pt; mso-border-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>StartOfWeek</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; mso-border-bottom-alt: solid black .75pt; mso-border-top-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>TabOrder</SPAN></P></TD></TR>
  <TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; mso-border-bottom-alt: solid black .75pt; mso-border-top-alt: solid black .75pt; mso-border-right-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>TabStop</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; mso-border-top-alt: solid black .75pt; mso-border-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>Tag</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; mso-border-top-alt: solid black .75pt; mso-border-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>Top</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1pt solid; mso-border-bottom-alt: solid black .75pt; mso-border-top-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>UseCurrentDatTrue</SPAN></P></TD></TR>
  <TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-yfti-lastrow: yes">
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1.5pt solid; mso-border-bottom-alt: solid black 1.5pt; mso-border-top-alt: solid black .75pt; mso-border-right-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>Visible</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1.5pt solid; mso-border-bottom-alt: solid black 1.5pt; mso-border-top-alt: solid black .75pt; mso-border-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>Width</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: black 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1.5pt solid; mso-border-bottom-alt: solid black 1.5pt; mso-border-top-alt: solid black .75pt; mso-border-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN lang=EN-US>Year</SPAN></P></TD>
    <TD 
    style="BORDER-RIGHT: medium none; PADDING-RIGHT: 5.4pt; BORDER-TOP: medium none; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: medium none; WIDTH: 104.65pt; PADDING-TOP: 0cm; BORDER-BOTTOM: black 1.5pt solid; mso-border-top-alt: solid black .75pt; mso-border-left-alt: solid black .75pt" 
    vAlign=top width=140>
      <P class=a1><SPAN 
lang=EN-US><o:p>&nbsp;</o:p></SPAN></P></TD></TR></TBODY></TABLE></DIV>
<H4><SPAN lang=EN-US>4</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>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">—</SPAN><SPAN 
lang=EN-US>9999</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间,而第二个文本框中的输入值应该在</SPAN><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">—</SPAN><SPAN 
lang=EN-US>12</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间,在第三个文本框中的输入值应该在</SPAN><SPAN 
lang=EN-US>1</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">—</SPAN><SPAN 
lang=EN-US>31</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间),程序应该能够在</SPAN><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=MsoNormalIndent><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::Edit1Change(TObject 
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN 
lang=EN-US>Form1-&gt;CCalendar1-&gt;Year=StrToInt(Form1-&gt;Edit1-&gt;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>
<P class=a3><SPAN lang=EN-US><o:p>&nbsp;</o:p></SPAN></P>
<P class=a3><SPAN lang=EN-US>void __fastcall TForm1::Edit2Change(TObject 
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN 
lang=EN-US>Form1-&gt;CCalendar1-&gt;Month=StrToInt(Form1-&gt;Edit2-&gt;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>
<P class=a3><SPAN lang=EN-US>void __fastcall TForm1::Edit3Change(TObject 
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN 
lang=EN-US>Form1-&gt;CCalendar1-&gt;Day=StrToInt(Form1-&gt;Edit3-&gt;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>5</SPAN><SPAN 
style="FONT-FAMILY: 楷体_GB2312; mso-ascii-font-family: 'Times New Roman'">.响应</SPAN><SPAN 
lang=EN-US>CSpinButton</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>CSpinButton</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件的作用是在程序运行的过程中微调对应文本框中的数值,这里的一个难点就在于,文本框中的显示数值为</SPAN><SPAN 
lang=EN-US>String</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">;类型,而</SPAN><SPAN 
lang=EN-US>CSpinButton</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件能够处理的变量类型为整型,所以在程序中调用了两个变量类型转换函数</SPAN><SPAN 
lang=EN-US>StrToInt()</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</SPAN><SPAN 
lang=EN-US>IntToStr()</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>CSpinButton</SPAN><SPAN 
style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组件中有两个微调按钮,一个是带有向上箭头图案的按钮,另外一个是带有向下箭头图案的按钮,所以在添加代码时要对这两个微调按钮分别处理,三个</SPAN><SPAN 
lang=EN-US>CSpinButton</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>CSpinButton1</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::CSpinButton1DownClick(TObject *Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN lang=EN-US>if 
(StrToInt(Form1-&gt;Edit1-&gt;Text)&gt;1)</SPAN></P>
<P class=a3><SPAN 
lang=EN-US>Form1-&gt;Edit1-&gt;Text=IntToStr(StrToInt(Form1-&gt;Edit1-&gt;Text)-1);</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><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 
style="mso-spacerun: yes">&nbsp;</SPAN>Form1-&gt;CCalendar1-&gt;PrevYear;*/</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>void __fastcall TForm1::CSpinButton1UpClick(TObject 
*Sender)</SPAN></P>
<P class=a3><SPAN lang=EN-US>{</SPAN></P>
<P class=a3><SPAN lang=EN-US>if 
(StrToInt(Form1-&gt;Edit1-&gt;Text)&lt;9999)</SPAN></P>
<P class=a3><SPAN 
lang=EN-US>Form1-&gt;Edit1-&gt;Text=IntToStr(StrToInt(Form1-&gt;Edit1-&gt;Text)+1);</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><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 
style="mso-spacerun: yes">&nbsp;</SPAN>Form1-&gt;CCalendar1-&gt;NextYear;*/</SPAN></P>
<P class=a3><SPAN lang=EN-US>}</SPAN></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -