home *** CD-ROM | disk | FTP | other *** search
/ Sauce 'n' Code 1 / sauce-n-code-01.adf / ASCII_Source / FileDumper.asc < prev    next >
Text File  |  1995-05-07  |  3KB  |  112 lines

  1. '
  2. '  File dumper v1.0 by Janne Kalliola  
  3. '
  4. ' Craft Extension?
  5. '
  6. Set Accessory 
  7. Global MAKS,OIKEA
  8. PAIKKA=1
  9. Trap Screen Close 7
  10. For I=0 To 6
  11.    Trap Screen Hide I
  12. Next 
  13. F$=Fsel$("**","","Select file to be","dumped")
  14. If F$="" Then End 
  15. If Exist(F$)=0 Then End 
  16. OIKEA=File Length(F$)
  17. MAKS=OIKEA/384+1
  18. Reserve As Work 15,MAKS*384
  19. Bload F$,Start(15)
  20. Resource Screen Open 7,640,144,0
  21. Cls 0
  22. Cls 2,0,11 To 640,139
  23. A$="SV 0,'File Dumper v1.0';"
  24. A$=A$+"SV 1,'Next';"
  25. A$=A$+"SV 2,'Prev';"
  26. A$=A$+"SV 3,'Go to';"
  27. A$=A$+"BUtton 1,0,0,24,10,0,0,1;[UNpack 0,0,22 BP+;][NoWait;]"
  28. A$=A$+"BUtton 2,24,0,360,10,0,0,1;[LIne 0,0,28,360;PRint 8,1,0 VA,7;][ScreenMove;]"
  29. A$=A$+"BUtton 3,384,0,64,10,0,0,1;[LIne 0,0,41 BP+ BP+ BP+,64;PRint 16,1,1 VA,7;][]"
  30. A$=A$+"BUtton 4,448,0,64,10,0,0,1;[LIne 0,0,41 BP+ BP+ BP+,64;PRint 16,1,2 VA,7;][]"
  31. A$=A$+"BUtton 5,512,0,64,10,0,0,1;[LIne 0,0,41 BP+ BP+ BP+,64;PRint 12,1,3 VA,7;][]"
  32. A$=A$+"LIne 576,0,41,640;"
  33. A$=A$+"LIne 0,140,31,640;"
  34. A$=A$+"EXit;"
  35. Dialog Open 1,A$
  36. D=Dialog Run(1)
  37. Text 604,7,"/"+Str$(MAKS)-" "
  38. DUMP[0]
  39. Do 
  40.    Exit If Dialog(1)=1
  41.    Exit If Mouse Key=2
  42.    If Rdialog(1,3)=1
  43.       If PAIKKA<MAKS
  44.          Inc PAIKKA
  45.          DUMP[PAIKKA-1]
  46.       End If 
  47.       Dialog Update 1,3,0
  48.    Else If Rdialog(1,4)=1
  49.       If PAIKKA>1
  50.          Dec PAIKKA
  51.          DUMP[PAIKKA-1]
  52.       End If 
  53.       Dialog Update 1,4,0
  54.    Else If Rdialog(1,5)=1
  55.       Get Cblock 1,208,20,224,68
  56.       Dialog Freeze 1
  57.       A$="SV 0,'Go to';"
  58.       A$=A$+"SV 1,'New page';"
  59.       A$=A$+"SV 2,'Cancel';"
  60.       A$=A$+"SV 3,'Ok';"
  61.       A$=A$+"BAse 208,20;"
  62.       A$=A$+"SIze 224,68;"
  63.       A$=A$+"BOx 0,0,1,224,68;"
  64.       A$=A$+"POut 0 VA CX,5,0 VA,0,7;"
  65.       A$=A$+"LIne 8,15,31,216;"
  66.       A$=A$+"POut 40,28,1 VA,0,3;"
  67.       A$=A$+"LIne 120,24,17,184;"
  68.       A$=A$+"DIgit 1,128,28,6,0,0,2,3;"
  69.       A$=A$+"BUtton 2,48,48,64,16,0,0,1;[UNpack 0,0,13 BP+;POut 8,4,2 VA,0,4;][]"
  70.       A$=A$+"BUtton 3,112,48,64,16,0,0,1;[UNpack 0,0,13 BP+;POut 24,4,3 VA,0,4;][]"
  71.       A$=A$+"EXit;"
  72.       Dialog Open 2,A$
  73.       D=Dialog Run(2)
  74.       Do 
  75.          Exit If Rdialog(2,2)=1
  76.          If Rdialog(2,3)=1
  77.             If Rdialog(2,1)>MAKS
  78.                PAIKKA=MAKS
  79.             Else If Rdialog(2,1)<1
  80.                PAIKKA=1
  81.             Else 
  82.                PAIKKA=Rdialog(2,1)
  83.             End If 
  84.             Exit 
  85.          End If 
  86.       Loop 
  87.       Dialog Close 2
  88.       Put Cblock 1
  89.       Del Cblock 1
  90.       Dialog Unfreeze 1
  91.       Dialog Update 1,5,0
  92.       DUMP[PAIKKA-1]
  93.    End If 
  94. Loop 
  95. Edit 
  96. Procedure DUMP[PAIKKA]
  97.    Cls 6,578,1 To 603,9
  98.    Text 612-Len(Str$(PAIKKA+1))*8,7,Str$(PAIKKA+1)-" "
  99.    Cls 2,0,11 To 640,139
  100.    For I=0 To 15
  101.       A$=Hex Dump$(Start(15)+PAIKKA*384+I*24,24)+" "+Chr Dump$(Start(15)+PAIKKA*384+I*24,24)
  102.       Text 8,I*8+17,A$
  103.       Exit If OIKEA<PAIKKA*384+I*24
  104.    Next 
  105. End Proc
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.