收藏 分享(赏)

第一部分 Delphi基础.doc

上传人:czsj190 文档编号:8420943 上传时间:2019-06-25 格式:DOC 页数:28 大小:216.50KB
下载 相关 举报
第一部分 Delphi基础.doc_第1页
第1页 / 共28页
第一部分 Delphi基础.doc_第2页
第2页 / 共28页
第一部分 Delphi基础.doc_第3页
第3页 / 共28页
第一部分 Delphi基础.doc_第4页
第4页 / 共28页
第一部分 Delphi基础.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

1、第一部分 Delphi 基础Delphi 被称为是第四代编程语言,它采用基于窗体和面向对象的方法,具有高速的编译器,功能强大的数据库支持,与 Windows 编程紧密结合,成熟的组件技术等特点。 Delphi 是全新的可视化编程环境,为用户提供了一种方便、快捷的 Windows 应用程序开发工具;除此之外,还允许用户挂接其它的应用程序开发工具。Delphi 适应于多种数据库结构,从客户机/ 服务器模式到多层数据结构模式,而且具有高效率的数据库管理系统和新一代更先进的数据库引擎,同时采用最新的数据分析手段和提供大量的企业组件。1.2 Delphi 7 的功能特点1.2.1 Delphi 的主要特

2、点1可视化开发环境2丰富的可视化组件 VCL3面向对象特性4高效的编译器5强大的数据库开发功能6良好的分布式应用开发支持1.2 Delphi 7 的功能特点 1.2.2 Delphi 7 的新特性1集成开发环境方面2Web 技术(仅限于专业版和企业版)方面3数据库技术方面4COM 方面5对开发 Linux 平台应用程序支持方面1.3 Delphi 的集成开发环境Delphi 7 系统安装完成后,单击“开始程序Borland Delphi 7Delphi 7”即可启动 Delphi 7。Borland Delphi 7 程序组包含以下部分:即 Help、BDE Administrator、Dat

3、abase Desktop、Datapump、Delphi 7、Image Editor、Register Now、SQL Explorer、SQL Monitor、WinSight 32 和 XML Mapper。Delphi 7 系统的集成开发环境由 7 个部分构成,如图 1-12 所示。这 7 个部分是:主菜单、快捷工具栏、组件面板、窗体设计器、代码编辑器、对象树状查看器(Object TreeView)和对象查看器(Object Inspector) 。它们分布在 Delphi 7 主菜单、窗体设计器、代码编辑和浏览窗口、对象树状查看窗口和对象查看窗口等窗口中。1.3 Delphi 的

4、集成开发环境1.3 Delphi 的集成开发环境1.3.1 Delphi 7 主窗口Delphi 7 主窗口位于集成开发环境的顶端,如图 1-2 所示。1.3 Delphi 的集成开发环境1主菜单主菜单及其下拉菜单提供了 Delphi 7 集成开发环境的所有功能。Delphi 7 主菜单除包括通常 Windows 应用程序都具有的 File、Edit、View 、Window 及 Help 等菜单项外,还有与 Delphi 7 工程、运行及配置等相关的菜单项。2.快捷工具栏(Speed ToolBar)快捷工具栏位于 Delphi 7 主窗口的左下方它提供了与主菜单的常用菜单项相对应的命令按钮

5、,可以在不打开主菜单的情况下快速执行这些功能。1.3 Delphi 的集成开发环境3.组件面板Delphi 7 主窗口的另一部分是组件面板,位于主窗口的右下方(如图 1-3) 。组件按功能、基类或特性进行了分类,用一个具有多页面的组件面板进行管理,为用户使用组件进行应用设计带来了很大的方便。组件面板的布局如图 1-3 所示。1.3 Delphi 的集成开发环境1.3.2 窗体设计器用户界面是应用系统与用户直接交互的界面。设计用户界面是设计应用程序的重要部分。Delphi 的用户界面由窗体构成,窗体的设计是在窗体设计器中完成的。Delphi 7 提供了一个功能强大的、所见即所得的窗体设计器。用户

