Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件

上传人:E**** 文档编号:90580808 上传时间:2019-06-13 格式:PPT 页数:101 大小:1,024KB
返回 下载 相关 举报
Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件_第1页
第1页 / 共101页
Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件_第2页
第2页 / 共101页
Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件_第3页
第3页 / 共101页
Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件_第4页
第4页 / 共101页
Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件_第5页
第5页 / 共101页
点击查看更多>>
资源描述

《Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件》由会员分享,可在线阅读,更多相关《Delphi程序设计教学课件作者第二版周志德电子教案第9章节Delphi高级组件课件(101页珍藏版)》请在金锄头文库上搜索。

1、,软件技术专业剖析报告,软件教研室 李 萍 2006年5月, 第9章 Delphi高级组件,授课教师:周志德,9.1 定时器组件Timer,1、作用:实现定时器功能。 2、位置:System页,为一个非可视化组件。 3、属性 (1)Interval:设置Timer触发事件的时间间隔,单位是毫秒。默认值为1000 (即1秒)。 (2)Enabled:rue打开定时器,False关闭定时器。 4、OnTimer事件:Enabled属性为rue时,每隔Interval指定的时间,就会触发OnTimer事件,执行OnTimer事件处理程序。,例9.1 打开学生档案管理系统主窗体,在状态栏中动态显示当前

2、日期与时间。 (1)打开学生档案管理系统工程文件 在D:Xsdaglprogram目录中双击xsdagl.dpr文件,启动学生档案管理系统工程文件。 (2)状态栏中增加“日期时间”项 双击状态栏StatusBar1,用Add New按钮在Editing StatusBar1编辑器增添新栏目“日期:时间”。,9.1 定时器组件Timer,(3)窗体放置Timer组件 设置属性如下: Interval:1000 ;定时时间为1秒 Enabled:True ;打开定时器 双击Timer组件,输入事件驱动程序如下: procedure TForm_XSDA31.Timer1Timer(Sender:

3、TObject); begin StatusBar1.Panels0.Text:=DateTimeToStr(Now); end; 其中Now为能返回当前日期与时间的函数。,9.1 定时器组件Timer,9.2.1 DateTimePicker组件 1、作用:正常情况下用编辑框方式显示、编辑日期或时间。当程序运行后,用户单击编辑框下拉按钮时,组件用日历表方式供用户选择当前的日期 。 2、位置:Win32页 。 3、属性,9.2 日期类组件与函数,9.2.1 DateTimePicker组件,(1)Date属性:设置或返回日期 如用Edit组件给DataTimePicker赋日期值语句: Dat

4、eTimePicker1.Date:=StrToDate(Edit1.Text); 用DataTimePicker返回日期值语句: Edit2.Text:=DateToStr(DateTimePicker1.Date); (2)Time属性:设置或返回时间。 (3)Kind属性:dtkDate:显示编辑日期; dtkTime:显示编辑时间。 (4)DateFormat:dfLong显示四位年份 dfShort显示两位年份。,9.2.2 MonthCalendar组件,1、作用:以月历方式显示日期 。 2、位置:Win32页 。 3、属性,图9.2 设置FirstDayWeek属性,(1)Dat

5、e属性:设置或返回日期。 (2)MaxDate与MinDate:日期变化的最大与最小值。 (3)MultiSelect与EndDate:True:运行后按Shift键用鼠标选择连续的多个日期,起始日期放在Date属性,终止日期放在EndDate属性。False:只能单选择日期。 (4)ShowToday属性:True在日历表下方显示今天日期, False不在日历表下方显示今天日期。,9.2.2 MonthCalendar组件,(5)ShowTodayCircle属性:True用红圈标注今天日期。 False不用红圈标注今天日期。 (6)FirstDayOfWeek属性: dowMonday时,

6、表格以星期一开始排列。如图9.2所示。 (7)WeekNumbers属性:True在日历表的左侧显示周数列表。即显示日历表中各周为本年中的第几周。,9.2.2 MonthCalendar组件,9.2.3 Calendar组件,1、作用:以星期表格方式显示日期 。 2、位置:Samples页 。 3、属性,图9.3 Calendar组件,(1)Year、Month、Day属性:分别表示年、月、日。 (2)StartOfWeek属性:确定日历表以星期几开始排列,StartOfWeek属性取值为06,分别表示从星期日到星期六排列,如当StartOfWeek属性取值为1时,表示日历表以星期一开始排列。

7、,9.2.3 Calendar组件,1返回日期、时间函数 (1)Date函数:用于返回系统当前日期。 (2)Time函数:用于返回系统当前时间。 (3)Now函数:用于返回系统当前日期与时间。 2日期类转换函数 (1)DateToStr(date)函数:将日期转换为字符串。 (2)TimeToStr(time)函数:将时间转换成字符串。,9.2.4 日期类函数,(3)DateTimeToStr(datetime):将日期时间转换成字符串。 (4)EncodeDate(year,month,day):将年、月、日转换成日期。 (5)DecodeDate(date,year,month,day):

8、将日期转换为年、月、日。 (6)EncodeTime(hour,min,sec):将时、分、秒转换成时间。 (7)DecodeTime(time,hour,min,sec):将时间转换为时、分、秒。 (8)DayOfWeek(date):返回date日期对应的星期数。,9.2.4 日期类函数,1、位置:Additional页。 2、概述:StringGrid组件是一个二维字符型数组 ,能以表格形式显示二维字符数组中每个单元的数据 (1)数组行数:RowCount (2)数组列数:ColCount。 (3)数组元素:StringGrid.Cellscol,row 表示二维数组的第row行、第co

