Y yfoxyfox Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-25 #1 for (i=1;i<=length(str);i++)showmessage(string(@str));为什么不能正常显示?
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-25 #2 showmessage(string(@str));是C语言的格式,应该这样 showmessage(string(str));
Y yfoxyfox Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-25 #3 str是单个字符,可以正常运行@str是从第i个字符开始的字符串?运行时@str[1]是正常显示的,后面就报错了
地 地质灾害 Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-25 #5 string前面8个字节是引用计数和长度。所以你showmessage(string(@str[1]))是正常的。后面的报错是因为把一部分字符串的内容当作引用计数和长度了。showmessage(str)不报错是因为构造了一个新的只包含一个字符的string。
string前面8个字节是引用计数和长度。所以你showmessage(string(@str[1]))是正常的。后面的报错是因为把一部分字符串的内容当作引用计数和长度了。showmessage(str)不报错是因为构造了一个新的只包含一个字符的string。
Y yfoxyfox Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-25 #6 明白了。我看到一本书上说 pos(subStr,string(@Sourcestring))这样的代码可能会发生致命错误,它会修改Sourcestring字符串?不理解。
地 地质灾害 Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-25 #7 反汇编看看是如何编译pos(subStr,string(@Sourcestring))的就知道了。书上说什么不可尽信 自己试过才知道。
W wql Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-25 #8 原来你要显示后面所有的,呵呵,简单啊:str:=str+#0#0 // 必须加for (i=1;i<=length(str);i++) showmessage(string(PChar(@str)));
原来你要显示后面所有的,呵呵,简单啊:str:=str+#0#0 // 必须加for (i=1;i<=length(str);i++) showmessage(string(PChar(@str)));