Delphi集合

 

集合


//定义
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.

 

时间: 2025-01-29 17:15:46

Delphi集合的相关文章

一种树型控件在Delphi中的使用方法

摘 要 树型控件是一种有效的表示方法,在数据库应用程序的开发中经常用它可视化表示对象之间的层次关系.本文介绍了Developer Express inc. 的ExpressQuantumGrid Suite中树型控件 TdxDBTreeList 的使用方法和技巧,特别是由多关系表构成树型结构的情况. 关键词 树型控件,TdxDBTreeList,多关系表 简介 树型控件是一种有效的表示方法,在数据库应用程序的开发中经常用它可视化表示对象之间的层次关系,便于用户的操作和使用.比如:表示一个公司部门

第十九章-Delphi自定义部件开发(二)(1)

19.2.2 Delphi部件编程 19.2.2.1 创建属性 属性(Property)是部件中最特殊的部分,主要因为部件用户在设计时可以看见和操作它们,并且在交互过程中能立即得到返回结果.属性也很重要,因为如果将它们设计好后,将使用户更容易地使用,自己维护起来也很容易. 为了使你在部件中更好地使用属性,本部分将介绍下列内容: ● 为什么要创建属性 ● 属性的种类 ● 公布(publishing)继承的属性 ● 定义部件属性 ● 编写属性编辑器 1. 为什么要创建属性 属性提供非常重要的好处,最

第二章-Delphi面向对象的编程方法(一)(1)

Delphi的编程语言是以Pascal为基础的.Pascal语言具有可读性好.编写容易的特点,这使得它很适合作为基础的开发语言.同时,使用编译器创建的应用程序只生成单个可执行文件(.EXE),正是这种结合,使得Pascal成为Delphi这种先进开发环境的编程语言. 本章中,我们将讨论Object Pascal的主要特点,并讲解如何在事件处理过程和其他应用程序中,使用它来编制程序代码.本章将讲解Delphi应用程序中最常用的Object Pascal语法,而不是Pascal语言的一切细节.如果您

Delphi中的SQL编程

SQL语言作为关系数据库管理系统中的一种通用的结构查询语言,已经被众多的数据库管理系统所采用,如ORACLE.Sybase.Informix等数据库管理系统,它们都支持SQL 语言.Delphi与使用SQL语言的数据库管理系统兼容,在使用Delphi开发数据库应用程序时,我们可以使用SQL语言编程,支持SQL编程是Delphi的一个重要特征,这也是体现Delphi作为一个强大的数据库应用开发工具的一个重要标志. 17.1 SQL语言简介 17.1.1 SQL的历史 在70年代初,E.E.Codd

delphi的记录型文件类型

一.记录型文件类型文件: 1)可以粗略地理解为数据库,如本地qq程序的中把的一些账号信息集合(账号 ,密码,上次登录时间等 等组成的集合)记录在.dat文件中. 2)记录型文件类型文件VS数据库 相同点:都可以用来记录数据 区别:记录型文件类型文件类似记事本记录数据,导致对数据的填删改 查没有数据库那么方便. 3)delphi记录型文件的定义 第一步: 定义一个记录集 type        MyFile= Record        name :String[20]; //记录集中一定要对字符

Delphi中正则表达式语法(10) 选项

// preCaseLess: 不区分大小写, 相当于其他语言中的 i var reg: TPerlRegEx; begin reg := TPerlRegEx.Create(nil); reg.Subject := 'abc ABC aBc'; reg.RegEx := 'abc'; reg.Replacement := '◆'; reg.Options := [preCaseLess]; //选项是集合类型的 reg.ReplaceAll; ShowMessage(reg.Subject);

初学Delphi嵌入汇编[1]

非科班出身, 现在才接触汇编, 惭愧呀, 好好学! 主选课本是清华大学王爽老师的<汇编语言>. 推荐 王爽老师的汇编网 ------------------------------------------------------------------------- ------- 汇编语言之前是机器语言. 机器语言是机器指令的集合, 机器指令是一系列二进制数字, 计算机将之转换为一系 列高低电平, 而实现运算. 在 PC 机上运行机器指令的是 CPU; 不同的 CPU 有不同的指令, 所以某

第二十章-开发Delphi对象式数据管理功能(四)(5)

6. 读取部件的方法的实现 Reader对象中用于读取部件的方法有ReadSignature.ReadPrefix.ReadComponent.ReadRootComponent和ReadComponents. ReadSignature方法主要用于读取Delphi Filer对象标签一般在读取部件前,都要用调用ReadSignature方法以指导部件读写过程. procedure TReader.ReadSignature; var Signature: Longint; begin Read

Delphi的绘图功能[10]

//先来个例子:procedure TForm1.FormPaint(Sender: TObject); const S = '万一的 Delphi 博客'; var font: TFont; begin font := TFont.Create; font.Name := '微软雅黑'; font.Style := [fsBold, fsItalic]; font.Color := clRed; font.Height := 72; Canvas.Font := font; Canvas.Te