Real类型
real不能为有序,因为无理数的介入.
Real的基本类型是Real,Real 目前等同于Double,还有Single,extended.
但是不能有Float.
String类型分为三大类:ShortString,AnsiString/LongString,WideString
ShortString占用256字节.为避免浪费可设String[MaxLength].
AnsiString/LongString,WideString:为动态分配,最大可至2GB.
AnsiString包含的字符是单字节存储的,而WideString包含的字符是用多个字节存储的.因此常用WideString来处理汉字.
EXAMPLE:
Var
S:AnsiString;
WS:WideString;
begin
S:='叶丹';
WS:=S;
showmessage(s[1]);{显示的是乱码,因为S[1]取出的是'叶'的一半}
showmessage(ws[1]);{显示'叶'}
end;
还有Pchar类型,它不是标准类型.还有PAnsiChar,PWideChar.
Structured(构造)类型
Structrued可以包含多个元素(或称字段),因而这种类型的变量能够容纳多个值.
Set类型的典型语法如下:
set of baseType
example:
type
TOneSet=set of(A,B,C);
var
OneSet:TOneSet;
begin
OneSet:=[A];
OneSet:=OneSet+[A];
OneSet:=OneSet-[A];
if OneSet=[] then
showmessage('ok');
end;
此处应注意的是在Set变量中相同的多个有序值是没有意义的,被当作一个处理.
Arrary分为:静态数组与动态数组.动态数组要求首先使用SetLength分配用来存放元素的空间后才能使用,如果使用SetLength给动态数组重新分配空间,那么已有的元素可以得到保留.
Record
File
Class
Interface
Class reference