unit base; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; {type中只是定义了一个名字,如果用var就是匿名类} type //类定义 TForm3 = class(TForm) private { Private declarations } public { Public declarations } end; //枚举定义 day=(sunday,monday,tuesday,wednesday,thursday,friday,saturday); letter='a'..'z'; //子界类型 schoolday=monday..friday ;//枚举类型的子界 art = Array[1..10] of real ;//定义数组 att1 =Array[day] of Integer ; //下标为枚举 art2 = Array[letter] of Integer ; //这样可以实现map类型了,呵呵 art3 =Array[1..2,1..9] of real ; //定义多维数组 art4 = packed array[1..3] of boolean ;//紧缩字符数组 set1 = set of 1..9 ; //集合 date2 = record day:1..31 ; d2:day ; end; fileType = File of real ; point = ^node ; node=record data : real ; link : point ; end; var Form3: TForm3; today : day ; nextchar:letter ; t:1..3 ; t2:(abc,def,ghe);//枚举,里的元素,只能在这里出现一次,例如上面day,与letter定义的,在这里不可定义 a:art ; b: array[1..6] of char ; c: array[1..3,1..5] of real ; //直接用多维数组 d:art3 ; s:set1 ; fileName : fileType ; q,p,r : point ; implementation {$R *.dfm} end.
一般对于pascal语法,先声明类型,然后才去定义这个变量,这样也会变得结构更加的清晰。 也可以一边定一去声明类型的,虽然这个方法不错,可是就不提倡这种方法,这样会使得不够清晰。