当前位置:首页 > 教育培训 >

delphi2010自学教程

来源:原点资讯(www.yd166.com)时间:2023-06-01 08:01:08作者:YD166手机阅读>>

delphi2010自学教程,(1)

最初的Pascal 语言是以一些简单的概念为基础建立起来的,这些概念现在普遍出现在编程语言中。最重要的概念当属数据类型,数据类型决定了变量可取的值,以及可在这些值上进行的操作。Pascal 数据类型的概念强于C语言及早期的BASIC语言,在C语言中算术数据类型是可以互换的,而早期的BASIC语言中根本没有与数据类型相似的概念

关键字var

Pascal 变量在使用前必须声明,声明变量时必须指定一种数据类型。下面是变量声明的例子:

var Value: Integer; IsCorrect: Boolean; A, B: Char;

(1)关键字var可以在许多地方使用,放在函数或过程的开始部分,用来声明函数或过程的局部变量。也可以放在单元中,用于声明全局变量。

(2)var关键字之后是一组变量名列表,每个变量名后跟一个冒号和数据类型名,一行中可以声明多个变量,如上例中最后一句。

(3)一旦变量的类型被指定,你只能对变量执行该变量类型支持的操作。例如,在判断操作中用布尔值,在数字表达式中用整型值,你不能将布尔值和整型值混用(在C语言中可以这样)。

变量赋值

使用简单的赋值语句,可写出下面的代码:

Value := 10; IsCorrect := True;

但下面的语句是不正确的,因为两个变量数据类型不同:

Value := IsCorrect; // error

在Delphi中编译这句代码,会出现错误信息:Incompatible types: 'Integer' and 'Boolean'.(类型不兼容:‘整型’和‘布尔型’)。把一个 True 或 False 的值赋给一个整型变量没有什么意义。

初始值

所谓的初始值就是某个变量在第一次声明时所赋的值,需要特别注意的是在Delphi中全局变量是有默认初始值的,其初始值一般跟类型有关系,例如

program Project1; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; var Num: Integer; begin Writeln(Num); Readln; end.

上面案例中Num变量为全局变量而类型为Integer所以其初始值为0,当然全局变量还可以在声明时直接赋初始值,例如下面的代码

uses System.SysUtils; var Num: Integer=10; begin Writeln(Num); Readln; end.

局部变量不可以在声明的时候赋值,同时局部变量没有默认的初始值,如果不对局部变量做初始化赋值系统会给一个没有任何意义的随机值,所以在使用局部变量时首次引用建议是赋值操作

program Project1; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; procedure Show (); var Num: Integer; begin //此处打印输出Num的值为一个随机的整数 Writeln(Num); end; begin Show(); Readln; end.

这也是为什么我们在定义局部变量的时候开始都需要赋值为0或者nil的原因

关键建字const

对于在程序运行期间保持不变的值,Pascal 允许通过常量来声明。声明常量不必特定数据类型,但需要赋一个初值。编译器会根据所赋初值自动选用合适的数据类型。例如:

const Thousand = 1000; Pi = 3.14; AuthorName = 'Marco Cantù';

Delphi 根据常量的值来决定它的数据类型。上例中的Thousand 变量,Delphi会选用SmallInt数据类型 (短整型--能容纳Thousand变量的最小整数类型)。如果你想告诉Delphi 采用特定的类型,你可在声明中加入类型名,方法如下:

const Thousand: Integer = 1000;

对于声名的常量,编译器有两种编译选择:

(1)为常量分配内存,并把常量的值放入内存

(2)在常量每次使用时复制常量值。第二种方法比较适合简单常量。

常量其实也称为只读变量,含义即只能读不能写,也就是会说它的值不能改变

资源串常量

我的理解是这一类的常量被当作了程序的资源数据进行处理,例如当定义字符串常量时,你可这样写:

const AuthorName = 'Marco Cantù';

从Delphi 3 开始,你可以用另一种方式写:

resourcestring AuthorName = 'Marco Cantù';

上面两个语句都定义了一个常量,也就是定义了一个在程序运行期间保持不变的值,但两者的实现过程却不同,用**resourcestring **指令定义的字符串变量将被保存到程序资源的字符串表中。

