procedure TForm1.Button1Click(Sender: TObject);
const
  buf:array[0..5] of byte=($06,$05,$04,$f0,$00,$e0);
var
  FileName: string;
  flstrmTemp: TFileStream;
  strTemp: string;
begin
  FileName:= 'c:\windows\desktop\3471.gif';
  flstrmTemp := TFileStream.Create(FileName, fmOpenReadWrite);/////*****
  SetLength(strTemp, flstrmTemp.Size);
  flstrmTemp.Read(strTemp[1], flstrmTemp.Size);
  flstrmtemp.position:=0;
  flstrmtemp.write(buf,6);
  flstrmtemp.write(strTemp[1],Length(strTemp));/////*****
  flstrmtemp.position:=0;/////*****
  SetLength(strTemp, flstrmTemp.Size);
  flstrmTemp.Read(strTemp[1], flstrmTemp.Size);
  flstrmTemp.Free;
end;

解决方案 »

  1.   

    to guig:如何将二进制文件流写到一个二进制的串中,DELPHI中如何处理二进制数据流,就是说有二进制数据类型吗?二进制数据流如何传递到另一函数变量中。请大家指教啊!!!
      

  2.   

    >>DELPHI中如何处理二进制数据流
    流不分是否二进制,最小单位是字节。>>二进制数据流如何传递到另一函数变量中
    传送指针、变量参数、可变参数等都行
      

  3.   

    如何将一个文件中的数据流传递到pbyte(byte指针型)的数据变量中?!
    请帮助?!
      

  4.   

    pByte = array of Byte;
    img:pByte;
    flstrmTemp := TFileStream.Create(gifname, fmOpenRead);
    img:=AllocMem(flstrmTemp.Size);
    flstrmTemp.Read(img&, flstrmTemp.Size);
    编译上面的代码时提示:‘&’为非法字符,请指教!我们的想法是想将gifname文件以二进制的方式写入到img变量中!
      

  5.   

    可是变量img不是一个指针类型的啊,我也加上后调试也是错的,您还有其它办法吗,蓴另您可以将一个字任符串传递给一个上面的img变量吗?能将字任能将字符串的值传递给一个byte类型的数组吗?
      

  6.   

    >>pByte = array of Byte;
    >>img:pByte;
    >>flstrmTemp := TFileStream.Create(gifname, fmOpenRead);
    >>img:=AllocMem(flstrmTemp.Size);
    >>flstrmTemp.Read(img&, flstrmTemp.Size);
    这样改
    type
      ArrByte=array[0..maxint] of Byte;
      PArrByte=^ArrByte;
    ...
    var
      img:PArrByte;
    ...flstrmTemp := TFileStream.Create(gifname, fmOpenRead);
    img:=AllocMem(flstrmTemp.Size);
    flstrmTemp.seek(0,0);//加上这句规范些
    flstrmTemp.Read(img^[0], flstrmTemp.Size);