Delphi 新语法:For in语句
据说Delphi 2005开始支持For in语句.并没有深入调查,依然从万一博客学习并整理.
一、遍历 TStrings
var
List: TStrings;
s: string;
begin
List := TStringList.Create;
List.CommaText := 'aaa,bbb,ccc';
for s in List do
ShowMessage(s);
List.Free;
end;
二、遍历数组
var
Arr: array[0..2] of Byte;
i: Integer;
b: Byte;
begin
for i := Low(Arr) to High(Arr) do
Arr[i] := Random(MAXBYTE);
for b in Arr do
ShowMessage(IntToStr(b));
end;
三、遍历子界
{例1}
var
sub: 0..9;
str: string;
begin
str := '';
for sub in [Low(sub)..High(sub)] do
str := str + IntToStr(sub);
ShowMessage(str); {0123456789}
end;
{例2}
type
TSub = 'A'..'G';
var
sub: TSub;
str: string;
begin
str := '';
for sub in [Low(sub)..High(sub)] do
str := str + sub;
ShowMessage(str); {ABCDEFG}
end;
{例3}
var
sub: Byte; {Byte 应该算是个 0..255 的子界}
num: Cardinal;
begin
num := 0;
for sub in [Low(sub)..High(sub)] do
Inc(num, sub);
ShowMessage(IntToStr(num)); {32640}
end;
四、遍历枚举
type
TEnum = (Red,Green,Blue);
var
enum: TEnum;
count: Integer;
begin
count := 0;
for enum in [Low(enum)..High(enum)] do
Inc(count);
ShowMessage(IntToStr(count)); {3}
end;
五、遍历集合
type
TEnum = (Red,Green,Blue,Yellow);
TSet = set of TEnum;
var
set1: set of TEnum;
set2: TSet;
elem: Tenum;
count: Integer;
begin
set1 := [Red, Yellow];
count := 0;
for elem in set1 do Inc(count);
ShowMessage(IntToStr(count)); {2}
set2 := [Red..Yellow];
count := 0;
for elem in set2 do Inc(count);
ShowMessage(IntToStr(count)); {4}
end;
六、遍历字符串
var
str: string;
c: Char;
begin
str := 'ABCD';
for c in str do
ShowMessage(c);
end;
Delphi 新语法:For in语句的更多相关文章
- 使用 C# 9.0 新语法提升 if 语句美感
C# 语言一贯秉承简洁优美的宗旨,每次升级都会带来一些语法糖,让我们可以使代码变得更简洁.本文分享两个使用 C# 9.0 提升 if 语句美感的技巧示例. 使用属性模式代替 IsNullOrEmpty ...
- delphi新语法之泛型实现的对象池模板
现在的DELPHI因为支持泛型的语法,所以也能支持模板编程了. // 标准模板 unit UntPools; interface uses Classes, SysUtils, Unt ...
- Delphi新语法 For ..In
首先我们要知道哪些类型可以用For In吧,下面就是: for Element in ArrayExpr do Stmt; 数组 for Element in StringExpr do S ...
- Delphi新语法
http://www.cnblogs.com/hnxxcxg/category/456344.html
- Delphi 7以来的Delphi 2009测试版新语法特性
我晕,Delphi 7 以后增加了这么多有用的语法,我都不知道.真是越学越觉得自己浅薄,自己所作的Delphi项目所用的知识还不够Delphi知识储备体系的十分之一,更别说Delphi还在继续发展. ...
- class helper 可能是从 Delphi 2007 增加的新语法
class helper 可能是从 Delphi 2007 增加的新语法, 因为感觉不太实用, 直到今天才测试了一下. 试过之后才知道: 挺有意思的! 基本功能就是修改已存在的类. Txxx = cl ...
- [C#] 回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性
回眸 C# 的前世今生 - 见证 C# 6.0 的新语法特性 序 目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段.C# 6.0 ...
- .NET中那些所谓的新语法之一:自动属性、隐式类型、命名参数与自动初始化器
开篇:在日常的.NET开发学习中,我们往往会接触到一些较新的语法,它们相对以前的老语法相比,做了很多的改进,简化了很多繁杂的代码格式,也大大减少了我们这些菜鸟码农的代码量.但是,在开心欢乐之余,我们也 ...
- .NET中那些所谓的新语法之三:系统预定义委托与Lambda表达式
开篇:在上一篇中,我们了解了匿名类.匿名方法与扩展方法等所谓的新语法,这一篇我们继续征程,看看系统预定义委托(Action/Func/Predicate)和超爱的Lambda表达式.为了方便码农们,. ...
- .NET中那些所谓的新语法之四:标准查询运算符与LINQ
开篇:在上一篇中,我们了解了预定义委托与Lambda表达式等所谓的新语法,这一篇我们继续征程,看看标准查询运算符和LINQ.标准查询运算符是定义在System.Linq.Enumerable类中的50 ...
随机推荐
- 2021级《JAVA语言程序设计》上机考试试题2
以下是学生页面 首先先给上数据库 在准备准备工作 以下为代码: package Bean; public class Student { private String StuID; private S ...
- vue的异步组件
异步组件 异步组件:可以在首页加载之前先加载的组件,主要是做性能优化,提高用户体验 一.基本用法 在大型项目中,我们可能需要拆分应用为更小的块,并仅在需要时再从服务器加载相关组件.Vue 提供了 de ...
- 关于HTML5中Video标签播放问题
PS:官网首页视频IOS与安卓都可播放代码: <video width="100%" height="auto" type="video/mp4 ...
- XShell 连接 VMware Linux
如果你的系统是 Ubuntu,并且是精简安装的系统,极大可能使用ifconfig时会提示你安装相关依赖,所以你安装的时候要记得顺带安装 ifconfig: sudo apt install ifcon ...
- ABP微服务系列学习-使用Tye启动微服务
Tye是微软开源的一款开发人员工具, 能够用于简化微服务以及分布式应用程序的开发.测试以及部署过程.Tye 的首要目标是简化微服务的开发,具体方式包括仅用一行命令执行多项服务.在容器中使用依赖项目,以 ...
- Solon v2.2.1 发布。向 Graalvm Native 友好靠近
本次更新最重要的是增加了 Solon APT 项目,为更简单的完成 Graalvm Native 打包提供了帮助:其次是增加了 @ProxyComponent 和 @SolonMain 注解:以及优化 ...
- 在使用vite报global的错
解决:
- 随机颜色,加载loading效果,节流,应用周期函数,wxs
随机颜色 data: { colorList:[] }, getColor(){ wx.request({ url: 'https://www.escook.cn/api/color', method ...
- ConvFormer: Closing the Gap Between CNN and Vision Transformers概述
0.前言 相关资料: arxiv github 论文解读 论文基本信息: 发表时间:arxiv2022(2022.9.16) 1.针对的问题 CNN虽然效率更高,能够建模局部关系,易于训练,收敛速度快 ...
- Spring oauth2 ,Spring security, Session,Cookie,token,SSO 是什么,解决什么问题,如何集成?
背景假设就是一个多个域名web系统需要SSO单点登陆 什么Session? 2.什么是Token? 3.什么是Cookie? 4.Spring security? 5.Spring oauth2?