例如:中设置了一个按钮, 相应代码如下:

resourcestring AuthorName = 'Marco Cantù'; BookName = 'Essential Pascal'; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage (BookName #13 AuthorName); end;

以上代码中的两个字符串将分两行输出显示,因为字符串被分行符 #13 隔开。

当你用资源编辑器打开执行文件时,你会在程序资源中看到你所定义的字符串。这意味着字符串并没有进入编译代码,而是保存在执行文件 (EXE文件) 的一个单独区域。

简而言之,采用资源的好处一方面可让Windows 来完成有效的内存处理,另一方面不用更改源代码就可实现程序的本地化 (把字符串翻译成不同的语言)。

栏目热文

网页名称与网站名称区别(网页标题和网站名称有什么区别)

网页名称与网站名称区别(网页标题和网站名称有什么区别)

  互联网时代,人们获得资讯的方式不再是传统的读书看报,看电视。而是通过互联网,在网上获取信息。所以我们总是能听到别人说...

2023-06-01 07:46:56查看全文 >>

国家职业资格证书查询(国家职业资格证书查询网站官方网)

国家职业资格证书查询(国家职业资格证书查询网站官方网)

职业技能等级证书是提升职场竞争力的“利器”有了它,能够升职加薪、获得补贴如何获得?哪里查询?这篇实用指南快收好!职业技能...

2023-06-01 07:48:50查看全文 >>

网站名和备案的名不一致可以吗(网站共用一个备案号可以吗)

网站名和备案的名不一致可以吗(网站共用一个备案号可以吗)

就在前几天,我名下有很多个网站曾经因为各种原因备案名称与实际网站名称不一致,结果被核查出来,收到了很多需要修改和整改的邮...

2023-06-01 08:15:23查看全文 >>

网站名和备案名不一致(备案网站和实际网名不一致)

网站名和备案名不一致(备案网站和实际网名不一致)

就在前几天,我名下有很多个网站曾经因为各种原因备案名称与实际网站名称不一致,结果被核查出来,收到了很多需要修改和整改的邮...

2023-06-01 08:07:07查看全文 >>

网站名称与证书上的名称不一致(手机网站名称与证书名称不一致怎么办)

网站名称与证书上的名称不一致(手机网站名称与证书名称不一致怎么办)

不知道大家在申请SSL证书安装的时候,有没有遇到过一些SSL证书错误,其中就有不少用户私信说如何解决SSL证书与网站域名...

2023-06-01 08:16:01查看全文 >>

delphi从入门到精通要多久(delphi自学需要多久)

delphi从入门到精通要多久(delphi自学需要多久)

入门篇(一)发布后,有人提出如何获得可供学习、开发使用的Delphi平台的问题,至少有三种方法可以获取:1、直接去Emb...

2023-06-01 08:24:09查看全文 >>

delphi程序员快失业了吗(delphi语言淘汰了吗)

delphi程序员快失业了吗(delphi语言淘汰了吗)

这一段时间,老看到头条上的朋友们在谈论“Delphi的没落”话题。作为一个Delphi老程序员,我有话说。我觉得谈不上没...

2023-06-01 07:48:35查看全文 >>

学delphi有前途吗(学编程以后就业做什么)

学delphi有前途吗(学编程以后就业做什么)

这一段时间,老看到头条上的朋友们在谈论“Delphi的没落”话题。作为一个Delphi老程序员,我有话说。我觉得谈不上没...

2023-06-01 07:45:59查看全文 >>

delphi 菜鸟教程(菜鸟教程delphi)

delphi 菜鸟教程(菜鸟教程delphi)

缘起文章已经停更许久了,感觉有点儿对不起粉丝朋友。但这也没办法,工作的事情已经让我焦头烂额一地鸡毛了。但是技术总是要学习...

2023-06-01 07:46:31查看全文 >>

delphi零基础自学(delphi开发技术大全)

delphi零基础自学(delphi开发技术大全)

入门篇(一)发布后,有人提出如何获得可供学习、开发使用的Delphi平台的问题,至少有三种方法可以获取:1、直接去Emb...

2023-06-01 08:22:48查看全文 >>

文档排行