home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 19 / snap / snapshot.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-08-01  |  3.1 KB  |  106 lines

  1. (* ------------------------------------------------------ *)
  2. (*                   SNAPSHOT.PAS                         *)
  3. (*                   Snapshot  2+                         *)
  4. (*               Turbo Pascal ab 5.0                      *)
  5. (*       (c) 1990 Gerald Arend, G. Huber & TOOLBOX        *)
  6. (* ------------------------------------------------------ *)
  7. {$R-,S-,I-,V-,B-,N-,D-,L-}
  8. {$M 4096,0,655360}  { wenig Stack, Heap durch TSR begrenzt }
  9. PROGRAM Snapshot;
  10.  
  11. USES TSR, SavePCX;
  12.  
  13. CONST
  14.   SnapID     = 11;                   { Kennziffer          }
  15.   Version    = 'SNAPSHOT 2+';
  16.   Hotkey     = $6800;                { Aktivierung: Alt-F1 }
  17.   HotkeyName = 'Alt-F1';
  18.   NumPic: WORD = 1;
  19.  
  20. FUNCTION ExistFile(name: STRING): BOOLEAN;
  21. VAR
  22.   F : FILE;
  23. BEGIN
  24.   Assign(F, name);
  25. {$I-}
  26.   Reset(F);
  27. {$I+}
  28.   ExistFile:=(IOResult=0);
  29. END;
  30.  
  31. FUNCTION GetFileName: STRING;
  32. VAR
  33.   Temp: STRING[4];
  34.   Name: STRING[8];
  35. BEGIN
  36.   REPEAT
  37.     IF numpic>9999 THEN
  38.       numpic:=1;
  39.     Str(numpic, temp);
  40.     Name:='SNAP0000';
  41.     Move(Temp[1], Name[9-Length(Temp)], Length(Temp));
  42.     Inc(numpic);
  43.   UNTIL (ExistFile(Name+'.PCX')=FALSE) AND
  44.         (ExistFile(Name+'.TXT')=FALSE) AND
  45.         (ExistFile(Name+'.ATT')=FALSE);
  46.   GetFileName:=Name;
  47. END;
  48.  
  49. {$F+}
  50. PROCEDURE GetScreen;
  51. VAR
  52.   DateiName: STRING[8];
  53. BEGIN
  54.   Screen2PCX(GetFileName);
  55. END;
  56. {$F-}
  57.  
  58. BEGIN
  59.   NumPic:=1;
  60.   IF AlreadyLoaded(SnapID) THEN
  61.     WriteLn(Version, ' ist bereits geladen!',
  62.             ^M^J, 'Aktivieren Sie das Programm mit ',
  63.             HotkeyName, '.')
  64.   ELSE
  65.   BEGIN
  66.     IF PopUpInstalled (@GetScreen, Hotkey, 24) THEN BEGIN
  67.       IF ParamCount > 0 THEN BEGIN
  68.         IF ParamStr(1)='?' THEN
  69.         BEGIN
  70.           WriteLn;
  71.           WriteLn('Parameter für SNAPSHOT+');
  72.           WriteLn('=======================');
  73.           WriteLn;
  74.           WriteLn('/A  Setzen Sie diesen Parameter, damit '+
  75.             Version+' Textscreens mitsamt');
  76.           WriteLn('    Attributen abspeichert.');
  77.           WriteLn;
  78.           WriteLn('/E  Wenn Ihr Rechner mit einer EGA-Karte '+
  79.             'ausgestattet ist, sollten Sie immer');
  80.           WriteLn('    den Parameter "/E" angeben. Genauere '+
  81.             'Informationen dazu finden Sie in ');
  82.           WriteLn('    der Dokumentation zu diesem Programm.');
  83.           Halt;
  84.         END;
  85.         IF (ParamStr(1)='/A') OR (ParamStr(1)='/a') THEN
  86.           AttrScreen:=TRUE;
  87.         IF (ParamStr(1)='/E') OR (ParamStr(1)='/e') THEN
  88.           EGAOnly:=TRUE;
  89.       END;
  90.       WriteLn(Version, ' installiert.',
  91.               ^M^J, 'Aktivieren Sie das Programm mit ',
  92.               HotkeyName, '.');
  93.       Write(^M^J,'Die Ablage der Textbildschirme erfolgt ');
  94.       CASE AttrScreen OF
  95.         FALSE : WriteLn('im reinen ASCII-Format');
  96.         TRUE  : WriteLn('inklusive der Attribute');
  97.       END;
  98.       MakeResident(SnapID);
  99.     END ELSE
  100.       WriteLn(Version, ' nicht installiert,', ^M^J,
  101.               'Fehler: Vermutlich zu wenig Hauptspeicher!');
  102.   END;
  103. END.
  104.  
  105. (* ------------------------------------------------------ *)
  106. (*                Ende von SNAPSHOT.PAS                   *)