欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    [计算机软件及应用]DELPHI 6 教案.doc

    • 资源ID:4561515       资源大小:141KB        全文页数:35页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [计算机软件及应用]DELPHI 6 教案.doc

    DELPHI 6 教案主讲:张朝辉教材:清华大学出版社delphi 6编程基础一、编程语言的发展历程机器码汇编语言结构化的语言面向对象的语言可视化的面向对象语言Pascal属于结构化的语言Delphi 6属于可视化的面向对象语言二、PASCAL程序设计语言基础pascal语言的学习(视学生基础选讲)a) 编程语言的元素:变量,常量,运算符,表达式,语句,函数,过程b) 数据类型,数据结构c) 运算符的种类d) 如何定义变量和常量e) 赋值语句f) 输入和输出语句g) 控制流语句h) 定义和编写过程,函数i) 作用域内容提要1 PASCAL程序结构2 PASCAL程序的基本符号、保留字和标识符3 PASCAL中数据类型、常量、变量及说明方法4 函数及表达式重点1 PASCAL中数据类型、常量、变量及说明方法2 函数及表达式难点 常量、变量的区别及各自的说明方法内容讲授PASCAL语言是一种结构程序设计语言,它注重于语言的可靠性、易于难证性、概念清晰和实现的简化性,总可以将算法步骤剖解为顺序、分支、重复三种基本结构流程。1、PASCAL程序的结构PASCAL程序的结构(书写格式)非常严谨,它有严格的规定。如:Program changfangxing(input,output); 程序首部Var a,b,l,s:real; 程序说明部分 程序体Begin 程序执行体 readln(a,b); l:=2*(a+b); r:=a*b; writeln(l=,l,s=,s);End.以上是已知长方形的长a和宽b,求长方形周长l和面积s的程序。由上例可以看出PASCAL程序由两部分组成:1 程序首部 是指程序开头的部分,由“Program”开头,后接程序的名称(自定)以及参数表组成,由分号结束。其中参数表中最常用的参数为:input,output。注:PASCAL程序首部的参数可以省略。2 程序体 是指程序的主体部分,由两个小部分组成:说明部分和执行部分。 (1)说明部分: PASCAL语言要求用户要预先将程序中将要用到的标号、符号常量、类型、变量、记录、文件、以及用户自定义的函数和过程在此部分“说明、字义”。 (2)执行部分:在PASCAL程序中紧接着说明部分的是程序的执行部分,它是由“Begin”开始、由“End”结束、中间有若干条PASCAL语句组成的。PASCAL语句之间用“;”格开,可以一行写一条,也可以一行写多条(由个人习惯决定)。上例只是一个简单的PASCAL程序,一个复杂的PASCAL程序包括更多的说明语句和执行语句,下面是一个完整的PASCAL程序框架:program 程序名(程序参数表);label 标号说明;const 符号常量说明;type 类型说明;var 变量说明;function 函数说明;procedure 过程说明;begin 程序语句; 程序语句;end.2、PASCAL程序中的基本符号、保留字和标识符1基本符号PASCAL程序由一些基本符号构成:字母、数字、特殊符号。(1)字母:26个大写和26个小写;(2)数字:09;(3)特殊符号: * := ( ) ,:2保留字:是指PASCAL语言中一些具有特殊含义的英文单词,PASCAL语言中保留字共有36个,可分为如下六种类型:(1)程序、函数、过程的符号:program、function、procedure(2)说明部分的专用定义符号:array、const、file、label、packed、var、record、set、 type、of(3)语句专用符号:case、do、downto、else、for、goto、if、repeat、then、to、until、while、with、forward(4)运算符号:and、div、in、mod、not、or(5)分隔符号:begin、end(6)空指针常量:nil3标识符:是指由字母、数字、下划线构成的,且只能以字母或下划线开头的一个序列,该序列是用来作为特殊含义的,可用来表示参数名、符号常量、变量、类型、文件、函数、过程或程序的名字。标识符分为标准和自定义两种。标准标识符是系统规定的,如:标准常量:false(假)、true(真)、maxint(32767)标准类型:integer(整型)、real(实型)、char(字符型)、string(字符串型)、boolean(布尔型)、text(文本型)标准文件:input、output标准函数:abs、arctan、chr、cos、eof、eoln、exp、ln、odd、ord、pred、round、sin、sqr、sqrt、succ、trunc标准过程:get、new、pack、page、put、read、readln、reset、rewrite、unpack、write、writeln。注1:用户自定义的标识符不能与保留字及标准标识符同名。注2:PASCAL程序中大写与小写可混合使用,即大写小写一样。3、PASCAL中常用的数据类型、常量、变量及其说明方法数据类型简单类型构造类型指针类型标准类型整型、实型、字符型、布尔型用户自定义类型枚举型、子界型1在PASCAL中数据可以为三大类:注:整型、字符型、布尔型、枚举型、子界型为顺序类型,即该类型的数据相互之间是有序的。下面来分别介绍这几种标准数据类型。(1)整型数据 integer整数类型包括正整数、负整数和零。在PASCAL中整数的取值是有范围规定的,这与计算机的字长有关,PC机的字长为16位,则整型数据的取值范围是:-3276832767。但是这种整数不能表示出所有的整数,范围小,于是PASCAL还提供了以下四种整型:名称类型标识符数据表示范围短整型Shortint-128127长整型Longint-21474836482147483648字节型Byte0255字型word065536关于整数的运算符有+、-、*、div(整除)、mod (整除取余),后三种运算符的优先级高于前两种,且运算结果也为整数。(2)实型数据 real实数类型包括正实数、负实数和实数零。用两种方法表示实数:十进制表示法和科学法。十进制表示法就是我们日常使用的带小数点的表示方法。注意小数点前后都必须有数字。一个整数可以当实数使用,但一个小数部分为零的实数不可以当作整型数据使用。科学表示法就是采用指数形式的表示方法来表示实数。如:2.5E4表示2.5×104,即25000。其中E4表示×104。对于字长为16的计算机,其实数的绝对值在1E-38到1E38之间。同样,此种类型实数表示范围小,于是PASCAL还提供了以下四种实数:单精度型(single)、双精度型(double)、扩展型(extended)及装配十进制型(comp)。注意:在使用这四种实型时,必须在程序开始打开编译开关:$N+。关于实数的运算符有+、-、*、/,后两种运算优先级高于前两种运算符。注意:如果整数参与实数运算符的运算,系统自动将其转换为实数后再运算,运算结果仍为实数。(3)字符型数据 char所谓字符型数据就是括在两个单引号之间的ASCII字符集中的一个字符。如:A表示字符A,1表示字符1。由两个单引号括起来的一串字符则叫做字符串。用标识符string表示。(4)布尔型数据 Boolean布尔型数据只有两个:真(true)和假(false)。这两个值是有序的:false<true。布尔型数据的运算符有:not(非)、and(与)、or(或)。Not表示对原值取反,这就相当于是电灯开关,它将原值从一值改为另一值。And表示对两个布尔型的数据进行“与”运算,只要有一值是false,则运算结果也为false,这就好象是电路中两个串联的开关,只要有一个不合上,则电路就不通。OR表示对两个布尔型数据进行“或”运算,只要有一值是true,则运算结果也为true,这就好象是电路中的两个并联开关,只要有一个合上了,则电路就通了。2PASCAL程序中的常量在PASCAL程序中常有一些在程序执行过程中值保持不变的量,我们称之为常量。如:5,false,maxint,3.1415926等。有时在程序中多次使用到同一个数值常量,为了便于修改,我们可用一个自定义的标识符代替该数值常量,即符号常量。PASCAL程序中规定,符号常量在使用之必须在说明部分const区中予以说明。例如:const pi=3.1415926535;注:常量的定义且有单一性和不改变性,即一个符号常量只能代表唯一的值,例如:下列定义是错误的:const a,b=20; c=100 or 50;3PASCAL程序中的变量在PASCAL程序中,变量是指在程序执行的过程中值可以改变的数据,每个变量均有自己的名称和自己的类型(即其中所存放的数据的类型)。PASCAL中规定变量也必须在使用之前在说明部分的VAR区予以说明,说明其名称和类型,格式为:VAR 变量名:变量类型;例如:var a:integer; b:real; c:Boolean;上例说明一个整型变量a,一个实型变量b,一个布尔型变量c。4、PASCAL程序中的系统函数与表达式1函数在PASCAL中函数是按指定的处理办法对原始数据处理得到一个结果的方法,原始数据称为自变量(也可称为参数),结果称为因变量(也可称为返回值),每个函数均有一个名称。在调用函数处理某数据时,只要调用函数名并按参数的个数、类型、含义,依次将原始数据代入函数即可。调用函数的格式为:函数名(参数1,参数2,参数3)注:函数的处理结果一般都是有个值的,所以函数不能单独成为一条语句。PASCAL中的函数分为标准函数和自定义函数两种。下面来看看常用的标准函数。函数标识符自变量类型函数类型(即返回值的类型)功能Abs(x)Real、integerReal、integer求自变量x的绝对值Sqr(x)Real、integerreal、integer求自变量x的平方值Sqrt(x)Integerreal求自变量x的算术平方根Ord(x)integer、char、booleaninteger求自变量x在其所在的数据类型中的序号Chr(x)Integerchar求自变量x作为ASCII码时所对应的ASCII字符Turnc(x)Realinteger截去自变量x的小数部分Odd(x)Integerboolean判断自变量x的奇偶性,若是奇数则返回true,否则返回falsePred(x)Integer、char、booleanInteger、char、boolean求自变量x在其所属的数据类型中的前一个数值Succ(x)Integer、char、booleanInteger、char、boolean求自变量x在其所属的数据类型中的后一个数值Exp(x)Integer、realreal求以e为底的指数值(即e的x次方值)Ln(x)Integer、realreal求自然对数Round(x)Realinteger将自变量x的小数部分四舍五入2表达式在PASCAL中基本运算符有五种,如下表:运算符操作数类型结果类型算术运算+、-、*、integer、realinteger、real/Integer、realRealDiv、modIntegerInteger关系运算=、<>文件类型以外的种种数据类型boolean<、>标准类型、枚举类型、子界类型<=、>=标准类型、枚举类型、子界类型、集合in顺序类型、集合逻辑运算Not、and、or布尔boolean集合运算+、-、*集合集合赋值运算:=除文件类型以外的各种数据类型除文件类型以外的各种数据类型当表达式中出现两个以上的运算符时,必须规定它们的运算次序,即优先级。运算符的优先级别如下: 同级运算从左到右依次计算,不同级别的运算按从高到低的顺序运算; 括号优先级最高,从内到外逐层降低; not的优先级别为4 *、/、div、mod、and优先级别为3 +、-、or优先级别为2 关系运算符及in 优先级别为1由常量、变量、函数、括号、集合及运算符联结起来的式子,我们称之为表达式。单个的常量、变量、函数都可以看成是一个表达式。表达式一般分为:算术表达(由算术运算符将各种量连接起来式子)、关系表达式(用来对两个类型数据进行比较的式子)和逻辑表达式(通过逻辑运算符将基本条件表达式连接起来的式子)。作业填空:1 的PASCAL表达式是 。2一元二次方程的根的PASCAL的表达式是。3表达式 2/4*5 的值是 。 表达式 10*4 mod 5 *22 /4 *5 的值是。4i 是 j 的整数倍的布尔表达式是 。 m 是偶数的布尔表达式是 。 y 在 2 至 1之间的表达式是 。 y 是闰年的布尔表达式是 。5有一编码规则如下:原码:A B C X Y Z密码:Z Y X C B A已知原码变量为x,则密码的表达式为:。三、Delphi的使用Delphi的基本形式Delphi实际上是Pascal语言的一种版本,但它与传统的Pascal语言有天壤之别。一个Delphi程序首先是应用程序框架,而这一框架正是应用程序的“骨架”。在骨架上即使没有附着任何东西,仍可以严格地按照设计运行。您的工作只是在“骨架”中加入您的程序。缺省的应用程序是一个空白的窗体(Form),您可以运行它,结果得到一个空白的窗口。这个窗口具有Windows窗口的全部性质:可以被放大缩小、移动、最大最小化等,但您却没有编写一行程序。因此,可以说应用程序框架通过提供所有应用程序共有的东西,为用户应用程序的开发打下了良好的基础。Delphi已经为您做好了一切基础工作程序框架就是一个已经完成的可运行应用程序,只是不处理任何事情。您所需要做的,只是在程序中加入完成您所需功能的代码而已。在空白窗口的背后,应用程序的框架正在等待用户的输入。由于您并未告诉它接收到用户输入后作何反应,窗口除了响应Windows的基本操作(移动、缩放等)外,它只是接受用户的输入,然后再忽略。Delphi把Windows编程的回调、句柄处理等繁复过程都放在一个不可见的Romulam覆盖物下面,这样您可以不为它们所困扰,轻松从容地对可视部件进行编程。面向对象编程的概念面向对象的程序设计(Object-Oriented Programming,简记为OOP)是Delphi诞生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。而Delphi是完全面向对象的,这就使得Delphi成为一种触手可及的促进软件重用的开发工具,从而具有强大的吸引力。Delphi的文件结构:工程文件:工程代码文件(dpr),工程配置文件(cfg),工程选项文件(dof)窗体文件:窗体描述文件(dfm),窗体代码文件(pas)单元文件:单元头文件(pas) 桌面文件:桌面文件(dsk)DELPHI的代码结构:1、工程文件program Project1;工程明称uses Forms, Unit1 in 'Unit1.pas' Form1;单元名常量声明类型声明变量声明函数和过程声明$R *.resbegin Application.Initialize;初始化语句 Application.CreateForm(TForm1, Form1); Application.Run;end.2、单元文件unit Unit1;单元明interface接口部分uses引用单元列表 常量声明,类型声明,变量声明,函数和过程声明Implementation执行部分$R *.dfmuses 单元列表 公共常量,变量,类型,函数和过程的声明函数和过程的实现initialization初始部分初始化指令finalization终结部分终结指令end.Delphi中的过程和函数:编写一个过程或函数在您开发Delphi应用程序时,所需的大部分代码都编写在事件处理过程中,但有时仍然需要编写不是事件处理过程的函数或过程。例如,您可以把在多个事件处理过程中用得到语句编写成过程,然后任何事件处理过程、过程、函数都可以象调用已经存在的过程或函数一样直接调用它。好处是您只需编写一次代码,而且程序代码会比较清楚。1、一个自行编写的函数例程编写下面的函数,检查编辑框中是否有值,如无值,则提醒用户输入:function NoValue(AnEditBox:TEdit):Boolean;beginif AnEditBox.Text='' thenbeginAnEditBox.Color := clRed;AnEditBox.Text := '请输入整数值'Result := True;endelsebeginAnEditBox.Color := clWindow;Result := False;end;end;NoValue函数会检查编辑框是否为空,如果是,编辑框颜色变红,并提醒用户输入一个整数,然后函数返回真值;Result保留字在Delphi中用来专指函数返回值。在上文的例程中加入NoValue函数:procedure TForm1.AddClick(Sender: TObject);/add是一个button的namevarFirstNumber,SecondNumber : Integer;beginif NoValue(Edit1)or NoValue(Edit2) thenexit;Count := Count + 1;Counter.Text := IntToStr(Count);FirstNumber := StrToInt(Edit1.Text);SecondNumber := StrToInt(Edit2.Text);Edit3.Text := IntToStr(FirstNumber+SecondNumber);end;如果其中的任何一个返回真值,则表示有编辑框空,会执行exit过程,使得当前的程序模块停止执行,并使得编辑框出现输值提示。当新值被输入后,再执行程序时,红色提示被隐去,恢复正常的计算状态。2、过程和函数的标题每一个过程或函数都以标题开始,其中包括过程或函数的名称和它使用的参数。过程以保留字procedure开始,函数以保留字function开始。参数位于括号里面,每一个参数以分号分隔。例如:procedure validateDate(Day : Integer; month : Integer; Year : Integer);您也可以将相同类型的参数组合在一起,则上述过程头写作:procedure ValidateDate(Day, Month, Year : Integer);函数在标题中还多了一项:返回值的类型。下面是一个返回值为Double型的函数标题:function CalculateInterest(principal,InterestRate:Double):Double;3、函数和过程中的类型说明一个过程或函数程序模块也含有说明部分和语句部分。说明部分可以包括类型说明、变量说明、常量说明等。除了Object Pascal语言中已经定义的类型之外,Delphi的应用程序还可以建立新的数据类型。类型说明部分有保留字type开始。下面是一些类型的说明:type Tcount = Integer;TPrimaryColor = (Red,Yellow,Blue);TTestIndex = 1.100;TTextValue = -99.99;TTestList = array TTestIndex of TTestValue;TCharVal = Ord('A').Ord('Z') ;Today = (Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday) ;在类型标识符后面,用“”号定义了新的类型。类型界定了变量的取值范围,例如,TCount类型的变量必须是整形值;一个TPrimaryColor类型的变量只能是red、yellow或blue等等。每一个类型的名称都是由字母T开始,这并非必须的,但它是Delphi的惯例,在区别类型名和标识符时非常有用。类型说明可以是局部的,也可以是全局的。如果您把它放在implementation后面,则表明对于库单元来讲,它是全局的,所有的事件处理过程和其他的过程、函数都可以调用它。如果类型是在过程中被说明的,则是局部的,离开这一过程,该类型将失效。一般来讲,在过程和函数中,任何类型说明都在变量说明之前,而任何变量说明都在常量之前。但是,只要遵从说明必须在过程与函数的标题之后,而且在程序代码之前,即是有效的。附例:(大小写转换的函数)unit Unit2;interface uses Sysutils ; function lowcasetouppercase(xx:string):string;implementation function lowcasetouppercase(xx:string):string; var j1,j2,j:string; dxje:string; /大写金额 m,i:integer; begin dxje:='' m:= pos('.',xx); /当没有.时,pos的返回值为0 if m=0 then j:=xx+'00' else begin case length(xx)-m of 1:begin j1:=copy(xx,1,m-1); j2:=copy(xx,m+1,1); j:=j1+j2+'0' end; 2:begin j1:=copy(xx,1,m-1); j2:=copy(xx,m+1,2); j:=j1+j2; end; end; end; for i:=0 to length(j)-1 do begin case i of 0: dxje:='分'+dxje; 1: dxje:='角'+dxje; 2: dxje:='元'+dxje; 3: dxje:='拾'+dxje; 4: dxje:='佰'+dxje; 5: dxje:='仟'+dxje; 6: dxje:='万'+dxje; 7: dxje:='拾'+dxje; 8: dxje:='佰'+dxje; 9: dxje:='仟'+dxje; end; case strtoint(copy(j,length(j)-i,1) of 1: dxje:='壹'+dxje; 2: dxje:='贰'+dxje; 3: dxje:='叁'+dxje; 4: dxje:='肆'+dxje; 5: dxje:='伍'+dxje; 6: dxje:='陆'+dxje; 7: dxje:='柒'+dxje; 8: dxje:='捌'+dxje; 9: dxje:='玖'+dxje; 0: dxje:='零'+dxje; end; end; result:=dxje; end;end.类和对象:1什么是对象 一个对象是一个数据类型。对象就象记录一样,是一种数据结构。按最简单的理解,我们可以将对象理解成一个记录。但实际上,对象是一种定义不确切的术语,它常用来定义抽象的事务,是构成应用程序的项目,其内涵远比记录要丰富。在本书中,对象可被理解为可视化部件如按钮、标签、表等。了解对象,最关键的是掌握对象的特性。一个对象,其最突出的特征有三个:封装性、继承性、多态性。1.1 对象的封装性对对象最基本的理解是把数据和代码组合在同一个结构中,这就是对象的封装特性。将对象的数据域封闭在对象的内部,使得外部程序必需而且只能使用正确的方法才能对要读写的数据域进行访问。封装性意味着数据和代码一起出现在同一结构中,如果需要的话,可以在数据周围砌上“围墙”,只有用对象类的方法才能在“围墙”上打开缺口。1.2 对象的继承性继承性的含义直接而且显然。它是指把一个新的对象定义成为已存在对象的后代;新对象继承了旧类的一切东西。在往新对象中添加任何新内容以前,父类的每一个字段和方法都已存在于子类中,父类是创建子类的基石。1.3 对象的多态性多态性是在对象体系中把设想和实现分开的手段。如果说继承性是系统的布局手段,多态性就是其功能实现的方法。多态性意味着某种概括的动作可以由特定的方式来实现,这取决于执行该动作的对象。多态性允许以类似的方式处理类体系中类似的对象。根据特定的任务,一个应用程序被分解成许多对象,多态性把高级设计处理的设想如新对象的创建、对象在屏幕上的重显、程序运行的其它抽象描述等,留给知道该如何完美的处理它们的对象去实现。1.4 通过Delphi实例了解对象让我们结合Delphi的实例讨论对象的概念:当您要建立一个新工程时,Delphi 将显示一个窗体作为设计的基础。在程序编辑器中,Delphi将这个窗体说明为一个新的对象类型,并同时在与窗体相关联的库单元中生成了创建这个新窗体对象的程序代码。unit Unit1;interfaceuses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs;typeTForm1 = class(TForm) 窗体的类型说明开始private Private declarations public Public declarations end; 窗体的类型说明结束varForm1: TForm1; 说明一个窗体变量implementation$R *.DFM end.新的窗体类型是TForm1,它是从TForm继承下来的一个对象。它具有对象的特征:含有域或方法。由于您未给窗体加入任何部件,所以它只有从TForm类中继承的域和方法,在窗体对象的类型说明中,您是看不到任何域、方法的说明的。Form1称为TForm1类型的实例(instance)。您可以说明多个对象类型的实例,例如在多文档界面(MDI)中管理多个子窗口时就要进行这样的说明。每一个实例都有自己的说明,但所有的实例却共用相同的代码。假设您向窗体中加入了一个按钮部件,并对这个按钮建立了一个OnClick事件处理过程。再查看Unit1的源程序,会发现TForm1的类型说明部分如下:typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);private Private declarations public Public declarations end;现在TForm1对象有了一个名为Button1的域:它是您在窗体中加入的按钮。TButton是一个对象类型,Button1是Tbutton的一个实例。它被TForm1对象所包含,作为它的数据域。每当您在窗体中加入一个部件时,部件的名称就会作为TFom1的域加入到类型说明中来。在Delphi中,您所编写的事件处理过程都是窗体对象的方法。每当您建立一个事件处理过程,就会在窗体的对象类型中说明一个方法。当您使用Object Inspector来改变对象(部件)的名称时,这个名称的改变会反映到程序中。例如,在Object Inspector中将Form1的Name属性命名为ColorBox,您会发现在类型说明部分,会将前文的TForm1改为:TColorBox=class(TForm);并且在变量说明部分,会说明ColorBox为TColorBox类型的变量,由Delphi自动产生的事件处理过程名称会自动改为TColorBox.Button1Click;但您自行编写的实现部分的代码却不会被自动修改。因此,如果您在改变Name属性前编写了程序,则您必须将事件处理过程中的对象名称进行改变。所以,原先的Form1.Color要改为ColorBox.Color。2 从一个对象中继承数据和方法前面的TForm1类型是很简单的,因为它只含有域Button1和方法Button1Click。但是在这个窗体上,您可以改变窗体的大小、加入或删除窗体的最大最小化按钮,或设置这个窗体为MDI界面。对于一个只包含一个域和方法的对象来讲,您并没有看到显式的支持程序。在窗体上单击鼠标或用Object Inspector的上端的Object Selector选中Form1对象,按动F1查阅它的在线帮助,您会在Properties和Method中找到它的继承到的全部属性和方法。这些是在TForm类型中说明的,TForm1是TForm的子类,直接继承了它所有的域、方法、属性和事件。例如窗体的颜色属性Color就是在TForm中说明的。当您在工程中加入一个新窗体时,就等于加入了一个基本模型。通过不断地在窗体中加入部件,您就自行定义了一个新的窗体。要自定义任何对象,您都将从已经存在的对象中继承域和方法,建立一个该种对象的子类。例如对象TForm1就被说明为对象TForm的子类,拥有一个窗体部件的基本属性或方法。只有当您在窗体中加入了部件或编写了事件处理过程时,Form1才成为您自己的类型。一个比较特殊的对象是从一个范围较广或较一般的对象中继承下来的,它是这个特别对象的祖先,这个对象则称为祖先的后代。一个对象只能有一个直接的祖先,但是它可以有许多后代。TForm是TForm1类型的祖先,所有的窗体对象都是TForm的后代。用F1查阅窗体的在线帮助时,您会发现TForm被称为component(部件)。这是因为所有的部件都是对象。图2.4是Delphi的Visual Component Library结构简图:图 2.4 简化的Delphi VCL结构图在这个结构中所有的部件都是对象。部件类型TComponent从TObject类型中继承数据和程序代码,并具有额外的可以用作特殊用途的属性、方法、事件,所以部件可以直接和用户打交道,记录它的状态并存贮到文件中等等。控制类型TControl从TComponent中继承而来,又增加了新的功能,如它可以显示一个对象。在上图中,虽然TCheckBox不是直接由TObject继承来的,但是它仍然有任何对象所拥有的属性,因为在VCL结构中,TCheckBox终究还是从TObject 中继承了所有功能的特殊对象,但它还有些自行定义的独到的功能,如可以选择记录状态等。3 对象的范围3.1 关于对象的范围一个对象的范围决定了它的数据域、属性值、方法的活动范围和访问范围。在一个对象的说明部分说明的数据域、属性值、方法都只是在这个对象的范围中,而且只有这个对象和它的后代才能拥有它们。虽然这些方法的实际程序代码可能是在这个对象之外的程序库单元中,但这些方法仍然在这个对象的范围内,因为它们是在这个对象的说明部分中说明的。当您在一个对象的事件处理过程中编写程序代码来访问这个对象的属性值、方法或域时,您不需要在这些标识符之前加上这个对象变量的名称。例如,如果您在一个新窗体上加入一个按钮和一个编辑框,并为这个按钮编写OnClick事件处理过程:procedure TForm1.Button1Click(Sender:Tobject);beginColor :=clFuchsia;Edit1.Color :=clLime;

    注意事项

    本文([计算机软件及应用]DELPHI 6 教案.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开