数据类型之记录(record)
在Object Pascal中用户自定的结构成为记录。它相当于C语言中的struct,Visual Basic中的Type。
记录(record)是一个集合,它把一组相关数据聚集在一个存储单元里,记录中的每个元素称作字段。
记录的声明和简单访问示例:
type MailingListRecord = record { 声明记录用关键字record} FirstName: string; LastName: string; Address: string; City: string; State: string; Zip: Integer; end; var MLRecord: MailingListRecord; { 定义一个该记录的变量} begin { 当使用记录时,用小圆点来访问它的字段} MLRecord.FirstName := 'Bruce'; MLRecord.LastName := 'Reisdorph'; MLRecord.Address := '123 Inspiration Pt.'; MLRecord.City := 'Merced'; MLRecord.State := 'CA'; MLRecord.Zip := 99999; { 使用with语句来简化上面的字段的输入} { with表示“用这个对象'MLRecord'做下列”} with MLRecord do begin FirstName := 'Bruce'; LastName := 'Reisdorph'; Address := '123 Inspiration Pt.'; City := 'Merced'; State := 'CA'; Zip := 99999; end; { with可以减少键入量,同时也使程序可读性更强} end;
当然记录也可以有数组,声明和使用记录数组不是太复杂,具体代码如下:
type MailingListRecord = record { 声明记录用关键字record} FirstName: string; LastName: string; Address: string; City: string; State: string; Zip: Integer; end; var MLRecord: array[0..9] of MailingListRecord; { 定义一个记录数组} begin { 当使用记录时,用小圆点来访问它的字段} MLRecord[0].FirstName := 'Bruce'; MLRecord[0].LastName := 'Reisdorph'; MLRecord[0].Address := '123 Inspiration Pt.'; MLRecord[0].City := 'Merced'; MLRecord[0].State := 'CA'; MLRecord[0].Zip := 99999; { 使用with语句来简化上面的字段的输入} { with表示“用这个对象'MLRecord'做下列”} with MLRecord[1] do begin FirstName := 'Bruce'; LastName := 'Reisdorph'; Address := '123 Inspiration Pt.'; City := 'Merced'; State := 'CA'; Zip := 99999; end; { with可以减少键入量,同时也使程序可读性更强} end;
当然Object Pascal也支持可变记录,以后我们再讨论吧。
以上代码均在Delphi7中测试通过。
posted on 2011-12-19 23:25 pchmonster 阅读(8717) 评论(0) 编辑 收藏 举报