在RichEdit 中显示多个文件的内容(100分)

  • 主题发起人 主题发起人 netameng
  • 开始时间 开始时间
N

netameng

Unregistered / Unconfirmed
GUEST, unregistred user!
我用如下代码实现:
RichEdit1.Lines.Add('文件'+ DestinationDir + FileName + '内容如下:');
RichEdit2.Lines.LoadFromFile(DestinationDir + FileName);
RichEdit2.SelectAll ;
RichEdit2.CutToClipboard;
RichEdit1.PasteFromClipboard;
RichEdit2.Lines.Clear ;
RichEdit1.Lines.Add('');
但是,我只能正确显示第一个文件,其余文件无法显示,为什么?
 
RichEdit1行数有限,而且不有Load unicode的文件
 
好像没什么问题嘛:

RichEdit1.Lines.Clear;
with RichEdit2 do
begin
Lines.LoadFromFile('Unit1.pas');
SelectAll;
CutToClipboard;
end;
with RichEdit1 do
begin
PasteFromClipboard;
Lines.Add('');
end;
with RichEdit2 do
begin
Lines.Clear;
Lines.LoadFromFile('Unit1.pas');
SelectAll;
CutToClipboard;
end;
with RichEdit1 do
begin
PasteFromClipboard;
Lines.Add('');
end;

上面的代码可以将Unit1.pas显示两次,稍加修改就可以显示多个不同的文件。
 
可能是你要显示的文件的问题吧.
 
小弟有点源码,大家看看,给点意见(源码可行的):
procedure TFormMain.MenuInsertFileClick(Sender: TObject); //插入文件
var
InsertString:TStringlist;
begin
with OpenDialog1 do
begin
InitialDir:=ExtractFilePath(FileName);
if Execute then
begin
with RichEdit1 do
SelStart:=SelStart+SelLength;
InsertString:=TStringlist.Create;
InsertString.LoadFromFile(OpenDialog1.FileName);
RichEdit1.SelText:=InsertString.Text;
end;
end;
end;
 
我又做了一下尝试,
改用了一个Memo控件:
For FileIndex := 0 to MaxNumber do
begin
With Memo1 do
begin
lines.clear;
lines.LoadFrom(FileName+IntToStr(FileIndex));
SelectAll;
CopyToClipBoard;
end;
With RichEdit1 do
begin
PasteFromClipboard;
lines.Add('');
end;
end;

这段代码 即可实现我所要求的功能,但为什么两个RichEdit控件不可以呢?

如果在 原代码

RichEdit1.Lines.Add('文件'+ DestinationDir + FileName + '内容如下:');
RichEdit2.Lines.LoadFromFile(DestinationDir + FileName);
RichEdit2.SelectAll ;
RichEdit2.CutToClipboard;
RichEdit1.PasteFromClipboard;

加入 Clipboard.clear //ClipBoard: TClipBoard

RichEdit2.Lines.Clear ;
RichEdit1.Lines.Add('');

则系统崩溃,为什么?
 
我下线后想想看。
 
多人接受答案了。
 
多人接受答案了。
 
后退
顶部