delphi数据类型
学习Object pascal 语言;
以前也学过些其他语言,主要是脚本类语言如: php;php很多东西都是和C++差不多;但更加的灵活;看了delphi,才知道语言都是相通的,能够把一种语言学好,运用好,其他语言也是非常容易学的;
一.数据类型
最常用的有:integer,string(ansistring),变体类型(variant),currency(货币类型),8位无符号类型Byte,1个字节字符Char,以Null结束的字符型;
用户自定义的类型:
1.数组类型:
var
arr : array [0..10] of integer;
动态数组:
var
sa : array of string;
begin
setLength(sa,18);//需要用到setLength来分配大小
end;
2.记录类型:
Type myinfo = record age: integer; name: string; addr : string; end;
使用时需要实例化
var info : myinfo; begin info.age := 38; info.name:='delphiclub'; info.addr := 'guilin'; end;
//也可以用with 来做
with info do begin age := 38; name:= 'delphiclub'; addr := 'guilin'; end; end;
集合数据类型:
type
tCharSet = set of char; //可能的值:#0-#255;
一个集合最多只能有255个元素,只有有序的类型才能跟关键字 set of 下列语句是非法的
type
TintSet = set of integer;
tstrSet = set of string;
使用集合:
var
charset : TcharSet;
begin
charset := ['a'..'m'];
end;
对象也可以当做记录类型,只是它还包括了函数和过程;
type
TChildObject = class(TParentObject)
someVar :integer;
procedure someProc;
end;
| 分类 | 范围 | 字节 | 备注 | |||
| 简单类型 | 序数 | 整数 | Integer | -2147483648 .. 2147483647 | 4 | 有符号32位 |
| Cardinal | 0 .. 4294967295 | 4 | 无符号32位 | |||
| Shortint | -128 .. 127 | 1 | 有符号8位 | |||
| Smallint | -32768 .. 32767 | 2 | 有符号16位 | |||
| Longint | -2147483648 .. 2147483647 | 4 | 有符号32位 | |||
| Int64 | -263 .. 263 | 8 | 有符号64位 | |||
| Byte | 0 .. 255 | 1 | 无符号8位 | |||
| Word | 0 .. 65535 | 2 | 无符号16位 | |||
| Longword | 0 .. 4294967295 | 4 | 无符号32位 | |||
| 字符 | AnsiChar(Char) | ANSI字符集 | 8位 | |||
| WideChar | Unicode字符集 | 16位 | ||||
| 布尔 | Boolean | False < True Ord(False) = 0 Ord(True) = 1 Succ(False) = True Pred(True) = False |
1 | |||
| ByteBool | False <> True Ord(False) = 0 Ord(True) <> 0 Succ(False) = True Pred(False) = True |
1 | ||||
| WordBool | 2 | |||||
| LongBool | 4 | |||||
| 枚举 | ||||||
| 子界 | ||||||
| 实数 | Real | 5.0×10-324 .. 1.7×10308 | 8 | [精度]15..16 | ||
| Real48 | 2.9×10-39 .. 1.7×1038 | 6 | [精度]11..12; 向后兼容 |
|||
| Single | 1.5×10-45 .. 3.4×1038 | 4 | [精度]7..8 | |||
| Double | 5.0×10-324 .. 1.7×10308 | 8 | [精度]15..16 | |||
| Extended | 3.6×10-4951 .. 1.1×104932 | 10 | [精度]19..20 | |||
| Comp | -263 + 1 .. 263 - 1 | 8 | [精度]19..20 | |||
| Currency | -922337203685477.5808 .. 922337203685477.5807 |
8 | [精度]19..20 | |||
| 字符串 | ShortString | 255个字符 | 2..256B | 向后兼容 | ||
| AnsiString | 大约 231 个字符 | 4B..2GB | 8位(ANSI)字符 | |||
| WideString | 大约 230 个字符 | 4B..2GB | 多用户服务和 多语言应用程序; 和com定义的BSTR兼容 |
|||
| 其他 | String String[0..255] PChar PAnsiString PWideString |
|||||
| 结构类型 | 集合 | Set | 最多256个元素[0..255] | |||
| 数组 | 静态数组 | |||||
| 动态数组 | ||||||
| 记录 | Record | |||||
| 文件 | File | |||||
| 类 | Class | |||||
| 类引用 | Class reference | |||||
| 接口 | Interface | |||||
| 指针类型 | 无类型指针 | Pointer | ||||
| 有类型指针 | 预定义类型指针 | PAnsiString PString PByteArray PCurrency PDouble PExtended PSingle PInteger POleVariant PShortString PTextBuf PVarRec PVariant PWideString PWordArray |
||||
| 过程类型 | 程序过程类型 | Procedural | ||||
| 对象过程类型 | Procedural | |||||
| 变体类型 | Variant | |||||
| OleVariant | ||||||
浙公网安备 33010602011771号