6、只要从组件面板中选择需要的组件添加到窗体,就可获得所需的应用程序界面。在窗体设计器中还可对窗体中所包含的组件进行删除或编辑操作。在 Delphi 7 中创建一个新的应用程序时,系统将自动在当前工程中添加 1 个新窗体,默认名为 Form1。1.3 Delphi 的集成开发环境1.3.3 对象树状查看器对象树状查看器以树状结构显示当前工程所包含的所有对象,就像在 Windows 系统的文件管理器中显示各文件夹及文件的树状结构一样,如图 1-4 所示。1.3 Delphi 的集成开发环境1.3.4 对象查看器对象查看器的主要功能是对对象进行设计和管理,它是联系界面各组件和程序编码的媒介。对象查看器

7、由对象列表框、属性选项卡和事件选项卡三个部分组成,如图 1-5 所示。对象查看器有两项主要功能:(1) 设置或修改窗体以及包含于窗体的对象属性。(2) 设置对象响应的事件处理程序。 1.3 Delphi 的集成开发环境1.3.5 代码编辑和浏览窗口代码编辑和浏览窗口包括两部分,其外观如图 1-6 所示。左边是代码树状浏览器,右边是代码编辑器,标题栏显示的是正处于当前单元文件的名称。代码编辑器是进行源程序的编辑窗口。可以同时对多个单元文件进行编辑,此时各单元文件以多个标签页的形式出现,选择相应的标签页即可对该单元文件进行编辑,底部的状态栏有当前行列、改写/插入等编辑状态提示。代码浏览器以树状图方

8、式显示单元文件的信息。第二部分 面向对象的 PascalDelphi 的编程语言即 Object Pascal 是在 Pascal 的基础上发展起来的,它继承了 Pascal 语言语法结构严谨和编译代码高效优化等优点。本章将介绍 Object Pascal 的数据类型、常量、变量、运算符、语句、函数和过程等。2.1 数据类型2.1.1 简单数据类型简单类型包括有序类型和实型两种。1有序类型有序类型包括整型、字符型、布尔型、枚举型和子界型。有序类型是一种线性的数据结构,每个值都有唯一的前驱(除第一个)和唯一的后继(除最后一个) 。(1) 整型整型的表示范围及存储格式见表 2-1。2.1 数据类型

9、2.1 数据类型(2) 字符型字符型的类型标识符是 Char。字符型的数据只能是单个字符,不能是一串字符。例如ABC,x=? 等都不是字符型的数据,而是字符串。(3) 布尔型通常用到的布尔类型是 Boolean,一个 Boolean 类型的变量占一个字节,它只有两种取值:true 和 false。定义变量 i,ch,t 分别为整型、字符型、布尔型。var i: Interge; ch: Char; t: Boolean;2.1 数据类型(4) 枚举类型枚举类型是用一些标识符来表示一系列有序数,即由一些标识符组成的一个线性表。定义枚举类型的语法是:typetypeName=(val1,.,val

10、n)(5) 子界类型子界类型指的是某个有序类型(称为基类)的一个子集。定义子界类型的语法是:typetypeName=LowHigh;2.1 数据类型2实型表 2-2 给出了实型的表示范围和存储格式。2.1 数据类型2.1.2 字符串类型字符串类型是用一对单引号括起来的一系列字符。字符串类型的表示范围和存储格式见表 2-3。 2.1 数据类型2.1.3 结构类型结构数据类型是一种复合数据类型,由多个数据组成。结构类型包括集合类型、数组类型、记录类型、文件类型等。1集合类型集合类型是一组相同类型元素的组合。定义集合类型:typeName=set of BaseType2数组数组是一些具有相同类型

11、元素的有序组合。 (1) 静态数组 静态数组的声明格式为:typeName=arrayindexType1,.,indexTypen of BaseType;2.1 数据类型(2) 动态数组动态数组没有固定的大小或长度。当赋值或使用某些函数(如 SetLength)时,动态数组在内存中重新分配。动态数组的声明格式为:type Name=array of BaseType;定义动态数组不需声明元素的个数。例如:typeDynamicarray=array of Real;vara1,a2:Dynamicarry;a1:=a2; /a1 和 a2 指向相同的内存单元。2.1 数据类型3记录类型记录

