D7中使用StringReplace函数时发现不能进行对$00的内容替换(50分)

  • 主题发起人 主题发起人 flfqzrj
  • 开始时间 开始时间
F

flfqzrj

Unregistered / Unconfirmed
GUEST, unregistred user!
D7中使用StringReplace函数时发现不能进行对$00的内容替换
如一段内存内容 31 32 33 00 34 35 36 37 38 39
本人想替换00为其它字符
(因为有的控制碰到00就不会显示后继的字符串了)
 
Edit1.Text:= '31 32 33 00 34 35 36 37 38 39 ';
Edit2.text:= StringReplace(Edit1.Text,'00','abc',[rfReplaceAll, rfIgnoreCase]);
这样可以的。
 
31 32 33 00 34 35 36 37 38 39 是内存内容大哥
字符串就是 123 456789,中间空格处是$00
 
不能换就只能自己写个函数喽
tmpStr := Edit1.Text;
for i := 1 to Length(tmpStr) do
begin
if tmpStr := #0 then
tmpStr := 'A';
end; //如果要替换为多个字符就稍微复杂点了,相信楼主可以做到了。
 
换了一个函数,速度比D7自带的快
盒子里有下载
 
多人接受答案了。
 
后退
顶部