delphi 10.4 数据库图文教程(Delphi基础教程图文版之数据类型)

delphi 10.4 数据库图文教程(Delphi基础教程图文版之数据类型)(1)

集合类型

在pascal中,一个集合是由具有同一有序类型的一组数据元素所组成,这一有序类型称为该集合的基类型。

有的人觉得Delphi中的集合没啥用途,这些人里面包括我自己,实际上并不是,它也有很多应用场景,例如:以前在程序中总要先从数据库中取出好多元素,然后逐个判断,现在使用集合完全可以避免这种操作

定义和说明

基础语法: set of 基类型;

基类型可以是任意顺序类型, 而不能是实型或其它构造类型。同时,基类型的数据的序号不得超过255。因为子界类型和枚举类型都是有序的,所以他们可以联用,如下:

function IsContainCharacter(Character: Char): Boolean; var Chars: set of 'A' .. 'Z'; begin Result := Character in Chars; end; begin try Writeln(IsContainCharacter('B')); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end; Readln; end.

注意:因为集合的元素个数不超过256个,因此 var s:set of integer; 是错误的。

元素遍历

procedure ListCharacters(); var Chars: set of char; Str: string; begin Chars := ['A' .. 'J', 'a', 'm']; for var C in Chars do begin Str := Str C; end; Writeln(Str); end; begin ListCharacters; Readln; end.

其他操作

type TEnum = (One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten); TSetEnum = set of TEnum; //初始化 procedure TForm4.Button3Click(Sender: TObject); begin SetEnum := [one, Two]; SetEnum1 := [Three, Nine, Ten] end; //集合减少 procedure TForm4.Button5Click(Sender: TObject); begin SetEnum := SetEnum - [Two]; end; //集合增加 procedure TForm4.Button6Click(Sender: TObject); begin SetEnum := SetEnum [Three]; end; //集合减少 procedure TForm4.Button7Click(Sender: TObject); begin Exclude(SetEnum, One); end; //集合增加 procedure TForm4.Button4Click(Sender: TObject); begin Include(SetEnum, Four); Include(SetEnum, Ten); end;

虽然通过 -符号可以实现对集合元素的操作,但是比较推荐的用法还是尽量使用Include和Exclude完成

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页