DELPHI 中如何以16進制打開一個文件

解决方案 »

  1.   

    var
     tempStream:TMemoryStream;
     ilen:integer;
     buff:byte;begin
    tempstream:=tmemorystream.create();
    try
      tempstream.loadfromfile('c:\test.doc');
      tempstream.position:=0;
      //here,you can get the data from the stream
      for ilen:=0 to tempstream.size-1 do
      begin
          tempstream.read(buff,1);//get one byte data from the stream......
      end;
    finally
      tempstream.free;
    end;
      

  2.   

    hDeviceHandle:=CreateFile(lgDrv,GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);
      

  3.   

    hDeviceHandle:=CreateFile(lgDrv,GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);
      

  4.   

    info:=allocmem(512);
                      FileSeek(hDeviceHandle,first_position,0);
                      FileRead(hDeviceHandle,info[0],512);
      

  5.   

    将info数组按下标取出,之后把它转换成16进制就行了