1短字符串(Short String)
固定长度,最大字符数个数为255, 第0个元素包含了这个字符串的长度(字符串中字符的个数).
S: ShortString; { 255个字符长度,256个字节}
可以通过数组的下标来访问ShortString中的一个特定位置的字符.
2长字符串(Long String)
长字符串 (AnsiString)是一种动态分配的字符串,其大小只受可用内存的限制, 通过Length函数也可以获得长字符串的长度。
PS:将一个长度大于255的字符串直接赋值给string类型的变量就会报上面所说的错误!
3宽字符串(Wide String)
WideString被实现为2个字节存储一个字符,用WideString来处理多字节字符(比如汉字)。
var
WS: WideString;
WS := '新华书店';
WS[1] { 显示‘新’}
4 PChar和Char字符数组
Windows是用C编写的,在C和C++中没有真正的字符串数据类型,都是通过以Null结尾(0)的字符数组来实现。Pascal字符串与Windows兼容,需求PChar类型。
var
Text: string;
Caption: string;
begin
Text := 'This is a test.';
Caption := 'Test Message';
MessageBox(0, PChar(Text), PChar(Caption), 0);
{ 这里PChar用来把string类型转换为Null结尾的字符串}
end;
用Char类型数组来代替PChar
var
Text1: array[0..20] of Char; { 大小为21个字符}
begin
Text1:= 'This is a test.';
MessageBox(0, Text1, 'Test Message 2', 0);
end