几个月前我问了一个类似的问题。感谢Rob Kennedy,我可以将我的整个文本加载到一个Richedit 但我无法删除Null chars的 . 我可以加载我的文本,因为我使用了Stream.
现在在这段代码中:
var
strm : TMemorystream;
str : UTF8string;
ss : TStringstream;
begin
strm := tmemorystream.Create;
try
strm.LoadFromFile('C:\Text.txt');
setstring(str,PAnsichar(strm.Memory),strm.Size);
str := StringReplace(str, #0, '', [rfReplaceAll]); //This line doesn't work at all
ss := tstringstream.Create(str);
Richedit1.Lines.LoadFromStream(ss);
finally
strm.Free;
ss.Free;
end;
end;
我转换TMemorystream为string删除Null Chars,StringReplace()然后再次转换TStringstream为加载它Richedit.lines.LoadFromStream。
但我的问题是我无法删除Null Characterusing StringReplace()。我可以替换其他字符,但不能#0。
有什么方法可以直接删除空字符TMemorystream并将其加载到Richedit? 如何?如果不可能或非常复杂,当我将文本转换为 时如何删除它们string?
谢谢。