各位高手谢谢了,请帮助我调试一下这个程序,请到这里来下载:http://liulangren.xiloo.com/question.htm
我这个程序是用来帮助人复制文字和图片的(类似于一拖即存)。
当您发现您感兴趣的文字时只要选定那些文字,按ctrl+c或点鼠标右键选择“复制”,程序就会帮你保存到指定的文件中;当您在看到网上看到自己喜欢的图片时,只要在图
片上单击鼠标右键,选择“复制”,程序就会自动将其保存到指定的文件夹。我的设想是可以同时保存文字和图片,可是如果先复制一幅图片,再复制文字,就会激发"einouterror"异常 ,弹出‘磁盘异常,无法保存!’对话框。
请帮助我一下,在此谢过了!调试完毕后请发到 
如果您帮我调试完毕了,除了这20分,我还将再送你一些分(我只有135分了,不过我会倾家荡产也要报答您的大恩大得的!)
======================================================
世上还是好人多!

解决方案 »

  1.   

    if (not fileexists(filename) )then
        begin
        rewrite(filepointer);
        closefile(filepointer);
        end;
        append(filepointer);// here
        writeln(filepointer,nowtext);
        closefile(filepointer);
    兄弟这句话肯定错了,
    如果文件不存在就覆盖,然后关闭文件,接着又向这个关闭的文件添加数据,这肯定错了啊!!!
    如果文件存在就追加,这时是正确的。改为:
       if (not fileexists(filename) )then
           rewrite(filepointer);
       else
           append(filepointer);// here
       writeln(filepointer,nowtext);
       closefile(filepointer);
    再试试看把。
      

  2.   

    实际你试图打开一个已经打开的文件:
    procedure Savetofile(filename,nowtext:string);
    var
    filepointer:textfile;
    begin
    try   if (not fileexists(filename) )then
        begin
          assignfile(filepointer,filename);      rewrite(filepointer);
          closefile(filepointer);
        end
        else
        begin
          assignfile(filepointer,filename);      append(filepointer);// here
          writeln(filepointer,nowtext);
          closefile(filepointer);
       end;
    except
    on Einouterror do
       showMessage('磁盘异常,无法保存!');
    on EAccessViolation do
       showmessage('文件拒绝访问,无法保存!');
       else
       showmessage('保存文件时出错!');
    end;
      

  3.   

    freebird1020(nuaaboy) TonyWzz(笨蛋) 这两位兄弟指出的错误确实存在,谢谢!
    但是这好象不是问题根本之所在,问题修改后仍然得不到解决,问题依旧。
    先复制文字再复制图象可以,但是先复制图象再复制文字就会出错!请各位高手继续帮忙,freebird1020(nuaaboy) TonyWzz(笨蛋) 我会每人给10分。
    如果有高手能帮我解决这个问题我将以N分(N>50)送上,以表谢意!
    期待中