9、l列的元素值。 3、作用:常用于处理数据界面组件无法处理的二维数据表的问题。如校历表、学生班级成绩表等。,9.4 字符表格组件StringGrid,4、属性 (1)RowCount属性:设置StringGrid数据表的行数, (2)ColCount属性:设置StringGrid数据表的列数 说明:可在程序设计时用对象监视器设定,也可在程序执行过程中用赋值语句将列数值赋于RowCount 与ColCount。 (3)FixedRows属性:设置表格固定行数。 (4)FixedCols属性:设置表格固定列数。 (5)FixedColor属性:设置固定行与固定列的颜色。,9.4 字符表格组件Stri

10、ngGrid,图9.4 StringGrid组件属性设置,9.4 字符表格组件StringGrid,(6)CellsCol, Row属性:表示表格中的第Col列与第Row行单元格内容。例如: procedure TForm1.Button1Click(Sender: TObject); var I, J : Integer; begin with StringGrid1 do for I := 0 to ColCount - 1 do for J:= 0 to RowCount - 1 do CellsI,J := ; end; 该程序用于将StringGrid1组件所有单元格清空。,9.4

11、字符表格组件StringGrid,(7)Option属性:表9.1说明各子属性的用法。,5、事件 (1)OnKeyDown事件 按下任何一个键,会触发OnKeyDown事件处理程序。OnKeyDown事件过程的原型定义如下: procedure (Sender: TObject; var Key: Word; Shift: TShiftState) 其中变量形参Key为Word类型,用于表示用户按键的类型,取值如表9.3所示。,9.4 字符表格组件StringGrid,表9.3 变量形参Key的取值,表9.4 Shift取值类型,9.4 字符表格组件StringGrid,(2)OnKeyUp事

12、件 放开任何一个键时,会触发OnKeyUp事件处理程序。OnKeyUp事件过程的原型定义如下: procedure (Sender: TObject; var Key: Word; Shift: TShiftState) 其中形数Key与Shift的取值与OnKeyDown过程相同。,9.4 字符表格组件StringGrid,(3)OnMouseDown事件 按下鼠标时会触发OnMouseDown事件处理程序。OnMouseDown事件过程的原型定义如下: procedure (Sender: TObject; Button: TMouseButton; Shift: TShiftState;

13、 X, Y: Integer) 其中: Button:取值mbLeft, mbRight, mbMiddle分别表示鼠标左键、鼠标右键与鼠标中间键。 Shift:取值如表9.4所示。 X、Y:鼠标位置坐标,单位为像素点。,9.4 字符表格组件StringGrid,(4)OnMouseUp事件 放开鼠标时触发OnMouseUp事件处理程序。 OnMouseUp事件处理过程的原型定义与OnMouseDown过程原型定义类似,此处不再叙述。 (5)MouseToCell方法:用于将鼠标位置X、Y转换为单元格位置ACol, ARow。方法原型如下: procedure MouseToCell(X, Y

14、: Integer; var ACol, ARow: Longint); 其中X、Y为鼠标位置坐标,而Acol、Arow为StringGrid组件单元格的列、行值。,9.4 字符表格组件StringGrid,例9.3 在StringGrid组件上实现九九乘法表,并实现鼠标拖弋功能,即用鼠标拖动方法,将某单元格内容移动到另一个单元格中,或复制到另一个单元格中,如图9.7所示。 设计步骤: (1)新建一个工程,工程文件名为Project9_3.dpr,单元文件名为Unit9_3.pas。窗体Form9_3的标题为“九九乘法表”。保存在D:Delphiex9_3目录中。 (2)在窗体Form9_3上

15、放置一个Panel1,设置其Align属性为alTop。并在其放置一个“退出”按钮与一个计算“九九乘法表”的按钮BitBtn1。如图9.7所示。,9.4 字符表格组件StringGrid,(3)在窗体上放置StringGrid1组件 设置其属性如下: Options.goEditing:True ;允许编辑单元格内容 RowCount:11 ;设置组件的行数为11 ColCount: 11 ;设置组件的列数为11 FixedRows:0 ;设置固定行为0 FixedCols: 0 ;设置固定列为0,9.4 字符表格组件StringGrid,图9.7 用StringGrid组件实现九九乘法表,9

16、.4 字符表格组件StringGrid,(4)编写计算“九九乘法表”事件驱动程序 双击“创建九九乘法表”按钮,编写如下事件驱动程序: procedure TForm1.BitBtn1Click(Sender: TObject); var I,J:Integer; begin with StringGrid1 do begin for I:=1 to 9 do for J:=1 to 9 do CellsJ-1,I-1:=IntToStr(I)+*+IntToStr(J)+=+IntToStr(I*J); end; end;,9.4 字符表格组件StringGrid,(5)编写鼠标拖弋程序算法 在某单元格按左键,触发OnMouseDown事件,将光标形状改为 “crDrag”,并将该单元格内容赋给全局变量Cell。 拖弋鼠标到另一个单元格放开鼠标左键,触发OnMouseUp事件,将光标形状恢复为“crDefault”,并将Cell中内容赋给现单元格,另将前单元格内容删除,则

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号