【发布时间】:2014-11-28 21:27:49
【问题描述】:
我是一名大学生(英国),在我的 A2 计算项目中使用 delphi。我真的不是很先进所以请多多包涵!好的,所以我使用 TStringList 在加密后将 TMemoBox 的内容保存到文本文件中。但是,这是不可能的,因为 TStringList 在消息后显示了一个换行符,这会破坏加密。我关注了this 文章,该文章同时使用 TStringList 和 TFIleStream 来删除它,但没有给我一个完整的文本文件,结果是空的。请您帮助保存数据而不是根本不存储它吗?非常感谢。这是我的程序的一部分。
var
EmailText : TStringList;
FileStream : TFileStream;
begin
FileName := 'email1.txt';
EmailText := TStringList.Create;
FileStream := TFileStream.Create(Filename, fmCreate);
EmailText.SaveToStream(FileStream, EmailText.Encoding);
FileStream.Size := FileStream.Size - Length(System.sLineBreak);
EmailText.Add(EmailMessageMemo.Text);
FileStream.Free;
EmailText.Free;
【问题讨论】:
-
TStringList.Add方法应该添加一个 line,这意味着它将 EOL 附加到参数并将结果添加到字符串列表对象。你可以试试EmailText.Text := EmailMessageMemo.Text;,据我所知,它应该逐字复制内容。 -
@TLama 感谢您的回复,但是保存时我的 .txt 文件中仍然会生成换行符...
-
@AndriyM 感谢您的帮助,但这仍然会在我的文档中产生换行符:/
-
好的,这是我的错误,我认为我将其读入备忘录错误,因为该行是在读取文件时生成的,而不是在保存时生成的。我会有一个修补匠,让你知道
-
您真正需要做的是接受加密文本是错误的事实。加密对二进制进行。您缺少的最重要的事情是文本和二进制之间的区别。我知道这不是你想听到的,但都一样。
标签: file delphi text tstringlist tfilestream