Delphi集合

    技术2022-06-30  81

     

    集合 //定义 type Uppercase = 'A'..'Z'; Letters = set of Uppercase; //基于子界定义 TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp); TBorderIcons = set of TBorderIcon; //基于枚举定义
    //应用 type Uppercase = 'A'..'Z'; Letters = set of Uppercase; //基于子界定义 var L1, L2, L3: Letters; begin L1 := ['A', 'B', 'C']; L2 := ['K']; L3 := []; if 'A' in L1 then ShowMessage('true'); //true if L2=['K'] then ShowMessage('true'); //true if L3=[] then ShowMessage('true'); //true end;
    //判断是否属于集合 type TSet = set of (A,B,C); var set1: TSet; begin set1 := [A,B]; if A in set1 then ShowMessage('集合 set1 包含 A'); end;
    //集合元素的增减 type TSet = set of (A,B,C); var set1: TSet; begin set1 := [A]; set1 := set1 + [B]; //增加一个元素 Include(set1,B); //增加一个元素 set1 := set1 - [B]; //排除一个元素 Exclude(set1,B); //排除一个元素 end;
    //集合添加元素举例 type TCharSet = set of char; var character: 'a'..'z'; charSet: TCharSet; word: string; begin charSet := []; for character in [Low(character) .. High(character)] do begin if character in ['d', 'e', 'l', 'p', 'h', 'i'] then begin Include(charSet, character); end; end; for character in charSet do begin word := word + character; end; ShowMessage(word); //dehilp end;
    获取集合元素个数
    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var set1: set of Char; {定义一个字符集合变量} c: Char; {定义个字符用于遍历集合} num: Integer; {用于计数} begin set1 := ['a'..'z', 'A'..'Z', '0'..'9']; {给集合赋值} num := 0; for c in set1 do Inc(num); {遍历字符集合 set1, 让 num 计数} ShowMessage(IntToStr(num)); {62} end; end.

     


    最新回复(0)