分享
 
 
 

读书笔记:Delphi5开发人员指南 第二章(1)

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

最近上班总有一些零散的事情要处理,要负责同事们电脑的日常维护,以及一些软硬件方面的问题。所以就没有太多的时间用来读书。而且更加郁闷的是,上周末由于访问一个网站造成电脑中毒,尝试了很多方法清除都未能成功。病毒文件在安全模式下删除后重新启动又恢复了,修改注册表中的run也无效,几番修改也告失败。最终在判断方面出现错误,将系统文件误认为病毒文件删除,导致系统无法启动。最后只好ghost回去,无奈人太懒,平时ghost不及时,最终只恢复今年年初的一个ghost文件上。同时,上周所写的关于第二章的读书笔记也随着系统的恢复丢失。。。

惨痛教训:在桌面保存的文档丢失;favorite文件夹丢失;ftp地址丢失;一些程序需要重新安装。经过这次教训,让我更深刻体会到ghost文件的重要性,要常做常更新,有空就做备份。重要文件不要放到系统盘,不要放到桌面,如果放的话要注意备份Document and Setting中的相关文件。

无奈,只得将所看的部分重新翻看一遍,但是笔记却简单了不少。

第二章 Object Pascal 语言(1)

一、注解

{ramrk} or (*remark*) or //remark

二、过程和函数特征

1.Form1.show;==Form1.show();

2.重载: 要加关键字overload

Procedure hello(I : Interger); overload;

Procedure hello(S: String); overload;

Procedure hello(D:Double); overload;

3.缺省值

缺省值要放在最后,在声明时赋值。

Procedure HasDefVal(S:string; I:integer=0);

引用时,HasDefVal(‘hello’,26)or HasDefVal(‘hello’)第二种为省略了默认值I

三、数据类型

Pascal的数据类型比较多,在给过程或者函数进行参数传递的时候,实参和形参必须实同样的数据类型。

如果在调用dll或者obj等不是delphi的函数时,注意数据类型匹配(见书P23)

生存期自管理类型

除了A n s i S t r i n g以外, D e l p h i还提供了其他几种生存期自管理类型,这些类型包括:Wi d e S t r i n g、Va r i a n t、O l e Va r i a n t、i n t e r f a c e、d i s p i n t e r f a c e和动态数组。自动回收类型,使用时分配空间,离开作用域自动释放资源。

字符串:字符串的类型较多,存储空间和使用方法各有不同,使用时需注意。现在我们常用的就是String,编译器默认为就是AnsiString类型。该类型没有长度限制,同时与null结束的字符串相兼容。对于String类型也要注意存储空间的使用,如果指定了空间的大小,如str:string[8],当访问str[10]就会引起内存错误。

对于一般的应用,直接用string类型就好。

Variant类型:变量类型,使用的时候delphi会自动根据运算转换,但是如果都用Variant类型代替传统数据类型,会使程序代码加长,使其运行变慢。但在某些对数据类型要求很灵活的地方,用Variant是非常好的,也有很多针对Variant的函数可用(P37-38)

Empty or Null: 两者不同,Empty为空,而Null为非空,其值就为Null。

四、用户自定义类型

1.记录:相当于C中的Struct

Type

Myrec=record;

I: integer;

D: double;

End;

使用

Var

N:myrec;

Begin

n.i:=23;

n.d=3.5;

end;

2.集合:pascal特有的数据类型,必须是有序数、字符、枚举值

Type

TcharSet=Set of Char;

TENum=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday);

TEnumSet=Set of TEnum;//包括了TEnum值的任何组合,就是子集

TSubrangset=set of 1..10

注意,一个集合最多只能有255个元素

使用,

Var

Charset:Tcharset;

Enumset:TEnumset;

Alphaset:set of ‘A’..’z’;

Begin

CharSet:=[‘A’..’j’,’a’,’m’];

Enumset:=[Saturday, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday];

Alphaset:=[];//empty

End;

3.对象:可以当作是记录类型,只是它还包括了函数和过程

Type

TChildObject=class(TparentObject);

SomeVar: Integer;

Procedure SomeProc;

End;

4.指针:只是了内存的位置。似乎并不是在Windows程序编写中所必须的,如果是底层开发可能用处大些。以前学C的时候也重点学了指针,不过现在也都全忘了。

第二章就不像第一章那样通俗易懂了,不过也还好,毕竟是一些语法规则之类的死东西,但是很多是要你实践之后才能明白并且深刻理解的。这些语法做为编程的基础是必须掌握的,但仅仅看书是不够的,必须要能把这些语法规则放在实际的编程中加以体会,目前,我也是缺少实际演练这一项。这就使我在编程的时候很被动,常常是碰到了要用某些语法规则的时候才去看,大大降低了工作的效率

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有