12、类型(有的语言中被称为结构)是一个不同种类元素的集合,每个元素称为字段(field) 。在声明时,指定记录的名字和每个字段。声明格式为:typeRecordTypeName=recordFieldList 1:type1;FieldList 2:type2; FieldList n:type n;end;2.1 数据类型4文件类型文件类型是由相同类型的元素组成的有序集合。文件类型的声明格式为:typefileTypeName = file of type例:声明一个文件类型 RecordList,以上面已定义的 TdateRec 为数据类型。typeRecordList = file of T

13、dateRec;var Myrecordlist:RecordList;2.1 数据类型2.1.4 可变类型有时要对一些数据类型变化的数据进行操作,并且在编译期间不能确定数据的类型,这时就可以使用可变类型的数据。可变类型可以使用除记录、集合、静态数组、文件等结构类型、指针类型及长整型外的所有类型。可变类型有一个特殊的值 Null,表示不明的或丢失的数据。可变类型变量的声明格式为:varv1:Variant;2.2 常量与变量2.2.1 标识符标识符是描述 Object Pascal 程序各个部分的名称,这些部分包括标记、对象、过程、类型、单元、变量及程序。标识符的大小写无关(即它不区分大小写)

14、 ,并且遵循以下规则:可为任意长度,但只有前 255 个字符有效。标识符的第 1 个字符必须是字母或下划线。跟在第 1 个字符后面的字符必须是字母、数字或下划线。标识符中不允许出现空格。2.2 常量与变量 2.2.2 常量常量是一个在程序的运行过程中具有不变值的标识符,常量的声明格式如下:Const 常量名=表达式; 变量不能在一个常量声明中使用,但算术和逻辑运算符可以,下面的函数可以在常量声明中使用。Abs Low Round Chr Odd SizeOf Hi OrdSucc High Pred Swap Length Ptr Trunc Lo2.2 常量与变量2.2.3 变量变量是程序代

15、码中代表一个内存地址的标识符,而此地址中的内容在程序执行过程中可以改变。在变量使用之前必须先声明,变量声明格式如下:var 变量名表:类型名; 例:var s:string; i:integer;flag:Boolean;2.3 表达式与运算符2.3.1 表达式表达式就是变量、常量、字符串、运算符及函数按照一定规则的组合。例:Peoples Republic Of +ChinaGross/12Max(x,y)-Min(x,y)2.3.2 运算符1赋值运算符(:=)赋值运算符“ :=”是先计算赋值运算符右边表达式的值,再将结果赋给左边的变量。2.3 表达式与运算符2算术运算符 表 2-4 算术运

16、算符2.3 表达式与运算符3关系运算符关系运算符是对两个类型相容且可以比较大小的数据进行比较,结果为布尔类型,见表 2-5。 表 2-5 关系运算符2.3 表达式与运算符4逻辑运算符逻辑运算符对逻辑类型的操作数进行运算,结果为布尔型,见表 2-6。 表 2-6 逻辑运算符2.3 表达式与运算符5集合运算符 表 2-7 集合运算符2.3 表达式与运算符6运算符的优先级2.4 语句2.4.1 注释注释是添加在程序中用来说明代码功能的语句,它是非执行语句,对程序的执行部分不会产生任何影响,有助于提高程序的可读性。在 Object Pascal 中,有三种注释标记:花括号“”注释:位于 “”中的内容为

17、注释。双斜杠“/”注释: “/”之后到本行结束的内容为注释。圆括号及星号对“ (*) ”注释:(*)中的内容为注释。例如以下语句都是注释:The first kind Of comment./The second kind Of comment.(*The third kind Of comment.*)2.4 语句2.4.2 简单语句和复合语句简单语句是 Object Pascal 中最简单也最常用的语句,简单语句用分号分隔。赋值语句、函数、过程调用语句等是简单语句,例如下面的语句都是简单语句:r:=m+n; /两个值相加并赋值ShowMessage(Im a student.);复合语句是

