




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 Object Pascal语言11第1章Object Pascal语言本章要点Object Pascal语言作为Delphi的编程语言,具有可读性强,编写容易,编译速度快等特点。本章介绍Object Pascal的主要特点和基本语法,以及Delphi对象的概念及编程的基本方法。本章主要内容 应用程序一般开发过程 常用数值函数 流程控制语句 数值的格式化输出 常用进制的相互转换 应用Stream1.1 应用程序一般开发过程 实例说明本例包含了创建Delphi应用程序的几个重要步骤,每个步骤都是开发Delphi基本应用的必不可少的环节。例子运行效果如图1.1所示。图1.1 例程运行结果 学习目标通过本例的学习,用户最起码可以学会用Delphi创建工程的一般步骤。最终目的是希望读者了解利用Delphi开发应用程序一般需要经过的以下几个步骤:l 建立工程文件l 设计工作界面,加入各种控件l 对控件的属性、方法、事件进行应用和设置l 在工程中加入其他窗体和模块l 加入所需的资源文件l 在各个窗体和模块中添加代码l 保存工程文件l 编译、调试和运行当前的工程 操作步骤(1)选择File | New | VCL Forms Application命令生成新的工程文件。这时,屏幕上出现如图1.2所示的窗体。(2)先不做任何修改,进行编译后,按F9键(Run命令),得到如图1.3所示的运行结果。可见,Delphi已经完成了大量的工作,包括建立了基本的应用程序窗口、最大/最小化以及关闭程序按钮。总之,已经完成了一个标准的Windows应用程序的基本框架。 注意:本节只是开发一个小程序,在后面逐步开发的过程中,将渐进地加入Delphi的主要组件及介绍主要的操作方法。用户可根据自己的需求,在计算机上直接操作,或跳过基础章节,这样会对Delphi的可视化编程有一个更直观、更快捷的了解。图1.2 新工程所创建的空白窗体图1.3 空白窗体运行图(3)在应用中添加并调整基本控件组件。组件(component)是建立Delphi应用程序的关键。Delphi提供了丰富的组件库,包括可视的组件(如文本框、按钮等)和不可视的组件(如系统定时器、数据表等),这些组件按照功能分别排列在Tool Palette的各分类区域。选中组件后在设计窗体中单击,或勾画一个区域把要选择的组件放置到该窗体中,组件的轮廓线上会显示8个被称为sizing handles (尺寸调整点)的黑色小方块。这些小方块除了供调整尺寸使用之外,还表示该对象是否处于编辑状态。此时,按Delete键将删除该组件。下面在窗体上添加一个可视控件按钮。在Tool Palette上的Categories按钮上单击,在弹出的标签面板中单击Additional标签,切换到Additional组件面板,移动鼠标指针,逐个查看组件的名称,找到TShape组件按钮(其图标为圆、方形、三角形3个几何体),将其放到窗体的左部。再切换到Standard组件面板,找到TButton组件按钮。Delphi允许在添加多个同类型的组件时,不必每次都到组件面板上选取。按住Shift键,同时在TButton组件上单击,这时TButton组件处于按下状态,并有蓝色边框,表示已经被选中。依次在窗体右部的3个位置单击,就会放置3个相同的TButton组件。把鼠标指针移到组件栏右侧的箭头按钮处(取消选择)单击,或是选择其他组件,会发现TButton组件按钮恢复弹起状态。否则,每次单击Form1,都会增加一个按钮组件。再次进入Additional组件面板,单击BitBtn按钮(有绿色对号的OK按钮),把它放到其他3个按钮组件的下面。(4)在窗体上添加非可视控件颜色对话框。切换到Dialogs组件面板,选择TColorDialog组件按钮,并把它放到窗体的任意位置。因为这一组件是不可视组件,所以它的位置并不影响运行后的应用程序的界面设置,它可以放置在窗体的任何位置。添加完控件的设计窗体如图1.4所示。(5)调整窗体上的控件。一般来讲,设计时窗体中的组件是分散排列的,而且其大小不一定合适,因此需要对它们进行位置、大小和显示字体的调整。Delphi提供的对齐工具和窗口栅格为这些调整提供了方便。l 移动组件:单击要移动的组件,拖动鼠标指针到合适的位置,释放左键,组件即被移到新位置。l 调整尺寸:单击欲改变尺寸的组件,尺寸调整点会自动出现,把鼠标指针移动到其中的一个黑色小方块上,当鼠标指针变成拖动方向指示时,按下鼠标左键并拖动,可以放大或缩小该组件。上下左右的小方块分别用来移动对应的各边,4个角的方块可以移动相连的两条边。如果要精确地表述组件的尺寸,可以在Object Inspector中,改变Left(表示组件左边缘到窗体左边框的像素点数)、Top(表示窗体上边框到组件上边缘的像素点数)、Width(组件本身的宽度)、Height(组件本身的高度)等属性。l 对齐组件:用调整位置的方法可以对齐组件,但操作步骤复杂。Delphi提供的对齐工具可以迅速对齐多个组件。如果要使4个按钮对齐,可先将4个按钮选为一组,即按住鼠标左键并拖动,在窗体上画出围绕4个按钮的矩形,释放左键后,被选中的按钮周围会出现暗灰色的边框。选择Edit | Align命令,或使用快捷菜单的Position | Align命令(在被选中的组件上右击),可以出现如图1.5所示的对话框。图1.4 添加完控件的设计窗体图1.5 组件对齐对话框要使按钮沿左边对齐并使它们在垂直方向上均匀分布,先在Alignment对话框的Horizontal选项组内选择Left sides单选按钮,在Vertical选项组内选择Space equally单选按钮,再单击OK按钮,Delphi就会自动将它们对齐。同时,可以将它们作为一组组件来移动。单击4个按钮以外的窗体,使它们成为独立的组件。利用对齐面板来对齐组件也很方便。首先将要对齐的组件选成一组,再选择View | ToolBars | Align命令,将在工具栏上显示对齐面板,如图1.6所示。按照所示的方式选择即可达到对齐的目的。调整Shape组件的大小,使之与右边的按钮组相匹配。再改变窗体的大小,按住并拖动到窗体右下方,使之刚好包容窗体上的全部组件。这样,界面就会比较美观。调整后的设计窗体如图1.7所示。 技巧:若窗体上有若干个按钮组件,利用组件对齐面板对按钮位置进行调节也是一种窗体设计的好习惯。(6)对添加的控件进行属性设置。前面几步设计的工程虽能够运行,但它对单击按钮操作没有反应,并且,所有组件上还写着系统默认设置的组件名称。下面将详细介绍如何在Object Inspector中改变组件的各种属性。图1.6 Delphi的组件对齐面板图1.7 调整控件后的设计窗体l 用Properties选项卡改变组件的属性值:首先要改变各组件的标题。先给窗体命名为Demo。单击Object Inspector上端的Object Selector下拉列表框,找到Form1选项,选中窗体。在Object Inspector的Properties选项卡中,找到Caption属性并选中,把其右端的Form1改为Demo,这时可以发现对话框的标题已经相应地做了改变。选中对话框中的Shape1组件,Object Inspector列出了它的属性。选中Shape属性,单击右端出现的下拉标志,可以查看对象的Shape属性可选值,它的形状可以是矩形、圆形、圆角矩形、方形等几种。这是设计后续功能的基础。选中Button1按钮,此时Object Inspector已经显示出此按钮的一些属性,将其Caption属性改为“&R矩形”。“&”符号使Delphi可以特殊处理它后面的字符,其中,按钮中的R字母被做了下划线处理,运行时,可以按下Alt+R组合键来达到与单击该按钮相同的效果。同样,也可以将其他的两个按钮Button2和Button3的Caption属性改成需要的形状指示,譬如“&C圆方形”、“&E椭圆形”。l 设置窗体的默认按钮:可以把某个按钮作为窗体的默认按钮,Delphi会为该按钮加上黑色边框。运行时,按下Enter键时即相当于被选中,把此按钮的Default属性从False改成True,即可将它设为窗体的默认按钮。单击Default属性,在右端的值后面双击,或从下拉列表中选取True选项,即可改变这一属性。Delphi中有许多组件只有两个属性(True/False),双击可以在这两个值之间切换。l 字体属性选择:利用Font对话框可以直接设定字体属性。单击Font属性左侧的“”按钮可以打开Font的所有子属性,如图1.8所示。这里包含了全部的字体属性,使得调整字体更为直接方便。但要注意的是,对于Form窗体来讲,Font属性改变的是窗体中其他组件的显示字体,它本身的标题字体是默认的System字体,不能通过属性来改变。l 使用图形编辑器对话框:用按钮BitBtn1来控制Shape1组件的颜色。选中该按钮,将它的Caption属性改为“&Color”(或“&C颜色”)。也可以在按钮中加入一个图标来形象地表述它的功能。选择Object Inspector中的Glyph属性,单击按钮,弹出图形编辑器对话框,如图1.9所示。图1.8 Object Inspector中的Font属性图1.9 图形编辑器对话框将所选图标文件装入后,BitBtn1按钮设置就完成了。另外,Delphi还提供了丰富的Windows标准按钮。可使用BitBtn的Kind属性运用它们。至此,设计界面工作已经完成。注意,要保存所用的库单元文件和工程文件。设置完各种控件的属性后的设计窗体如图1.10所示。图1.10 设置完各种控件属性后的设计窗体(7)在应用中加入触发事件。从第(1)步到第(4)步其实就是从空白窗体的创建到开始设计一个简单的应用程序,即在屏幕上开一个窗口,窗口中有一个图框,用3个按钮来改变图框的形状;然后再用一个按钮进行图框的颜色设置,通过颜色编辑对话框选择一种理想的颜色。单击窗体上的Button1(矩形设置)按钮,在Object Inspector中,单击Events标签,出现Events选项卡。在本例程中只关心OnClick事件,即单击按钮时应用程序所做出的反应。在Object Inspector对话框中双击OnClick事件的文本框,会使Delphi激活库代码编辑器,并将光标停在该按钮所对应的过程的beginend之间。【矩形】按钮的功能是使Shape组件的形状变为矩形,现在应在程序中控制组件的属性。在光标处输入以下程序段:Shape1.Shape := stRectangle;用同样的方法,在Button2和Button3的OnClick事件响应代码内复制以上语句,并分别将赋值号“:=”后的属性值改为stRoundRect和stEllipse。为防止输入错误导致程序运行出错,不要隐藏Shape1组件的Object Inspector,以便检查属性Shape的各个值并对应输入。在代码编辑器中,Delphi自动建立的过程以关键字Procedure开头,用户可以在beginend之间加入自己的程序,也可以自定义变量。这个程序块对用户的外部事件(此例中是单击按钮)进行响应,被称为事件处理过程。 注意:在Pascal语言和Delphi中的Object Pascal语言中,都使用“”来进行比较,而用“:=”作为赋值操作符。(8)使用颜色编辑器对话框。颜色按钮用来控制组件Shape1的颜色。可以调入颜色编辑器对话框,以选择想变成的颜色,这时就要用到不可视组件ColorDialog。同样也可使用按钮BitBtn1的OnClick事件,在它的过程中加入以下语句。tryif ColorDialog1.Execute then Shape1.Brush.Color:=ColorDialog1.Color;except ShowMessage(Color selection dialog failed to load.);end;这样,按钮的功能就建成了。由于本例是第一个例子,制作过程讲解得非常详细,后面的例子将在本节的基础上直接进入设计阶段。 提示:初学者可能对这样的程序段不理解。其实,查看TColorDialog的Brush属性,就会发现它是个集合属性,在其下还有一个Color选项,正是我们想改变的属性,而用颜色编辑器可以得到更多的色彩。程序的第一句用Execute方法,使得TColorDialog运行它本身。当用户在对话框中进行操作,选定了一种颜色时,就将TColorDialog对象的Color属性置为选定颜色的值,将此值赋给Shape1的Brush属性的子属性Color,就将选定的颜色加到了图形上。1.2 简单计算器 实例说明本例主要是通过设计一个简单的计算器,来引出Delphi关于数值函数的各种基础知识,从而为初学者的学习起到打基础的作用。本例主要是允许用户输入两个需要运算的数值,再选择相应的运算符号,单击“=”按钮后显示运算的结果。例子效果如图1.11所示。图1.11 例程运行结果 学习目标本例主要是在读者已经了解的知识的基础上,加入Delphi的主要运算与赋值符号和函数,以求让读者能够掌握最基本的运算法则和过程。因为Pascal语言是世界上使用最广泛的语言之一,而Object Pascal是Turbo Pascal的升级版本,它在保留原有Turbo Pascal特色的基础上,增强了面向对象的特性,并改善了编译器,增加了若干数据类型。Delphi使用的就是Object Pascal语言,读者通过学习本例应该能够掌握Delphi编程的基本知识。 操作步骤(1)利用Delphi 8.0的File菜单的新建命令创建一个VCL Forms Application工程,在窗体上依次放上图1.12所示的控件。图1.12 窗体设计图(2)图1.12所示窗体上各摆放控件的描述见表1.1。表1.1 控件描述表控件类型控件名称描述窗体TFormForm1程序的主窗体,Caption属性设为“简单计算器”快捷按钮TSpeedButtonSpeedButton1用于显示,Caption属性设为“+”快捷按钮TSpeedButtonSpeedButton2用于显示,Caption属性设为“-”快捷按钮TSpeedButtonSpeedButton3用于显示,Caption属性设为“*”快捷按钮TSpeedButtonSpeedButton4用于显示,Caption属性设为“/”快捷按钮TSpeedButtonSpeedButton5用于显示,Caption属性设为Pow快捷按钮TSpeedButtonSpeedButton6用于显示,Caption属性设为Sqrt快捷按钮TSpeedButtonSpeedButton7用于显示,Caption属性设为“=”文本编辑TEditEdit1用于输入编辑显示,Caption属性设为“ ”(表示空)文本编辑TEditEdit2用于输入编辑显示,Caption属性设为“ ” 文本编辑TEditEdit3用于显示计算结果,Caption属性设为“ ”静态文本TStaticTextStaticText1用于显示当前的运算符号,Caption属性设为“无”(3)在下述各控件的Event(事件)中添加代码来完成希望的功能,具体分类如下。l 在SpeedButton1 SpeedButton6的Object Inspector的Events面板中双击OnClick事件,添加如下代码,用于设置当前的运算符号。procedure TForm1.SpeedButton1Click(Sender: TObject);begin Statictext1.Caption:=TSpeedButton(Sender).Caption; end;l 在SpeedButton7的Object Inspector的Events面板中双击OnClick事件,添加如下代码,用于下达计算Edit1和Edit2中的数值的指令。procedure TForm1.SpeedButton7Click(Sender: TObject);begin if Trim(StaticText1.Caption)=+ then Edit3.Text:=FloatToStr(StrToFloat(Edit1.Text)+ StrToFloat(Edit2.Text); if Trim(StaticText1.Caption)=- then Edit3.Text:=FloatToStr(StrToFloat(Edit1.Text)- StrToFloat(Edit2.Text); if Trim(StaticText1.Caption)=* then Edit3.Text:=FloatToStr(StrToFloat(Edit1.Text)* StrToFloat(Edit2.Text); if Trim(StaticText1.Caption)=/ then Edit3.Text:=FloatToStr(StrToFloat(Edit1.Text)/ StrToFloat(Edit2.Text); if Trim(StaticText1.Caption)=Pow then Edit3.Text:=FloatToStr(Power(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text); if Trim(StaticText1.Caption)=Sqrt then Edit3.Text:=FloatToStr(Sqrt(StrToFloat(Edit1.Text);end;关于Delphi的基础知识补充说明如下。 赋值语句的说明与使用在软件设计过程中,常需要将某个新值赋给某个变量或属性。在界面的设计过程中,可以直接使用对象监视器(Object Inspector)改变其属性。但在程序中,则需要通过赋值语句来实现,赋值运算符为“:=”。例如:Sum:=Sum+100;Edit1.Text:=Hello;StudentID:=41;Edit1.Color:=Edit2.Color在语句中,组件的名称在属性前,中间用“.”表示属性的所属关系。在编写赋值语句时,赋值运算符的左边只能是单一的变量或属性,不能在一个赋值语句中给多个变量或属性赋值;而运算符的右边可以是一个常量、一个变量、一个属性或是一个表达式,其类型必须同左边的类型一致。例如:Edit1.Text:=2;此赋值语句将产生类型错误,因为属性Text的类型为字符,而赋值运算符的右边是整数类型。如果要完成上面的功能,则需要使用类型转换函数。 Delphi中常用的运算符与函数“”:加法运算。操作数类型一般为整数、实数,所得结果也是整数、实数。同时它也适合于字符串之间的合并运算。“”:减法运算。操作数类型一般为整数、实数,所得结果也是整数、实数。“*”:乘法运算。操作数类型一般为整数、实数,所得结果也是整数、实数。“/”:实数除法运算。操作数类型一般为整数、实数,所得结果也是实数。div:整除运算。操作数类型一般为整数,所得结果也是整数。Mod:求余运算。例如,a Mod b表示a被b整除以后的余数。 Power:幂运算函数。例如,Power(A,B)表示以A为底的B次方。Sqrt:开方运算函数。例如,Sqrt (A)表示A的开方。此外还有很多数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司知识培训策划方案
- 公司科技活动方案
- 公司烹饪活动方案
- 公司晨练活动策划方案
- 公司结对活动方案
- 公司电竞比赛活动方案
- 公司点餐活动策划方案
- 公司整风活动方案
- 公司竞争类游戏策划方案
- 公司组织去海边策划方案
- 2024年财政部会计法律法规答题活动题目及答案一
- 《中药调剂技术》课件-中药调剂的概念、起源与发展
- 《数据中心节能方法》课件
- 2024年变电设备检修工(高级)技能鉴定理论考试题库-上(选择题)
- 循环系统疾病智慧树知到答案2024年哈尔滨医科大学附属第一医院
- 2024-2030年中国激光水平仪行业市场发展趋势与前景展望战略分析报告
- 部编本小学语文六年级下册毕业总复习教案
- JB∕T 11864-2014 长期堵转力矩电动机式电缆卷筒
- 小儿氨酚黄那敏颗粒的药动学研究
- 生态环境行政处罚自由裁量基准
- 长沙市开福区2024届六年级下学期小升初数学试卷含解析
评论
0/150
提交评论