下面的程序是将文件读出以16进制写进文本文件var sfile:file;
    dfile:Textfile;
    byteread,i:integer;
    buffer:array[1..16] of byte;begin
    if opendialog1.Execute then
       assignfile(sfile,opendialog1.FileName)
    else
       abort;    if savedialog1.Execute then
       assignfile(dfile,savedialog1.FileName)
    else
       abort;
    try
    reset(sfile,1);
    rewrite(dfile);
    repeat
        blockread(sfile,buffer,sizeof(buffer),byteread);
        if byteread>0 then
           begin
                for i:=1 to byteread do
                    begin
                        write(dfile,format('%0.2x',[buffer[i]]));
                        write(dfile,' ');
                    end;
                writeln(dfile,'');
           end;
    until  byteread=0;
    finally
    closefile(sfile);
    closefile(dfile);
    end;