写文件有这么复杂吗?
有两种人,一种人是走捷径,一种人“脚踏实地”
你应该去用 C++,而不应该用 Delphi.

解决方案 »

  1.   

    缓冲区用的不对;不能用string;
    procedure TForm1.BitBtn1Click(Sender: TObject);var
      F:File; r:longint; FSize:Word; buf:string;
      i:integer;
    begin  Buf:=Edit1.Text;  AssignFile(f,'C:\mm.txt');
      ReWrite(F,1);
      //i:=SizeOf(buf); 恒为4  BlockWrite(F,pchar(Buf)^,length(buf)+1);
      closeFile(f);
    end;procedure TForm1.BitBtn2Click(Sender: TObject);
    var F:File; r:longint; FSize:Word; buf:pchar;
    begin
      {$I-}
      Buf:='';
      AssignFile(f,'C:\mm.txt');
      ReSet(F,1);
      getmem(buf,100);
      BlockRead(F,Buf^,100);
      closeFile(f);
      Label1.Caption:=Buf;
    end;
      

  2.   

    To rd_software(人定):
    这种方法肯定有它的用处,怎么能这么说呢?
    呵呵!
      

  3.   

    这是一个很传统的误区,string是什么? delphi3.0以后,缺省的时候,string是指针!
    Label1.Caption, Edit1.Text,都是指针,对它进行读写操作,不仅没有意义,而且会引起程序崩溃.
    学习Delphi的第一步,不是VCL,也不是API,而是Object Pascal
      

  4.   

    呵呵,说实话,原来只学了Pascal,然后就是Delphi 就是没怎么看 Object Pascal