请教
问题1:
string 类型是 256 字节,是吗?
问题2:
在 delphi 中比较 string 类型还大的是什么类型?
因为Richedit 的 Lines.Strings[0] 有可能大于 256
我需要定义一个这样的变量来接受 Lines.Strings[0]。谢谢!
问题1:
string 类型是 256 字节,是吗?
问题2:
在 delphi 中比较 string 类型还大的是什么类型?
因为Richedit 的 Lines.Strings[0] 有可能大于 256
我需要定义一个这样的变量来接受 Lines.Strings[0]。谢谢!
解决方案 »
- delphi 不固定打印报表
- excel中新增一个工作表
- 菜鸟问题:dbgrid中如何设置数据的格式?谢谢各位老大!
- 修改FastReport中Memo中英文混排时折行不正确的问题,欢迎大家探讨,来者有分
- 散分去霉气
- bcb to delphi语法转换
- 用DELPHI通过MYODBC连接MYSQL数据库和用C++通过MYSQL C++API连接,哪一个快些?
- 字符串处理问题,急,帮帮忙!!!
- TRichEdit中如何设置各行的颜色和背景?
- 请问数据备份的原理是什么?或给一段代码?
- delphi 如何调用c#写的dll?能不能给个demo阿?我找了好多地方,都没有找到阿!谢谢各位了!
- &^**&&^%^^%%$%$与君共勉 *&*&^%%^*&*&
Type Maximum length Memory required Used for
ShortString 255 characters 2 to 256 bytes backward compatibility
AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters, DBCS ANSI, MBCS ANSI, etc.
WideString ~2^30 characters 4 bytes to 2GB Unicode characters; multi-user servers and multi-language applications
SetLength 过程只是完成一个内存请求,并没有实际分配内存。它只是把将来所需的内存预留出来,实际上并没有使用这段内存。这一技术源于Windows 操作系统,现被Delphi用来动态分配内存。例如,当你请求一个很大的数组时,系统会将数组内存预留出来,但并没有把内存分配给数组。一般不需要设置字符串的长度,不过当需要把长字符串作为参数传递给API 函数时(经过类型转换后),你必须用SetLength 为该字符串预留内存空间,这一点我会在后面进行说明。
var
s: string;
begin
s := '1234567890'; //10位
s := s + s + s + s + s + s + s + s + s + s; //100位
s := s + s + s + s + s + s + s + s + s + s; //1000位
ShowMessage('现在长度为:'+IntToStr(Length(s))+#13#10+s);
end;
特别是 cuteant 大大!