18、多个简单语句的组合,复合语句以 begin 表示开始,以 end 表示结束。例如: begini:=1;j:=i+1;s:=abc;end;2.4 语句2.4.3 条件语句条件语句是 Object Pascal 语言提供的选择结构语句,主要有如下两种:1if 语句if 语句的表示形式:if then else 2.4 语句【例 2-1】求两个数中的最大值。if ab thenmax:=a /在变量 a 之后不能加 “;”Elsemax:=b;【例 2-2】符号函数。 -1 (x0)2.4 语句2case 语句case 语句的表示形式:case of : : else end;2.4 语句【例

19、2-3】编写一个程序,输入一个年份,判断是否是闰年。闰年的条件是满足下面条件之一:(1) 能被 4 整除,但不能被 100 整除的年份;(2) 能被 100 整除,也能被 400 整除的年份。对这两个条件都不符合的年份不是闰年。程序功能:输入一个年份,显示其是否为闰年的信息。界面设计:四个组件:两个文本框 Label1 和 Lable2,分别显示提示和结果信息;一个 Edit组件 Edit1,用来输入要进行判断的年份;一个 Button 组件 Button1,用来查询结果。如图 2-1所示。2.4 语句2.4 语句begin year:=StrtoInt(Edit1.text); /将字符串转

20、变为整型 if year mod 4 = 0 then begin if year mod 100 =0 then begin if year mod 400=0 then flag:=true else flag:=false; end else 2.4 语句2.4 语句2while 语句while 语句的一般形式为:while dowhile 后面的 为逻辑表达式,先计算表达式的结果,如果表达式为 true,while 语句将重复执行循环体。如果表达式结果为 false,则跳出循环,执行 while 之后的语句。2.4 语句3repeat 语句repeat 语句的一般形式为:repeat

21、until 当使用 repeat 语句时,先执行循环体,再判断表达式,只要 until 后面的表达式为 true,则将再执行循环体。因此,repeat 语句下面的循环体至少执行一次。2.4 语句4break 语句 功能是强行退出循环,break 语句只能用在循环体内。【例 2-7】利用 break 语句退出一个 while 循环。vars: String;beginwhile true do /条件恒为真 begin ReadLn(s); /读入一字符串 if s= then break; /不输入任何字符,则退出循环 WriteLn(s); /输出字符串 end;end;2.4 语句5 co

22、ntinue 语句continue 语句也用在循环体中,其作用是强行结束本次循环,转入循环开始处,开始执行下一次循环操作。【例 2-8】使用 continue 语句,求 1100 所有奇数之和。vari,s: Integer;s=0;beginfor i:=1 to 100 do begin if i mod 2=0 then continue; /如果为空,跳过剩余语句,转到下一个循环 s:=s+i; end;end;2.5 函数和过程函数和过程是实现一定功能的语句块,是程序中的特定功能单元。可以在程序的其他地方被调用,也可以进行递归调用。函数和过程的区别在于函数有返回值,而过程没有返回值。

23、2.5.1 函数和过程的声明函数和过程在使用前必须进行声明。1函数的声明函数的声明是在程序的 type 区,具体形式如下:function ():;2.5 函数和过程函数的定义是在程序的 implementation 部分,具体形式如下:function ():;varbegin := /也可以用 Result 系统保留字代替end;在 begin 与 end 之间是在函数调用时实现特定功能的一系列语句。函数值的返回有两种方式:将返回值直接赋给函数名。将返回值赋给 Result。2.5 函数和过程【例 2-9】求两个数中的最大数。function Max(a,b: integer):integ

24、er; /两个形参为整型值 a、b,函数返回值为整型varm: Integer;beginif ab thenm:= aelsem:= b;Max:= m; /或 result := m;end;2.5 函数和过程2过程的声明过程的声明与函数类似,所不同的是使用的保留字不同,而且少了一个返回值类型; 过程的声明是在程序的 type 区,具体形式如下:procedure ():;过程的定义是在程序的 implementation 部分,具体形式如下:procedure (); begin end;2.5 函数和过程【例 2-10】显示一行 num 个星号 *。procedure ShowStar

