fileread(FdataTwoHandle,intLen,4);
ExpressWord:=TMemoryStream.Create;
fileread(FdataTwoHandle,ExpressWord.memory^,intLen);我这样写反正读不出来东西。

解决方案 »

  1.   

    var
      iFileHandle: Integer;
      iFileLength: Integer;
      iBytesRead: Integer;
      Buffer: PChar;
      i: Integer
    begin
      if OpenDialog1.Execute then
      begin
        try
          iFileHandle := FileOpen(OpenDialog1.FileName, fmOpenRead);
          iFileLength := FileSeek(iFileHandle,0,2);
          FileSeek(iFileHandle,0,0);
          Buffer := PChar(AllocMem(iFileLength + 1));
          iBytesRead = FileRead(iFileHandle, Buffer, iFileLength);
          FileClose(iFileHandle);      for i := 0 to iBytesRead-1 do
          begin
            StringGrid1.RowCount := StringGrid1.RowCount + 1;
            StringGrid1.Cells[1,i+1] := Buffer[i];
            StringGrid1.Cells[2,i+1] := IntToStr(Integer(Buffer[i]));
          end;
        finally
          FreeMem(Buffer);
        end;
      end;
    end;查看帮助吧。里面很详细的。