高手,中国有么?我真诚的希望有!!! 高手请赐教(200分)

  • 主题发起人 主题发起人 archy
  • 开始时间 开始时间
A

archy

Unregistered / Unconfirmed
GUEST, unregistred user!
将一个包含回车(#13)和换行(#10)及其它ascii字符的加密文本memoMiWen.lines.savetofile(a.txt)之后(#13和#10就是#13和#10,在memoMiWen中表现为|符号,不换行),若再打开(memoMiWen.lines.loadfromfile(a.txt)),则会因读到#13或#10而自动回车换行,而我就是要让它是#13就读字符#13,不要自动换行,不然解密就不好解了。恳请各位高手赐教,不胜感激。
怎样让它读到回车或换行时在memo中表现为字符呢?

给大家一点启示
procedure TfrmMain.btnOpen2Click(Sender: TObject);
Var str : string;s:Tstringlist; i,n:integer ;
begin
if opendialog1.Execute then
begin
memo2.Lines.Clear;
filename:=opendialog1.FileName;
s:=Tstringlist.Create;
s.LoadFromFile(filename);

n:=length(s.text) ;

for i:=1 to n do
begin
if s.text=#13 then
str:=str+#$D //or ‘#$D' ?
else if s.text=#10 then
str:=str+#$A
else str:=str+s.text;
end;

memo2.Lines.Append (str);
s.free;
end;
end;
还是不行
 
为什么一定要把信息放在Memo里呢?
完全可以在内存里建立一个Buffer,将Text整个Copy进去,加、解密操作都针对这个Buffer进行。
至于在Memo中的显示,可以向UltraEdit学习——将不可见的字符都转化为“.”——这样也可以
看见其中原本可见的字符。

如果你一定要将字符原封不动的放到Memo里去的话,还有一种情况——ASCII 0,即Char(0)
——一旦遇到这个字符,其后的字符是别想显示出来的!(我想大概是因为Windows是用C写的,
而在C语言中,0表示字符串的结束)
因此,还是放弃将信息放在Memo里的打算吧。
 
乖乖的先学会 AssignFile rewrite FileMode Reset Seek BlockWrite Write FileSize
 
非常感谢:creation-zy
 
斑竹,帮他把分数收回去吧,我在他的另外一个贴子里已经得到分数了。
(但愿我不是多管闲事)
 
多谢creation-zy的关心
 
分数给我吧!大家都这么客气!
 
如果你不是中国人,请滚开,中国的高手不想回答不懂说人话的人提的问题!
 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
I
回复
0
查看
806
import
I
I
回复
0
查看
687
import
I
后退
顶部