昨天听老师讲字符串变量s 的首位子存的是字符串的长度。
如:
var
s:string;
begin
s:='hao';
label1.caption:=s[0];//编译错误[Error] Unit1.pas(34): Element 0 inaccessible - use 'Length' or 'SetLength'
end;怎么位置0 是不可见的了?
如:
var
s:string;
begin
s:='hao';
label1.caption:=s[0];//编译错误[Error] Unit1.pas(34): Element 0 inaccessible - use 'Length' or 'SetLength'
end;怎么位置0 是不可见的了?
解决方案 »
- 如何把多个表里的text字段内容和并到一个表的text字段中
- 如何控制串口打印机实现打印等操作?
- 为什么截取wm_char消息老报错?
- 获取光标而不是鼠标在屏幕上的位置
- 想改变TSPeedButton显示颜色,但更改不成功,不知怎么更改
- 辛辛苦苦回答问题,怎么总是没人结帖?
- .pas文件如何引用?是不是只要users ***(pas文件名就可以了)
- 写浏览器为什么不能打开CGI窗口!高手帮忙!
- Query增加问题?
- dbexpress连接数据库,如何判断已经连接成功?
- 怎么实现在cxgrid中,点击某条纪录后,使此条纪录变成红色?
- delphi7 + windows xp 多线程 动态创建idhttp 异常不能捕捉
pinteger(integer(s)-8)^
分别取得引用计数和长度delphi中string类型的真正存放数据是从string[1]开始的,在前面负偏移的地方分别存放的是长度和应用计数
差不多这个意思,反正str[1]就是str的第一个字母就是了
http://www.cnblogs.com/del/archive/2008/03/03/1088984.html
var
s:string;
begin
s:='hao';
label1.caption:=copy(s,0,1);
end;
后来的版本都是用Length(Str)取。如果你能把Str理解成 优化过的 cc:array [0.1024] of char; 就好理解了。
会在0的位置添加长度,1开始之后添加每个char。
或者说,没有String的情况下,让你用类的方式写一个管理 cc 结构
你也会这么干的。