易截截图软件、单文件、免安装、纯绿色、仅160KB

Delphi Enum

枚举类型
  Pascal程序不仅用于数值处理,还更广泛地用于处理非数值的数据。例如,性别、月份、星期几、颜色、单位名、学历、职业等。
1、枚举类型的定义
格式: type 枚举类型标识符=(标识符1,标识符2,…,标识符n)
2、枚举类型数据特点
① 枚举元素只能是标识符;
例如,下列类型定义是合法的:
   type days=(sun,mon,tue,wed,thu,fri,sat);
   colors=(red,yellow,blue,white,black,green);
   而下列类型定义是错误的:
   type colortype=('red','yellow','blue','white');
   numbers=(1,3,5,7,9);
定义枚举类型时列出的所有枚举元素构成了这种枚举类型的值域(取值范围)。
② 枚举类型属于顺序类型
  根据定义类型时各枚举元素的排列顺序确定它们的序号,且序号从0开始。
例如,定义type days=(sun,mon,tue,wed,thu,fri,sat);
则, ord(sun)=0,ord(mon)=1,……,以此类推。
枚举类型中的第一个元素无前趋,最后一个元素无后继。
pred(sat)=fri; succ(sun)=mon; ord(sat)=6;
③ 同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。如下列定义是错误的:
   type color1=(red,yellow,white);
     color2=(blue,red,black); 
因为red属于枚举类型color1和 color2
④ 枚举类型变量只能进行赋值运算和关系运算,不能进行算术运算和逻辑运算。
  在枚举元素比较时,实际上是对其序号的比较。
 例如定义如下:
   type days=(sun,mon,tue,wed,thu,fri,sat);
     colors=(red,yellow,blue,white,black,green);
   var color:colors;
     weekday:days;
 则下面语句是合法的: weekday:=mon;
   if weekday=sun then write('rest');
 而下面语句是不合法的:
mon:=1; 错把枚举值当成变量名;
weekday:=blue; 枚举值blue不属于枚举变量weekday的值域;
read(color); 枚举类型变量 不能用读语句进行赋值;
write(weekday); writeln(blue);不能通过写语句输出枚举类型的变量值和枚举值。
⑤ 可以把变量的说明与类型的定义合并在一起,如:
  var holiday,workday:(sun,mon,tue,wed,thu,fri,sat);
    color:(red,yellow,blue,white,black,green);
对枚举数据的输入与输出可通过间接方式进行。输入时,一般可输入一个代码,通过程序进行转换,输出时,也只是打印出与枚举元素相对应的字符串。这在后面的例题中将有使用示例。
二、枚举类型


相关文档:

delphi中application.processmessages的作用


delphi中application.processmessages的作用

procedure TForm1.Button2Click(Sender: TObject);
var
   I, J, X, Y: Word;
begin
   I := 0;
   J := 0;
   while I < 64000 do
   begin
     Randomize;
   & ......

Delphi 中串口通讯的实现

  Delphi 是新一代可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,是全球公认的快速应用开发工具技术的先驱者,它越来越在构架企业信息系统方面发挥着重要作用。由于Delphi 这些显著特点,许多程序员选择Delphi作为开发工具编制各种应用程序。但是,令人惋惜的是Delphi没有自带串口 ......

怎样用DELPHI接收摄像头的图象

community.csdn.net/Expert/topic/3423/3423580.xml?temp=.7675897
主  题:  怎样用DELPHI接收摄像头的图象 
作  者:  benbenpear (笨笨) 
等  级:   
信 誉 值:  100 
所属社区:  Delphi GAME,图形处理/多媒体 
问题点数:  0  ......

Delphi 实现程序 动态 类名

1、首先将delphi中Controls单元提取
2、修改Controls单元中如下部分:
procedure TWinControl.CreateParams(var Params: TCreateParams);
begin
FillChar(Params, SizeOf(Params), 0);
with Params do
begin
    Caption := FText;
    Style := WS_CHILD or WS_CLIPSIBLINGS;
&nbs ......

Delphi Copy函数效率的问题

技术交流,DH讲解. 最近和肥鸟交流了下关于字符串方面的知识,而这篇文章是很久以前写的,现在发出来吧. 我们写两段代码来对比下:
第一个用Copy函数:
procedure TForm1.Button1Click(Sender: TObject);
var
a,c:Cardinal;
n:Integer;
D:Double;
i:Integer;
b:string;
begin
c:=0; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号