数か月前に同様の質問をしました。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し、再度 でロードするように変換しました。stringNull CharsStringReplace()TStringstreamRichedit.lines.LoadFromStream
しかし、私の問題は、をNull Character使用して削除できないことStringReplace()です。他の文字を置き換えることはできますが、できません#0。
ヌル文字を直接削除しTMemorystreamてロードする方法はありますRicheditか? どのように?それが不可能な場合、または非常に複雑な場合、テキストを に変換するときにそれらを削除するにはどうすればよいstringですか?
ありがとう。