25、(num:Integer);var i: Integer; s:String; begin s:= ; for i:=1 to num do s:= s+*; ShowMessage(s); end;2.5 函数和过程2.5.2 重载函数和过程所谓重载,是指在同一个作用范围内给不同的函数或过程取同一个名称。重载可以方便编程,重载函数必须用指令字 overload 来进行说明。 下面的两个函数就是重载函数: function Max(a:Integer;b:Integer):Integer;overload; /求两个整数的最大值 function Max(a:Real;b:Real):Real

26、;overload; /求两个实数的最大值下面两条语句就调用了不同的函数: Max(3.7,4.6); /调用的是第二个重载函数Max(3,4); /调用的是第一个重载函数2.5 函数和过程2.5.3 参数1形参与实参函数或过程的声明和定义时参数列表中的参数称为形式参数,简称形参;而函数或过程调用时参数列表中的参数称为实在参数,简称实参。2数值参数、变量参数和常量参数(1) 数值参数在调用函数或过程时,数值参数在运行过程中只改变其形参的值,不改变其实参的值,即形参不会影响原来实参的值。(2) 变量参数如果用户想改变传递的参数值,就需要使用变量参数,即在被调用程序的参数表中的形参前加上保留字 v

27、ar。2.5 函数和过程(3) 常量参数如果当过程或函数执行时要求不改变形参的值,最保险的办法是使用常量参数。在参数表的参数名称前加上保留字 const 可以使一个形参成为常量参数。使用常量参数代替数值参数可以保护用户的参数,使用户在不想改变参数值时不会意外地将新的值赋给这个参数。 2.5.4 作用域在 Object Pascal 中,根据变量的作用域,可将变量分为:全局变量和局部变量。所谓变量的作用域,是指变量的有效范围。全局变量在整个程序中都有效,其作用域为整个程序;局部变量只在声明它的函数和过程中有效,其作用域只限于该函数或过程本身。 2.5 函数和过程例:typevarForm1: T

28、Form1; /全局变量 Form1implementation$R *.dfmprocedure TForm1.FormCreate(Sender: TObject);var m,n:Integer; /局部变量 m,nForm1:Tform1;(*局部变量 Form1,与上面的全局变量同名,在过程 TForm1.FormCreate 中局部变量起作用。*)2.5 函数和过程2.5.5 函数和过程的调用1函数和过程的调用(1) 函数的调用函数调用的一般形式为:()函数的调用往往是将返回值赋给某个变量或参与运算。例如调用例 2-9,将其返回值赋给变量 x 的语句为:x:=Max(3,6);(2

29、) 过程的调用过程的调用的一般形式为: ();其中的实参可以是常量、变量或表达式,但实参的个数和类型与形参完全匹配,即个数相同、类型一致。例如:调用例 2-10 的过程 ShowStar 的语句为:ShowStar(20);2.5 函数和过程2函数和过程的递归调用所谓递归调用,是指函数 A 调用函数 B,而函数 B 又调用函数 A 的情况,或是指一个函数调用自身的特殊情况。 【例 2-11】递归调用program Project1;($SappTypeConsole)varalpha:Integer;procedure Test2(var A:Integer):forword;(*Test2

30、被说明为前置过程 *)procedure Testl(Var A:Integer);begina:=a-1;if a0 then第三部分 常用组件在使用 Delphi 开发应用程序中,广泛地使用到组件。可视组件库(Visual Component Library,简称 VCL)是 Delphi 中最重要的部分,通过 VCL 可以在窗体中方便地构建与用户交互的界面,其中大部分组件显示在组件面板(Components Palette)上。除了少数例外,所有的组件都是 TComponent 类的子类。另外,用户还可以创建自己定义的特殊功能组件。本章主要介绍 Delphi 7 中常用组件的基本功能及主

