home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* PROTOKOL.PAS *)
- (* (c) 1993 Thomas Mertens & DMV *)
- (* ------------------------------------------------------ *)
- {$M 4096,0,0}
- {$I-}
- PROGRAM Protokoll;
-
- USES Dos, Crt;
-
- CONST
- pa = 'PRT EIN um ';
- pd = 'PRT AUS um ';
- pf = 'C:\DOS\MYPRT.PRT';
- pw = 'EXIT';
-
- VAR
- p, b : STRING;
- ep : BOOLEAN;
-
- PROCEDURE Sz(Ausgabe : STRING);
- VAR
- f : Text;
- BEGIN
- Assign(f, pf);
- Append(f);
- IF IOResult <> 0 THEN
- Rewrite(f);
- WriteLn(f, Ausgabe);
- Close(f);
- END;
-
- FUNCTION Up(a : STRING) : STRING;
- VAR
- z : BYTE;
- BEGIN
- FOR z := 1 TO Length(a) DO
- a[z] := UpCase(a[z]);
- Up := a;
- END;
-
- FUNCTION d2s : STRING;
- VAR
- h, m, s : WORD;
- dt_buf : STRING;
-
- FUNCTION w2s(a : WORD) : STRING;
- VAR
- bf : STRING;
- BEGIN
- Str(a, bf);
- IF Length(bf) = 1 THEN bf := '0' + bf;
- w2s := bf;
- END;
-
- BEGIN
- GetTime(h, m, s, s);
- dt_buf := w2s(h) + ':';
- dt_buf := dt_buf + w2s(m) + ' am ';
- GetDate(h, m, s, s);
- dt_buf := dt_buf + w2s(s) + '.';
- dt_buf := dt_buf + w2s(m) + '.';
- d2s := dt_buf;
- END;
-
- BEGIN
- CheckBreak := FALSE;
- ep := FALSE;
- sz(pa + d2s);
- REPEAT
- GetDir(0, p);
- WriteLn(p); Write('>');
- ReadLn(b);
- IF up(b) = up(pw) THEN BEGIN
- b := pd + d2s;
- ep := TRUE;
- END;
- IF b <> '' THEN sz(b);
- IF ep THEN Halt(0);
- SwapVectors;
- Exec(GetEnv('COMSPEC'), '/C' + b);
- SwapVectors;
- WriteLn;
- UNTIL FALSE;
- END.
- (* ------------------------------------------------------ *)
- (* Ende von PROTOKOL.PAS *)
-
-