home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* SNAPSHOT.PAS *)
- (* Snapshot 2+ *)
- (* Turbo Pascal ab 5.0 *)
- (* (c) 1990 Gerald Arend, G. Huber & TOOLBOX *)
- (* ------------------------------------------------------ *)
- {$R-,S-,I-,V-,B-,N-,D-,L-}
- {$M 4096,0,655360} { wenig Stack, Heap durch TSR begrenzt }
- PROGRAM Snapshot;
-
- USES TSR, SavePCX;
-
- CONST
- SnapID = 11; { Kennziffer }
- Version = 'SNAPSHOT 2+';
- Hotkey = $6800; { Aktivierung: Alt-F1 }
- HotkeyName = 'Alt-F1';
- NumPic: WORD = 1;
-
- FUNCTION ExistFile(name: STRING): BOOLEAN;
- VAR
- F : FILE;
- BEGIN
- Assign(F, name);
- {$I-}
- Reset(F);
- {$I+}
- ExistFile:=(IOResult=0);
- END;
-
- FUNCTION GetFileName: STRING;
- VAR
- Temp: STRING[4];
- Name: STRING[8];
- BEGIN
- REPEAT
- IF numpic>9999 THEN
- numpic:=1;
- Str(numpic, temp);
- Name:='SNAP0000';
- Move(Temp[1], Name[9-Length(Temp)], Length(Temp));
- Inc(numpic);
- UNTIL (ExistFile(Name+'.PCX')=FALSE) AND
- (ExistFile(Name+'.TXT')=FALSE) AND
- (ExistFile(Name+'.ATT')=FALSE);
- GetFileName:=Name;
- END;
-
- {$F+}
- PROCEDURE GetScreen;
- VAR
- DateiName: STRING[8];
- BEGIN
- Screen2PCX(GetFileName);
- END;
- {$F-}
-
- BEGIN
- NumPic:=1;
- IF AlreadyLoaded(SnapID) THEN
- WriteLn(Version, ' ist bereits geladen!',
- ^M^J, 'Aktivieren Sie das Programm mit ',
- HotkeyName, '.')
- ELSE
- BEGIN
- IF PopUpInstalled (@GetScreen, Hotkey, 24) THEN BEGIN
- IF ParamCount > 0 THEN BEGIN
- IF ParamStr(1)='?' THEN
- BEGIN
- WriteLn;
- WriteLn('Parameter für SNAPSHOT+');
- WriteLn('=======================');
- WriteLn;
- WriteLn('/A Setzen Sie diesen Parameter, damit '+
- Version+' Textscreens mitsamt');
- WriteLn(' Attributen abspeichert.');
- WriteLn;
- WriteLn('/E Wenn Ihr Rechner mit einer EGA-Karte '+
- 'ausgestattet ist, sollten Sie immer');
- WriteLn(' den Parameter "/E" angeben. Genauere '+
- 'Informationen dazu finden Sie in ');
- WriteLn(' der Dokumentation zu diesem Programm.');
- Halt;
- END;
- IF (ParamStr(1)='/A') OR (ParamStr(1)='/a') THEN
- AttrScreen:=TRUE;
- IF (ParamStr(1)='/E') OR (ParamStr(1)='/e') THEN
- EGAOnly:=TRUE;
- END;
- WriteLn(Version, ' installiert.',
- ^M^J, 'Aktivieren Sie das Programm mit ',
- HotkeyName, '.');
- Write(^M^J,'Die Ablage der Textbildschirme erfolgt ');
- CASE AttrScreen OF
- FALSE : WriteLn('im reinen ASCII-Format');
- TRUE : WriteLn('inklusive der Attribute');
- END;
- MakeResident(SnapID);
- END ELSE
- WriteLn(Version, ' nicht installiert,', ^M^J,
- 'Fehler: Vermutlich zu wenig Hauptspeicher!');
- END;
- END.
-
- (* ------------------------------------------------------ *)
- (* Ende von SNAPSHOT.PAS *)