31、要属性、方法等内容。 3.1 组件概述3.1.1 组件分类 1可视化组件(Visual Component)可视化组件在程序运行期间用户是可以看到的,也称为控件(Contro1) 。控件又有两种不同的类型,即基于窗口的和基于图形的。基于窗口的控件(即窗口控件)是指基于系统窗口的可视组件,具有窗口句柄,可以作为输人焦点并可以含有其他控件,如 Edit 组件。图形控件没有窗口句柄,不能作为输入焦点,也不能含有其他控件,如 Label 组件。2非可视化组件(Nonvisual Component)非可视化组件是指在程序运行期间用户是不可以看到的,是从 TComponent 但不是从TControl

32、派生出来的子类。3.1 组件概述3.1.2 组件的常用属性及事件在 Delphi 中,每一个组件都具有特定的属性、事件和方法。组件的属性是组件特性的描述,包括组件的外观特性(如位置、尺寸、外形、字体、可视性)和非可视化的特性,组件常见的基本属性见表 4-1。组件的事件是对组件所做的某个动作或系统的某些行为(如按下鼠标、双击鼠标、窗体装入等)的反应。每个组件都提供满足用户的各类事件处理器,当发生特殊事件时,应用程序将执行事件处理器中的代码。组件的常用事件及触发条件见表 4-2。组件的方法是指该类或对象类型实例的函数或过程,每一类组件都有自己的方法,以实现各种功能。3.1 组件概述3.1 组件概述

33、3.2 文本输入类组件3.2.1 TLabel 组件TLabel 标签组件位于组件面板的 Standard 选项卡上(如图 3-1) ,可以显示一个只读的字符串。通常利用 TLabel 标签组件在窗体上显示静态文本,如显示提示信息;也可显示动态文本,如用 TLabel 显示不断变化的当前时间。1用途TLabel 组件主要用来标识应用程序中的其他对象,最常见的用法是把标签放在其他组件的旁边,如放在文本框、Memo 框及单选按钮等组件的左侧或上方。标签上的文字信息有助于用户操作,也可为用户提供信息。3.2 文本输入类组件2主要属性和方法TLabel 组件常用的属性见表 3-1。下面介绍 TLabe

34、l 组件的主要属性和方法。(1) A1ign 属性:该属性决定 TLabel 组件的显示位置(使其位于窗口的某个部分) 。(2) Alignment 属性:该属性设置文字在水平方向的对齐方式。(3) AutoSize 属性:该属性决定标签的大小是否和文字保持一致,其默认值为 false,即标签的大小不随文字的大小而变化。(4) Layout 属性:该属性设置文字在垂直方向的对齐方式。(5) TransParent 属性:该属性决定标签是否透明显示,主要在图形操作时使用,如果将其设置为 true,则可透过标签看到背景图。(6) WordWrap 属性:该属性决定当 Autosize 属性为 tr

35、ue 时,文字超长时的显示方式。该属性为 true 时,则文字在纵向方向扩展,以多行显示;为 false 时,则文字在横向方向扩展,以完全容纳文本内容。3.2 文本输入类组件3.2.2 TEdit 组件TEdit 文本框组件位于组件面板的 Standard 选项卡上(如图 3-1) ,可以显示、编辑单独的一行文本。1用途TEdit 组件提供了一个编辑区域,用户可在区域中输入单行信息。TEdit 不但允许用户在文本框中输入数据,也可以用来显示查询的数据及提示信息。2主要属性和方法(1) AutoSelect 属性:该属性用来设置当 TEdit 组件获得输入焦点时,自动选中所有的文本。若它的值为

36、true,则当 Edit 组件获得输入焦点时,自动选中所有的文本;若它的值为 false,则当 Edit 组件获得输入焦点时,不自动选中所有的文本。3.2 文本输入类组件(2) AutoSize 属性:用于控制是否随字体的高度来改变编辑框的高度。当 AutoSize 设置为 true时,编辑框的高度会自动适应输入文字的字体高度。但要注意,该属性只有当 BorderStyle 属性设置为 bsSingle 时才有效。(3) CharCase 属性:该属性用于强制组件中的文本全部为大写(或小写)字母。(4) Enabled 属性:该属性决定文本框中的内容是否可以修改,其默认值为 true,即文本框

