1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| 00000000 0D 0A 70 72 6F 67 72 61 6D 20 48 65 78 44 75 6D ..program.HexDum
00000010 70 3B 0D 0A 7B 24 41 50 50 54 59 50 45 20 43 4F p;..{$APPTYPE.CO
00000020 4E 53 4F 4C 45 7D 0D 0A 0D 0A 75 73 65 73 0D 0A NSOLE}....uses..
00000030 20 20 53 79 73 55 74 69 6C 73 3B 0D 0A 0D 0A 66 ..SysUtils;....f
00000040 75 6E 63 74 69 6F 6E 20 49 49 66 28 63 6F 6E 73 unction.IIf(cons
00000050 74 20 61 43 6F 6E 64 69 74 69 6F 6E 3A 20 62 6F t.aCondition:.bo
00000060 6F 6C 65 61 6E 3B 20 63 6F 6E 73 74 20 61 54 72 olean;.const.aTr
00000070 75 65 52 65 73 75 6C 74 2C 20 61 46 61 6C 73 65 ueResult,.aFalse
00000080 52 65 73 75 6C 74 3A 20 63 68 61 72 29 3A 20 63 Result:.char):.c
00000090 68 61 72 3B 0D 0A 62 65 67 69 6E 0D 0A 20 20 69 har;..begin....i
000000A0 66 20 61 43 6F 6E 64 69 74 69 6F 6E 20 74 68 65 f.aCondition.the
000000B0 6E 20 72 65 73 75 6C 74 20 3A 3D 20 61 54 72 75 n.result.:=.aTru
000000C0 65 52 65 73 75 6C 74 20 65 6C 73 65 20 72 65 73 eResult.else.res
000000D0 75 6C 74 20 3A 3D 20 61 46 61 6C 73 65 52 65 73 ult.:=.aFalseRes
000000E0 75 6C 74 3B 0D 0A 65 6E 64 3B 0D 0A 0D 0A 76 61 ult;..end;....va
000000F0 72 0D 0A 20 20 62 75 66 66 65 72 3A 20 61 72 72 r....buffer:.arr
00000100 61 79 5B 31 2E 2E 31 36 5D 20 6F 66 20 63 68 61 ay[1..16].of.cha
00000110 72 3B 0D 0A 20 20 6F 66 66 73 65 74 3A 20 69 6E r;....offset:.in
00000120 74 65 67 65 72 3B 0D 0A 0D 0A 70 72 6F 63 65 64 teger;....proced
00000130 75 72 65 20 57 72 69 74 65 4C 69 6E 65 28 63 6F ure.WriteLine(co
00000140 6E 73 74 20 61 43 68 61 72 43 6F 75 6E 74 3A 20 nst.aCharCount:.
00000150 69 6E 74 65 67 65 72 29 3B 0D 0A 76 61 72 0D 0A integer);..var..
00000160 20 20 69 3A 20 69 6E 74 65 67 65 72 3B 0D 0A 62 ..i:.integer;..b
00000170 65 67 69 6E 0D 0A 20 20 57 72 69 74 65 28 46 6F egin....Write(Fo
00000180 72 6D 61 74 28 27 25 30 2E 38 58 20 27 2C 20 5B rmat('%0.8X.',.[
00000190 6F 66 66 73 65 74 5D 29 29 3B 0D 0A 20 20 66 6F offset]));....fo
000001A0 72 20 69 20 3A 3D 20 31 20 74 6F 20 61 43 68 61 r.i.:=.1.to.aCha
000001B0 72 43 6F 75 6E 74 20 64 6F 20 57 72 69 74 65 28 rCount.do.Write(
000001C0 46 6F 72 6D 61 74 28 27 25 30 2E 32 58 20 27 2C Format('%0.2X.',
000001D0 20 5B 4F 72 64 28 62 75 66 66 65 72 5B 69 5D 29 .[Ord(buffer[i])
000001E0 5D 29 29 3B 0D 0A 20 20 57 72 69 74 65 28 53 74 ]));....Write(St
000001F0 72 69 6E 67 4F 66 43 68 61 72 28 27 20 27 2C 20 ringOfChar('.',.
00000200 33 20 2A 20 28 31 36 20 2D 20 61 43 68 61 72 43 3.*.(16.-.aCharC
00000210 6F 75 6E 74 29 29 29 3B 0D 0A 20 20 66 6F 72 20 ount)));....for.
00000220 69 20 3A 3D 20 31 20 74 6F 20 61 43 68 61 72 43 i.:=.1.to.aCharC
00000230 6F 75 6E 74 20 64 6F 20 57 72 69 74 65 28 49 49 ount.do.Write(II
00000240 66 28 62 75 66 66 65 72 5B 69 5D 20 69 6E 20 5B f(buffer[i].in.[
00000250 23 33 33 2E 2E 23 31 32 36 5D 2C 20 62 75 66 66 #33..#126],.buff
00000260 65 72 5B 69 5D 2C 20 27 2E 27 29 29 3B 0D 0A 20 er[i],.'.'));...
00000270 20 57 72 69 74 65 4C 6E 3B 0D 0A 65 6E 64 3B 0D .WriteLn;..end;.
00000280 0A 0D 0A 76 61 72 0D 0A 20 20 69 3A 20 69 6E 74 ...var....i:.int
00000290 65 67 65 72 3B 0D 0A 0D 0A 62 65 67 69 6E 0D 0A eger;....begin..
000002A0 20 20 69 20 3A 3D 20 31 3B 0D 0A 20 20 6F 66 66 ..i.:=.1;....off
000002B0 73 65 74 20 3A 3D 20 30 3B 0D 0A 20 20 0D 0A 20 set.:=.0;.......
000002C0 20 77 68 69 6C 65 20 6E 6F 74 20 45 6F 66 20 64 .while.not.Eof.d
000002D0 6F 0D 0A 20 20 62 65 67 69 6E 0D 0A 20 20 20 20 o....begin......
000002E0 52 65 61 64 28 62 75 66 66 65 72 5B 69 5D 29 3B Read(buffer[i]);
000002F0 0D 0A 20 20 20 20 0D 0A 20 20 20 20 69 66 20 69 ............if.i
00000300 20 3D 20 31 36 20 74 68 65 6E 0D 0A 20 20 20 20 .=.16.then......
00000310 62 65 67 69 6E 0D 0A 20 20 20 20 20 20 57 72 69 begin........Wri
00000320 74 65 4C 69 6E 65 28 69 29 3B 0D 0A 20 20 20 20 teLine(i);......
00000330 20 20 69 20 3A 3D 20 31 3B 0D 0A 20 20 20 20 20 ..i.:=.1;.......
00000340 20 49 6E 63 28 6F 66 66 73 65 74 2C 20 31 36 29 .Inc(offset,.16)
00000350 3B 0D 0A 20 20 20 20 65 6E 64 20 65 6C 73 65 0D ;......end.else.
00000360 0A 20 20 20 20 20 20 49 6E 63 28 69 29 3B 0D 0A .......Inc(i);..
00000370 20 20 65 6E 64 3B 0D 0A 20 20 0D 0A 20 20 69 66 ..end;........if
00000380 20 69 20 3E 20 31 20 74 68 65 6E 0D 0A 20 20 62 .i.>.1.then....b
00000390 65 67 69 6E 0D 0A 20 20 20 20 44 65 63 28 69 29 egin......Dec(i)
000003A0 3B 0D 0A 20 20 20 20 57 72 69 74 65 4C 69 6E 65 ;......WriteLine
000003B0 28 69 29 3B 0D 0A 20 20 65 6E 64 3B 0D 0A 65 6E (i);....end;..en
000003C0 64 2E 0D 0A d... |
Partager