Move(Stream.Memory^, P^, Stream.Size);

解决方案 »

  1.   

    to willsound(威风):是啊,用于将一个gif的图像文件格式转为二进制流后传递到一个变量,要如果实现啊:
    const
      FileName: string = 'c:\a.gif';
    var
      flstrmTemp: TFileStream;
      strTemp: string;
    begin
      flstrmTemp := TFileStream.Create(FileName, fmOpenRead);
      SetLength(strTemp, flstrmTemp.Size);
      flstrmTemp.Read(strTemp[1], flstrmTemp.Size);
      flstrmTemp.Free;
    end; 
    这时在strtemp中是一个字符串的二进制代码,如何将它们传递到一个二进制的变量中????
    求救啊!
      

  2.   

    你的问题没说清楚,你要什么结果啊?这个变量要用了干吗?type
    pByte = array of Byte;
    var
    img:pByte;
    begin
    img :=  AllocMem(flstrmTemp.Size);
    flstrmTemp.Read(img&, flstrmTemp.Size);
    end;
    不好意思,在段代码只是示意性的,不能编译的,不排除还有一些语法错误,大概的意思你
    应该能明白了吧?
      

  3.   

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

  4.   


    pByte = array of Byte;
    img:pByte;
    flstrmTemp := TFileStream.Create(gifname, fmOpenRead);
    img:=AllocMem(flstrmTemp.Size);
    flstrmTemp.Read(img, flstrmTemp.Size);//此句不同
      

  5.   

    to traiinbox:这样将值是传递过去了,可是却显示该变量img中全是前面的140个字节全是‘0’,而后面9位有些为非‘0’的,这个gif文件总共是149个字节 ,请问要如何处理!