37、中的文本可以修改;当它的值为 false 时其中的文本不能修改。(5) Hint 属性:该属性用来设置所显示的提示信息。例如通过将该属性设置为“请输入职工姓名”,并将 ShowHint 属性设置为 true,则在应用程序运行时当用户将鼠标移到文本框并停顿片刻后,将显示引号中的提示信息。3.2 文本输入类组件(6) IME 属性:IME 是输入法编辑器(Input Method Editor)的英文缩写,通过设置该属性可以在输入焦点定位在 Edit 组件上时,自动实现输入法的切换。设置 ImeMode 属性:如果要设置为中文输入法,可以将 ImeMode 属性设置为 imChinese.设置 I

38、meName 属性:可以通过下拉组合框选择一个具体的输入法。(7) PasswordChar 属性:将用户输入的所有字符以同一个字符显示,其默认值是“#0”,表示编辑框直接显示用户输入的字符;如果将其设置为“*”,则不论用户输入什么,编辑框中都只显示“*”号,一般在键入密码时可以这样设置。(8) Clear 方法:该方法删除文本框中的所有文本。(9) ClearSelect 方法:该方法删除文本框中被选择的文本。如果文本框中没有被选择的文本,则不删除任何内容。3.2 文本输入类组件(10) CopyToClipboard 方法:该方法将文本框中已选择的文本拷贝到剪贴板上,并取代原来剪贴板中的所

39、有内容。如果用户未在文本框中选择任何文本,该方法的执行将不删除原来剪贴板的所有内容。(11) CutToClipboard 方法:该方法将文本框中已选择的文本拷贝到剪贴板上,并取代原来剪贴板中的所有内容,然后删除在文本框中被选中的内容。(12) PasteFromClipboard 方法:该方法将剪贴板上的内容拷贝到文本框中,并插入到文本框中光标所在的当前位置。(13) SelectAll 方法:该方法选择文本框中的所有文本。Edit 组件最常用的事件(也是默认事件)为 OnChange,一旦 Edit 组件中的文本内容发生了改变,就会触发 OnChange 事件。3.2 文本输入类组件【例

40、3-1】设计用户登录验证的窗体,用来接收用户输入的用户名和口令,单击 “确定”按钮进行验证,根据输入是否正确显示相应的提示信息。(1) 创建“人事管理” 文件夹,用来保存该应用程序代码。(2) 创建一个工程 RsglPrj.dpr,登录窗体设计界面如图 4-2 所示,包含六个组件,即两个Label 组件用于显示提示信息;两个 TEdit 组件(UseName 用于输入用户名,PassWord 用于输入用户口令) ;二个 TButton 组件。(3) 组件的属性设置。登录窗体所包含的各组件的主要属性设置见书表 3-7。(4) 编写 DengLu 窗体相应的程序代码。3.2 文本输入类组件3.2

41、文本输入类组件3.2.3 TMemo 组件TMemo 备注框组件位于组件面板的 Standard 选项卡上(如图 3-1) ,可以显示、编辑多行文本。1用途TMemo 组件为用户提供了一种处理多行文本的方法,还可用来快速阅读文件中的数据。尽管 TLabel、TEdit 和 TMemo 组件有许多相似之处,但它们的使用场合却有所不同。如果只显示用户不能修改的信息,可采用标签;如果用户只处理单行信息,则使用 TEdit 组件;如果用户要处理多行文本,那么只能采用 TMemo 组件。 3.2 文本输入类组件2主要属性TMemo 组件的很多属性(如 MaxLength、ReadOnly 和 Text

42、等)和 TEdit 组件的属性类似,相同属性的含义不再赘述。以下是 TMemo 组件的特殊属性。(1) Lines 属性:返回 TMemo 组件中文本的行数。(2) ScrollBars 属性:该属性用来设置 TMemo 组件是否有滚动条。(3) WantTabs 属性:该属性用来设置是否可以使用 Tab 键来进行文本编辑。其值设置为true,这时可以用 Tab 键来使 TMemo 组件获得输入焦点,但不能用 Tab 键从 TMemo 组件切换到其他组件,默认值为 false。3.2 文本输入类组件3.2.4 TRichEdit 组件TRichEdit 组件和 TMemo 组件几乎完全相同,但

