1、实验3常用组件属性方法事件及记事本程序开发实验3常用组件属性、方法、事件及记事本程序开发一、实验目的(1)熟悉在Delphi中建立项目的方法。(2)掌握并熟练应用文本输入组件、按钮类组件、信息反馈组件、菜单组件等几类组件的主要属性和组件的使用方法。二、实验内容【实验题1】设计1个程序来处理日期的输入,分别输入年、月、日和星期几,然后在1个Memo组件中总体显示。在本项目中,逐步增加使用到的组件,最后完成预定功能,以此来演示常用组件的使用。【实验题2】按要求开发一个简单的记事本程序,并实现记事本程序的剪切、复制和粘贴等常用功能。三、实验仪器、设备1.计算机(Windows2000以上的操作系统,
2、2.4GHz以上主频,512M以上内存);2.Delphi 7.0(或更高版本)软件集成开发环境。四、实验步骤【实验题1】1.基本组件初步测试(1)选择主菜单的FileNewApplication,新建一个应用程序。(2)在窗体上加入2个Label组件,1个Edit组件,1个Memo组件和2个Button组件。窗体初步测试设计如图4.1所示,各组件的主要属性见表4-1(在Memo1的Lines属性中输入3个空行)。(3)分别双击“显示”和“关闭”按钮,在TForm1.Button1Click和TForm1.Button2Click事件处理器的编辑区中输入下列代码:Procedure TForm
3、1.Button1Click(Sender:TObject);begin memo1.Lines0:=edit1.Text;end; procedure TForm1.Button2Click(Sender: TObject);beginclose; end;(4)运行程序,在Edit1中输入2002,并单击“显示”按钮,运行结果如图4.2所示。2.测试ListBox组件在初步测试的基础上加入“月”输入输出部分。(1)在窗体中再加入1个ListBox组件和1个Label组件。(2)将Label3的Caption属性设置为“选择月份”,“FocusControl”属性为Memo1。选中ListB
4、ox1组件,单击Object Inspector窗口中“Items”后的“”,打开“String List Editor”对话框,在其中输入12个月份的名称,如图4.3所示。改变后的窗体如图4.4所示。(3)双击“显示”按钮,在TForm1.Button1Click事件处理器的编辑区原有代码的基础上再增加下列代码:if ListBox1.ItemIndex=0 then Memo1.Lines 1:=ListBox1.Items ListBox1.ItemIndex else Memo1.Lines 1:=Month has not selected; (4)运行程序,在Edit1中输入200
5、6,并且在ListBox1中选中三月,单击“显示”按钮,运行结果如图4.5所示。3.测试ComboBox组件利用ComboBox组件加入“天”输入、输出部分。(1)在窗体中再加入1个ComboBox组件和1个Label组件。(2)将Label4的Caption属性设置为“选择天”,“FocusControl”属性为ComboBox1。选中ComboBox1组件,单击Object Inspector窗口中“Items”后的“”,打开“String List Editor”对话框,如图4.3所示,在其中输入131,并将其Text属性设置为1。改变后的窗体如图4.6所示。(3)双击“显示”按钮,在T
6、Form1.Button1Click事件处理器的编辑区原有代码的基础上再增加代码:Memo1.Lines2:=ComboBox1.Text;(4)单击F9键运行程序。在Edit1中输入2006,在ListBox1中选三月,在ComboBox1中选中3,单击“显示”按钮,运行结果如图4.7所示。4.测试RadioGroup组件(1)在窗体中再加入1个RadioGroup组件。(2)将RadioGroup1的Caption属性设置为“星期几”,并在Items属性中加入星期日至星期六,将ItemIndex属性设置为1,即使其预设值为星期一。改变后的窗体如图4.8所示。(3)双击“显示”按钮,在TFo
7、rm1.Button1Click事件处理器的编辑区原有代码的基础上再增加代码:Memo1.Lines3:=RadioGroup1.ItemsRadioGroup1.ItemIndex;(4)单击F9键运行程序。在Edit1中输入2006,在ListBox1中选中三月,在ComboBox1中选中5,在RadioGroup1中选中星期四,单击“显示”按钮,运行结果如图4.9所示。【实验题2】(1)选择主菜单的FileNewApplication,新建1个应用程序。(2)在窗体上放置1个组合框,1个MainMenu组件和1个PopupMenu组件。窗体如图4.10所示。各组件的主要属性见表4-2。各
8、组件的其他属性均采用默认值。图4.10 窗体设计表4-2 各组件的主要属性组 件 名菜 单 项属 性属 性 值Form1Caption记事本MainMenu1N1Caption字体名称N2Caption宋体N3Caption隶书N4Caption楷体N5Caption黑体N6Caption字体大小N7Caption9号N8Caption24号N9Caption48号N10Caption72号N11Caption编辑N12Caption剪切ShortCutCtrl+XN13Caption复制ShortCutCtrl+CN14Caption粘贴ShortCutCtrl+VPopupMenuN15C
9、aption字体名称N16Caption宋体N17Caption隶书N18Caption楷体N19Caption黑体N20Caption字体大小N21Caption9号N22Caption24号N23Caption48号N24Caption72号N25Caption编辑N26Caption剪切ShortCutCtrl+XN27Caption复制ShortCutCtrl+CN28Caption粘贴ShortCutCtrl+V (3)打开主菜单编辑器,分别双击“宋体”、“隶书”、“楷体”、“黑体”、“9号”、“24号”、“48号”、“72号”、“剪切”、“复制”和“粘贴”菜单项,并分别在各个事件处
10、理器的编辑区中输入下列代码:procedure TForm1.N2Click(Sender: TObject);begin memo1.Font.Name:=宋体; N2.Checked:=true; N3.Checked:=False; N4.Checked:=False; N5.Checked:=False;end;procedure TForm1.N3Click(Sender: TObject);begin memo1.Font.Name:=隶书; N3.Checked:=true; N2.Checked:=False; N4.Checked:=False; N5.Checked:=Fa
11、lse;end;procedure TForm1.N4Click(Sender: TObject);begin memo1.Font.Name:=楷体; N4.Checked:=true; N2.Checked:=False; N3.Checked:=False; N5.Checked:=False;end;procedure TForm1.N5Click(Sender: TObject);begin memo1.Font.Name:=黑体; N5.Checked:=true; N2.Checked:=False; N3.Checked:=False; N4.Checked:=False;en
12、d;procedure TForm1.N7Click(Sender: TObject);begin memo1.Font.Size:=9; N91.Checked:=true; N241.Checked:=False; N481.Checked:=False; N721.Checked:=False;end;procedure TForm1.N8Click(Sender: TObject);begin memo1.Font.Size:=24; N241.Checked:=true; N91.Checked:=False; N481.Checked:=False; N721.Checked:=F
13、alse;end;procedure TForm1.N9Click(Sender: TObject);begin memo1.Font.Size:=48; N481.Checked:=true; N91.Checked:=False; N241.Checked:=False; N721.Checked:=False;end;procedure TForm1.N10Click(Sender: TObject);begin memo1.Font.Size:=72; N721.Checked:=true; N91.Checked:=False; N241.Checked:=False; N481.C
14、hecked:=False;end;procedure TForm1.N12Click(Sender: TObject);begin memo1.CutToClipboard; N14.Enabled:=False; N13.Enabled:=False; N12.Enabled:=True;end;procedure TForm1.N13Click(Sender: TObject);begin memo1.CopyToClipboard; N14.Enabled:=False; N12.Enabled:=False; N13.Enabled:=True;end;procedure TForm
15、1.N14Click(Sender: TObject);begin memo1.PasteFromClipboard;end;(4)打开弹出菜单编辑器,分别双击“宋体”、“隶书”、“楷体”、“黑体”、“9号”、“24号”、“48号”、“72号”、“剪切”、“复制”和“粘贴”菜单项,并分别在各个事件处理器的编辑区中输入与主菜单的各对应菜单项相同的代码。(5)在Object Inspector中选择Memo1对象,并打开Events页,双击OnMouseUp对应项,进入事件处理器的编辑区添加如下代码:procedure TForm1.Memo1MouseUp(Sender: TObject; Bu
16、tton: TMouseButton; Shift: TShiftState;X, Y: Integer);begin if memo1.SelLength0 then begin n12.Enabled:=true; n13.Enabled:=true; n26.Enabled:=true; n27.Enabled:=true; end else begin n12.Enabled:=False; n13.Enabled:=False; n26.Enabled:=False; n27.Enabled:=False; end;end;(6)保存文件,单击F9键运行程序。选中“字体名称”菜单下“
17、隶书”菜单项,选中“字体大小”菜单下“72号”菜单项,运行结果如图4.11和图4.12所示。图4.11 运行结果1图4.12 运行结果2五、实验的注意事项1.在进行ListBox、ComboBox、RadioGroup组件测试前应在Memo1.lines属性值中多加入一些空行,否则显示的内容不全。2.在进行ComboBox测试时注意设置其初值为text属性,在RadioGroup测试时设置其初值为ItemIndex属性。3.编写记事本程序时,注意剪切、复制和粘贴三个功能的实现方法,以及Memo组件中OnMouseUp事件的用法和使用的意义。六、实验报告要求1.书写实验报告时,应写明所用的设备、软件及其版本、机器编号。2.实验内容部分要详细写出实验项目所要求的具体内容和实验所要完成的主要功能。2.在实验步骤中要求写出详细的参数设置和实验结果。3.实验总结中应写出在程序设计或调试过程中出现的主要问题及解决方法或思路。七、思考题1.比较Edit组件和Memo组件在使用时的异同。2.如何在ListBox组件和ComboBox组件中增加或删除1项?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1