文档章节

数组竟然可以这样定义

涂孟超
 涂孟超
发布于 2014/09/26 15:34
字数 203
阅读 5
收藏 0
//这是常规思路:
const
  arr: array[0..1] of Char = ('A','B');
begin
  ShowMessage(arr);                   {AB}
  ShowMessage(IntToStr(Length(arr))); {2}
end;

 
 
 
 
 

 

 

  
//没想到可以这样: const arr: array[Boolean] of Char = ('A','B'); begin ShowMessage(arr); {AB} ShowMessage(IntToStr(Length(arr))); {2} {访问元素} ShowMessage(arr[False]); {A} ShowMessage(arr[True]); {B} {也可以这样访问} ShowMessage(arr[Low(arr)]); {A} ShowMessage(arr[High(arr)]); {B} {但不能这样访问} // ShowMessage(arr[0]); // ShowMessage(arr[1]); {但可以变通一下} ShowMessage(arr[Boolean(0)]); {A} ShowMessage(arr[Boolean(1)]); {B} end;
//同理, 这样也可以: const arr: array[Byte] of Integer = ( 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55, 56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81, 82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105, 106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125, 126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145, 146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165, 166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185, 186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205, 206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225, 226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245, 246,247,248,249,250,251,252,253,254,255,256); begin ShowMessage(IntToStr(arr[Low(arr)])); {1} ShowMessage(IntToStr(arr[High(arr)])); {256} ShowMessage(IntToStr(Length(arr))); {256} end;
//给这种用法来一个必要性的实例: const BoolStr: array[Boolean] of string = ('False', 'True'); var b: Boolean; begin b := True; ShowMessage(BoolStr[b]); {True} b := not b; ShowMessage(BoolStr[b]); {False} end;

本文转载自:http://www.cnblogs.com/del/archive/2008/04/17/1158098.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
帝国cms打印全局变量的备注 以前帝国cms鲜为人知的秘密

说来极其恶心也是没有办法的事。 由于本人很多技术都摸,有时摸完后就不摸了,当然了不摸的结果就是忘了感觉了! 就拿帝国cms来说,曾经历过三次摸的高潮,每次感觉都不一样,一次比一次感受...

ziluopao
2016/10/31
105
0
Java 数组转型和范型

今天写代码遇到一个奇怪的问题,代码结构如下: ArrayList list = new ArrayList();String strings[] = (String[]) list.toArray();这样写代码个人觉得应该没什么问题,编译也没有问题。可是...

长平狐
2013/01/06
147
0
Perl 6 语言的糟粕

代码前面的声明 没有任何意义。 use v6; 这个声明没有任何意义,有人说这样可以让别的语言编译器早早知道搞错了对象。 不支持数组的负数索引。 在 Perl5 中都支持的东西,到了 Perl6,竟然不...

沙枣
2016/10/10
15
0
YUV420P/I420 stride 计算方式

这两天做一个 H.265 编码测试的功能,编码器需要手动输入 raw yuv frame 的 stride (也可以称作 pitch)数组大小,这个倒是让我一愣,做了这么久的音视频编解码的工作,长时间使用 ffmpeg,...

Gobert
2017/07/04
0
0
C/C++没有数组

在其它高级语言里,不管是定义(声明)还是引用,a[i]或a[3]都是一个整体。在C/C++里,却是一个表达式:a[i]是运算符[]连接两个实体a和i。 说C/C++并没有数组,有以下几条理由。 理由一:C里没...

loongchao
2012/05/21
1K
17

没有更多内容

加载失败,请刷新页面

加载更多

Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
28分钟前
1
0
fullcalendar重新渲染

uiCalendarConfig.calendars.lesson_calendar.fullCalendar('removeEvents');var ym = uiCalendarConfig.calendars.lesson_calendar.fullCalendar('getView').title;$scope.get_lesson(y......

人来疯啊
32分钟前
1
0
多渠道打包总结

https://www.jianshu.com/p/2130db7584c8 https://blog.csdn.net/u011153817/article/details/50772496...

塔塔米
41分钟前
1
0
android -------- Data Binding的使用 ( 六) 自定义属性

今天来说说DataBinding在自定义属性的使用 默认的android命名空间下,我们会发现并不是所有的属性都能直接通过data binding进行设置,比如margin,padding,还有自定义View的各种属性。 默认...

切切歆语
47分钟前
1
0
收邮件 下载附件

uses IdMessage, IdMessageParts, IdAttachment, IdGlobalProtocols, ...;procedure SaveAttachmentsFromFile(FileName: String)var IdMessage: TIdMessage; MsgPart: Ti......

vga
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部