43、是在 TRichEdit 组件中的文字可以有多种字体、多种颜色。TRichEdit 组件位于组件面板的 Win32 选项卡上,如图 3-3 所示。3.3 按钮类组件Delphi 7 为用户提供了三种按钮组件,也是平时在 Windows 应用程序时经常用到的按钮:普通按钮(TButton) 、位图按钮(TBitBtn)和快捷按钮(TSpeedButton) 。下面介绍与这些按钮有关的组件。3.3.1 TButton 组件TButton 命令按钮组件位于组件面板的 Standard 选项卡上,如图 3-1 所示。1用途TButton 组件是为用户提供用来选择执行命令的组件,通常称为命令按钮。按钮在

44、 Windows程序中应用非常广泛,它可以放在应用程序的任何地方,触发之后执行特定的操作。3.3 按钮类组件2主要属性(1) Cancel 属性:该属性决定按钮是否为 Cancel 按钮。当设置为 true 时,为 Cancel 按钮,即当用户按 Esc 键时,将执行按钮的 OnClick 事件处理程序。当窗体中有多个 Cancel 按钮时,则只调用 Tab Order 属性最小按钮的 OnClick 事件。(2) Caption 属性:该属性用来让用户识别组件,输入属性值显示在组件表面。(3) Default 属性:该属性决定按钮是否为默认按钮。如果将其设置为 true,则按钮为默认按钮,此

45、时当用户按 Enter 键时,将执行按钮的 OnClick 事件处理程序。(4) Enabled 属性:该属性决定按钮是否对鼠标、键盘和计时器事件做出响应。(5) ModalResult 属性:该属性确定按钮是否以及如何关闭其父窗体。(6) Name 属性:该属性是组件的名称,与 Caption 不同,它不显示在组件表面,而是在应用程序代码中作为组件的名称。3.3 按钮类组件3.3.2 TBitBtn 组件TBitBtn 位图按钮组件位于组件面板的 Additional 选项卡上(如图 3-4 所示) ,为图形按钮组件。3.3 按钮类组件2主要属性(1) Glyph 属性:该属性指定在用户选择

46、的位图按钮表面设置图形。单击该属性右边的“”按钮,弹出装入位图文件的 Picture Editor 对话框(如图 4-6) ,在其中单击 Load 按钮选择用户需要的位图,此时选择的位图将显示在对话框中,再单击 OK 按钮后,位图将显示在按钮上。(2) Kind 属性:该属性决定位图按钮的种类,包括bkAbort、bkAll、bkCancel、 bkClose、bkCustom、bkHelp、bkIgnore 、bkNo 、bkOK 、bkRetry、bkRetry。(3) Layout 属性:该属性决定位图在按钮上的显示位置,即位图可以显示在按钮的左边、右边、上边或下边。(4) Margin

47、 属性:该属性确定位图按钮边沿和位图边沿之间的距离,单位为像素。该属性的默认值为-1,表示位图和文字都在按钮的中间显示,但相互不重叠。(5) NumGlyphs 属性:当用户为位图按钮在 Glyph 属性中指定多个图像时,必须用该属性指定按钮要显示的图像,它的值可以是 14 之一,默认值为 1。3.3 按钮类组件(6) Spacing 属性:该属性确定位图按钮上图像和标题之间的间隔。该属性值可以是负数、0和正数,默认值为 4。(7) Style 属性:该属性决定位图按钮的外观,共有 3 种可能的值:bsAutoDetect、bsWin31 和bsNew,即位图按钮采用 Windows 哪一种版本的风格。 bsAutoDetect:表示当使用 Windows 3.x 时,位图按钮采用标准的 Windows 3.x 外观,当使用 Windows 3.x 以后的版本时,位图按钮采用较新的外观。 bsWin31:表示不考虑所运行的 Windows 版本而采用标准的 Win

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报