访问string类型的,第一个字符用string[1]来取。
解决方案 »
- EMS Quick Export Component 的使用问题
- 如何实现当鼠标点击edit时,执行edit的OnKeyPress事件?
- 谁知道怎么解决BDE中显示foxpro的dbf数据库时中文显示乱码的问题,谢谢!
- treeview
- 怎样才能在不下载它的情况下获得网上图片的文件大小,长和宽?
- 请问:如何进行二进制文件的读写
- 关于TMemoryStraem的使用?--------急!急!
- 请问有什么办法可以屏蔽掉某个控件所有的事件?
- access中insert语句如何插入“是/否”的逻辑值?
- 请问如何得知当前网络流量???
- 散分,呵呵,来csdn一个学期了,变成两个三角了,有了自己的第一个作品,进来看看,我要谢人!!
- delphi and GIF~~~
讲得不清楚string类型第0位是存放其大小的。
我的实验如下
Str := 'ABCDE';
Char1^ := Str[0];
Dec(Char1);
Char1结果不是其大小
var
Str: string;
Ch1: ^Char;
begin
Str := 'abcde';
Ch1 := @Str[1];
Dec(Ch1);
if Ch1^ = #0 then
ShowMessage('Haha, The value is #0 ');
// ShowMessage(string(Integer(Ch1^)));end;
var
Str: ShortString;
Ch1: ^Char;
begin
Str := 'abcde';
Ch1 := @Str[1];
Dec(Ch1);
if Ch1^ = #5 then
ShowMessage('Haha, The value is #5 ');
ShowMessage(Ch1^);end;ShortString才是放的其大小
Str := 'ABCDE';
Char1^ := Str[0];
Dec(Char1);所以,对于长字符串,肯定不对了,因改用整形指针。
Str: string;
PNum: ^Integer;
begin
Str := '123456';
PNum := @Str[1];
Dec(PNum);
ShowMessage(Format('%d', [PNum^]));end;
呵呵,完全正确