procedure TForm1.FileListBox1Click(Sender: TObject);
var
filename:string;begin
     filename:=self.FileListBox1.FileName;
     self.RichEdit1.Lines.Clear;
try
     self.RichEdit1.Lines.LoadFromFile(filename);
     except
     on e:exception do
     self.RichEdit1.Lines.Add('应用程序出现错误:'+e.Message);
end;end;
本想把FileListBox中的选中的文件名的内容传递到RichEdit文本框中显示,但是调试后发现RichEdit根本就不能显示,是我的代码有问题吗?请高手指点一下!(新手问)

解决方案 »

  1.   

    self.RichEdit1.Lines.LoadFromFile(filename); //要文件的路径加文件名,比如c:\123.text
    你传了一个文件名是找不到文件的~~
      

  2.   

    是否有选中的文件?
      if FileListBox1.ItemIndex < then
    跟踪一下看fileName是否为全路径
      

  3.   

    对于1楼办法,FileName参数是包含路径的,所以楼主的用法是没有问题的
    对于2楼,当FileListBox没有选择文件项时,是不会发生OnClick事件的,所以二楼的解决办法也是不正确的。我认为楼主所说“但是调试后发现RichEdit根本就不能显示”,这个应该与代码无关:你在ListBox文件中所选的文件是否是RichEdit能够接受并正确显示的文件,比如TXT文件,rtf文件等,如果你选择了可执行文件让RichEdit去显示,那肯定是显示不出来的。还有,你所说的问题描述究竟是显示不出来,还是会产生Exception,这就需要你自己调试一下代码了。
      

  4.   

    你代码的意思是选中文件以后直接就在richedit中显示出来,貌似是你用的事件不对,你用的是procedure TForm1.FileListBox1Click,你把这段代码写在一个ButtonClick事件中试试。
      

  5.   

    楼主怎么不出来了?问题说清楚一点。
    显示不出来的原因可能是你打开的文件为空,或者不是文本文件(这种情况的几率最大),建议你先用Notepad打开成功的文件再用程序打开测试一下。
    建议多调试跟踪,多看帮助。