T tseug Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-14 #2 S : String; begin SetLength(S, 4); Move(Buf[1], S[1], 4);
L leway Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-14 #4 buf:= 147#0#213#121#0 因為#0是結束符號,所以隻返回#147
Z zerocs Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-15 #5 只能用Buf直接内存操作, 大凡含#0的都不能用字符串,系统定义的, 不用多想了。
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-25 #6 #0不能作为串字符,谁说的,不要乱讲! S : String; begin SetLength(S, 4); S:=#0#0#0#0; Move(Buf[1], S[1], 4);的内容就是#147,#0,#213,#121,只是显示出来的为#147耳!
#0不能作为串字符,谁说的,不要乱讲! S : String; begin SetLength(S, 4); S:=#0#0#0#0; Move(Buf[1], S[1], 4);的内容就是#147,#0,#213,#121,只是显示出来的为#147耳!
L LiChaoHui Unregistered / Unconfirmed GUEST, unregistred user! 2003-03-25 #7 wql说得没错,Delphi的字符串并不以#0作为结束 Copy函数也不会理睬中间出现的#0字符,你已经取到了4位 所以说Copy得到的结果是对的,只是显示的时候显示不出来而已 下面的代码是最好的说明 var s: String; l1, l2: Integer; begin s := 'abcde'#0'12345'; l1 := Length(s); s := Copy(s, 1, Length(s)); l2 := Length(s); ShowMessage(IntToStr(l1) + ':' + IntToStr(l2)); //实际显示的内容为 "11:11" end;
wql说得没错,Delphi的字符串并不以#0作为结束 Copy函数也不会理睬中间出现的#0字符,你已经取到了4位 所以说Copy得到的结果是对的,只是显示的时候显示不出来而已 下面的代码是最好的说明 var s: String; l1, l2: Integer; begin s := 'abcde'#0'12345'; l1 := Length(s); s := Copy(s, 1, Length(s)); l2 := Length(s); ShowMessage(IntToStr(l1) + ':' + IntToStr(l2)); //实际显示的内容为 "11:11" end;