打印本文 打印本文 关闭窗口 关闭窗口
读书笔记:Delphi5开发人员指南 第二章(1)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1860  更新时间:2009/4/23 18:27:00  文章录入:mintao  责任编辑:mintao

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

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

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

第二章  Object Pascal 语言(1)

一、注解

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

二、过程和函数特征

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

2.重载: 要加关键字overload

   Procedure hello(I : Interger); overload;

               Procedure hello(S: String); overload;

               Procedure hello(D:Double); overload;

3.缺省值

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

Procedure HasDefValSstring Iinteger0);

引用时,HasDefVal(‘hello’,26or 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 gVa r i a n tO l e Va r i a n ti n t e r f a c ed i s p i n t e r f a c e和动态数组。自动回收类型,使用时分配空间,离开作用域自动释放资源。

字符串:字符串的类型较多,存储空间和使用方法各有不同,使用时需注意。现在我们常用的就是String,编译器默认为就是AnsiString类型。该类型没有长度限制,同时与null结束的字符串相兼容。对于String类型也要注意存储空间的使用,如果指定了空间的大小,如strstring[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

TcharSetSet of Char;

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

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

TSubrangsetset of 1..10

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

使用,

Var

        Charset:Tcharset;

        Enumset:TEnumset;

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

Begin

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

      &n

[1] [2]  下一页

打印本文 打印本文 关闭窗口 关闭窗口