怎么读一个二进制文件,存到一个文本文件里急!
还有读出的数据是什么样的,是'1'和'0'的数据吗?如1110010100101001分不够再加

解决方案 »

  1.   

    正常读文件吗,一个字节一个字节读,读出来的是什么你自己看看不就知道了。
    temp : array[0..200] of charassignfile(f,'你的文件');
    reset(f);
    read(f,temp);
    closefile(f);
    然后处理你的temp就行了。
      

  2.   

    Memo1.Lines.LoadFromFile
    Memo1.Lines.SaveToFile
      

  3.   

    把二进制文件读成txt后怎么再给它读回去
      

  4.   

    来个简单点的。你COPY过去 运行看一下效果就知道了。。16进制的。
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ComCtrls, Buttons;type
      TMyConversion=class(TConversion)
      public
        function ConvertReadStream(Stream:TStream;Buffer:Pchar;BufSize:integer):integer;override;
     end;
      TForm1 = class(TForm)
        RichEdit1: TRichEdit;
        BitBtn1: TBitBtn;
        OpenDialog1: TOpenDialog;
        procedure FormCreate(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      RichEdit1.RegisterConversionFormat('txt',TMyConversion);
    end;{ TMyConersion }function TMyConversion.ConvertReadStream(Stream:TStream;Buffer:Pchar;
               BufSize:integer):integer;var
     s:string;
     buf:array[1..16]of char;
     i,n:integer;
    begin
      Result:=0;
      s:=Format(':%.5x  ',[Stream.position]);
      n:=Stream.Read(buf,16);
      if n=0 then exit;
      for i:=1 to n do
      begin
          AppendStr(s,InttoHex(ord(buf[i]),2)+'');
          if i mod 4=0 then AppendStr(s,' ');
      end;
       AppendStr(s,StringOfChar(' ',62-Length(s)));   AppendStr(s,#13);
       StrPCopy(Buffer,s);
      Result:=Length(S);
    end;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
     if  openDialog1.Execute then
     RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName );
    end;end.