Delphi入门与提高

上传人:wan****21 文档编号:244659568 上传时间:2024-10-05 格式:PPT 页数:46 大小:242.49KB
返回 下载 相关 举报
Delphi入门与提高_第1页
第1页 / 共46页
Delphi入门与提高_第2页
第2页 / 共46页
Delphi入门与提高_第3页
第3页 / 共46页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Delphi 入门与提高,Delphi 基础知识,为什么选择 Delphi,可视化编程,方便易学,组件众多、编程效率高,建立在BDE上的数据库连结,功能强大的调试器,独立执行的应用,不需要运行库,一个简单的例程,procedure TForm1.Button1.Click(Sender:TObject);,begin,Label2.Caption:=,嗨!+,Edti1.Text+,欢迎来到,Delphi,的世界!;,end;,procedure TForm1。Button2.Click(Sender:TObject);,begin,Close;,end;,Object Pascal,常量和变量,数据类型,语句,过程和函数,程序结构,常量和变量,常量,变量,类型常量,常量,常量是在程序中多次引用的固定量的名字。它的值在程序执行期间保持不变,一般也不能改变。,常量的值可以是简单的一个数、一条字符串,也可以是其他常量的计算结果,语法:,const,常量名=常量值,示例:,const,CITY=,南京;,GreatCity=CITY+,是一座历史悠久 的城市;,变量,变量是一个特定数据实体,它有预定义的数据类型,并且可在内存中某个唯一地址存放指定类型的值。,变量可在程序运行的过程中动态的修改。,变量有四个属性:名称、类型、变量值和占用的内存地址。,语法,var,变量名1,变量名,n:,类型;,示例,var iMyAge:Integer;,sCityName:String;,类型常量,类型常量不是常量!缺省的情况下,它是静态变量。,只有当设置Assigned typed constants属性为否,或者添加$J-时,类型常量的值才不可以改变。,语法,const,类型常量名:类型=值;,示例,const MyAge:Integer=23;,数据类型,整数,实数,布尔数,字符串,集合,数组,指针,整数类型,类型,范围,状态,字节数,Integer,-2,31,2,31,-1,有符号,4,Cardinal,02,32,-1,无符号,4,ShortInt,-128127,有符号,1,Int64,-2,63,2,63,-1,有符号,8,Byte,0255,无符号,2,Word,065535,无符号,4,实数类型(浮点数),类型,范围,字节数,有效位数,Real,5.010,-324,1.710,308,8,1516,Single,1.510,-45,3.410,38,4,78,Double,5.010,-324,1.710,308,8,1516,Extended,3.610,-4951,1.710,4932,10,1920,Currency,-922337203685477.5808,922337203685477.5807,8,1920,数值类型的运算,算术运算,整数:+、-、*、/、,div(,整除)、,mod(,取余)。注意“/”运算符所的结果为实数,实数:+、-、*、/,逻辑运算,、=,位运算,not、and、or、,xor,、,shl,、,shr,(,位运算只能对整数进行操作),数值运算的溢出,整数溢出,除0(EZeroDivide),上溢(EOverFlow),下溢(EUnderFlow),布尔类型,Boolean类型只有两个值:TRUE和FALSE。,布尔变量支持三中逻辑运算:not、and和or,字符类型,类型,字符集,字节数,AnsiChar,SBCS,MBCS,1,WideChar,Unicode,2,Char,等价于,AnsiChar,1,Pascal 字符串,类型,最多字符,字节数,字符集,ShortString,255,2256,ANSI,向后兼容,AnsiString,2,31,42,GB,ANSI,(SBCS,MBCS),LongString,2,31,42,GB,ANSI,(SBCS,MBCS),WidString,2,30,42,GB,Unicode,*字符串类型,String,实际上声明的是,AnsiString,类型,Null 字符串,类型,说明,PChar,Null,式字符串,,ANSI,字符,向后兼容,PAnsiChar,Null,式字符串,,ANSI(SBCS,MBCS),PWideChar,Null,式字符串,,Unicode,字符集,PString,指向,String,的指针,Pointer,无类型指针,可以指向任何类型,字符与字符串,声明,var ch:Char(,字符),s:String(Pascal,字符串),p:PChar(Null,字符串),Name:Array 0.10 of Char,转换,p:=PChar(s);s:=String(p);,ch:=p1;ch:=s1;,枚举、子域和集合,枚举:,TFontStyle=(fsBold,fsItalic,fsUnderline,fsStrikeOut);,子域:,TMyNumber=1.100;,集合:集合类型名=,set of,元素类型,TFontStyles=set of TFontStyle;,TCharSet=set of Char,数组,一维静态数组,数据类型名称=,Array,下标定义,of,类型名称,数组的引用,数组名称下标,动态数组的长度设定,SetLength(,数组名称),type TIntArr=Array 0.99 of Integer;,var MyIntArr:TIntArr,或者,var MyIntArr:Array 0.99 of Integer;,MyIntArr0:=10;,指针类型,指针存放的并不是真正的数据,而是数据在内存中的地址,指针的值为,nil,时,代表它没有指向任何数据,指针也有类型,不经过强制类型转换,指针不能指向和自己类型不同的变量。,Pointer,类型的指针可以指向任何变量,var p:Pointer;,pInt:Integer;,iWidth:Integer;,iWidth:=30;,pInt:=iWidth;,iWidth:=pInt+1;,语句,表达式,赋值语句,复合语句,条件语句,循环语句,表达式以及操作符优先级,表达式是由操作符和操作数组成的,操作符有以下优先级,操作符,优先级,类别,not,1,单目运算,*/,div mod shl shr and,2,乘法运算,+-,or xor,3,加法运算,=,in,4,关系运算,赋值语句,赋值语句左右两边必须数据类型一致,或者赋值号右边的数据类型可转化成左边的类型。,对不同类型间进行赋值时,必须注意数据的截断等可能的错误,s:=你好,iWidth:=iRight iLeft,dSpace:=Double(iWidth),复合语句,复合语句以Begin开头,以End结尾,Pascal把它当作一条语句,复合语句书写时要注意缩进,Begin,语句1;,语句2;,语句,n;,End,条件语句,IfElseThen 语句,Case语句,IfElseThen 语句,当布尔表达式为真时,运行语句1,否则运行语句2,语句1后不能加分号,else总是和最近的if配对,if,布尔表达式,then,语句1,else,语句2;,if,布尔表达式1,then,begin,if,布尔表达式2,then,语句1,end,else if,布尔表达式3,then,语句2,else,语句3;,Case语句,当表达式的值在莫个值域中时,运行相应的语句,否则运行else后的语句,Case,表达式,of,值域1:语句1;,值域2:语句2;,值域,n:,语句,n;,else,语句,m;,end;,循环语句,While Do 语句,Repeat Until 语句,For 语句,while do 语句,当布尔表达式为真时,将一直运行循环体,while 语句中的循环体有可能一次也不运行,while,布尔表达式,do,语句,while,布尔表达式,do,begin,语句1;,end,repeat until 语句,当布尔表达式为真时,将终止运行循环体,repeat语句中的循环体最少运行一次,repeat语句不需要beginend,repeat,语句1;,语句2;,语句,n,until,布尔表达式,for 语句,变量再初值和终值之间时,运行循环体语句,变量只能是序数类型,for,变量:=初值,to,终值,do,语句;,for,变量:=初值,downto,终值,do,语句;,break 和 continue,break 跳出当前循环,continue 不运行后面的语句,直接开始下一次循环,for i:=0 to 99 do,begin,if MyArrIiMax then,continue;,Inc(iCount);,end,repeat,if not Assigned(p)then,break;,until p.Width 10,过程和函数,过程和函数统称子程序,都是指一段在程序中被调用的代码。,对于编程者来说,过程和函数主要的不同之处在于函数有返回值,而过程没有。,过程和函数的实现,procedure,过程名称(参数表);,局部声明块;,begin,可执行语句;,end;,function,函数名称(参数表):返回值类型,;,局部声明块,begin,可执行语句;,Result:=,函数返回值,end;,子程序的参数,子程序名(修饰词1 参数1:类型1;修饰词,n,参数,n:,类型,n),如果几个参数修饰词和类型相同(包括都没有修饰词),可以将它们合并到一起,;修饰词,m,参数,m,参数,m+1:,类型,m;,类型为数组时,不能带有数组的长度。,procedure DoProc(IntArr:Array0.99 of Integer);,procedure DoProc(IntArr:Array of Integer);,实际参数和形式参数,实参:调用子程序时,传递给子程序的参数,dReal:=GetRealValue(x);,形参:子程序实现部分所定义的参数,function GetRealValue(Value:Double):Double,参数的修饰词,无修饰词:数值参数,相当于函数的局部变量,可以改变,但不影响实参,const:,常量参数,相当于函数的常量,不能改变,var:,变量参数,相当于函数的局部变量,可以改变,并且影响实参,out:,外部参数,和变量参数类似,但不提供输入信息。,Object Pascal 常用过程与函数,字符串处理,IntToStr,UpperCase,Copy,数学计算,Sin,MaxIntValue,Round,Random,输入输出,WriteLn,Read,程序结构,工程组,工程,单元,工程,program Project1;,uses,Forms,Unit1 in Unit1.pas Form1;,$R*.RES,begin,Application.Initialize;,Application.CreateForm(TForm1,Form1);,Application.Run;,end.,单元,unit Unit2;,interface,uses,Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs;,type,TForm2=class(TForm),Button1:TButton;,procedure Button1Click(Sender:TObject);,private,public,end;,var,Form2:TForm2;,implementation,$R*.DFM,procedure TForm2.Button1Click(Sender:TObject);,begin,Close,end;,end.,单元的结构,Interface,接口
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!