home *** CD-ROM | disk | FTP | other *** search
- UNIT KalDos;
- {$X+,F+,O+,D-,L-,R-,B-}
- INTERFACE
-
- USES Dos, MsgBox;
-
- CONST
- KalExt = '.GK3'; { Standarderweiterungen der Kalender-Definitionsdateien }
-
- FUNCTION IOResult: INTEGER;
- PROCEDURE MakeKalenderFileName(VAR Name: PathStr);
- FUNCTION FileExists(Name: PathStr): BOOLEAN;
- PROCEDURE Dateifehler(Code: INTEGER);
-
- { Wandelt c in Großbuchstaben um }
- FUNCTION UCase(c: CHAR): CHAR;
-
- { Wandelt s in Großbuchstaben um }
- FUNCTION Gross(s: STRING): STRING;
-
- { Gibt Datum als String in der Form tt.mm.jjjjj zurück }
- { Nullen werden durch Leerzeichen ersetzt }
- FUNCTION MakeDateString(t,m,j: INTEGER): STRING;
-
-
- IMPLEMENTATION
-
- FUNCTION IOResult: INTEGER;
- BEGIN
- IOResult := System.IOResult
- END;
-
- FUNCTION FileExists(Name: PathStr): BOOLEAN;
- BEGIN
- FileExists := FSearch(Name,'') <> ''
- END;
-
- PROCEDURE Dateifehler(Code: INTEGER);
- VAR s: STRING;
- p: POINTER;
- BEGIN
- CASE Code OF
- 0: EXIT;
- 2: s := 'Datei nicht gefunden';
- 3: s := 'Pfad nicht gefunden';
- 4: s := 'Zu viele geöffnete Dateien';
- 5: s := 'Dateizugriff verweigert';
- 15, 151: s := 'Ungültiges Laufwerk';
- 100, 160: s := 'Lesefehler';
- 101, 161: s := 'Schreibfehler';
- 150: s := 'Schreibschutzfehler';
- 152: s := 'Laufwerk nicht bereit';
- 154: s := 'Prüfsummenfehler';
- 156: s := 'Kopf-Positionierungsfehler';
- 157: s := 'Unbekanntes Sektorformat';
- 158: s := 'Sektor nicht gefunden';
- ELSE s := 'Unbekannter Fehler'
- END;
- p := @s;
- MessageBox(^c'%s!',@p,mfError+mfOkButton)
- END;
-
- FUNCTION ExePath: PathStr;
- VAR DirS : DirStr;
- NameS: NameStr;
- ExtS : ExtStr;
- BEGIN
- FSplit(ParamStr(0),DirS,NameS,ExtS);
- ExePath := DirS+NameS
- END;
-
- PROCEDURE MakeKalenderFileName(VAR Name: PathStr);
- VAR DirS : DirStr;
- NameS: NameStr;
- ExtS : ExtStr;
- BEGIN
- FSplit(Name,DirS,NameS,ExtS);
- IF ExtS = '' THEN Name := Name+KalExt;
- Name := FSearch(Name,ExePath+';'+GetEnv('PATH'));
- IF Name <> '' THEN BEGIN
- FSplit(Name,DirS,NameS,ExtS);
- IF DirS = '' THEN Name := FExpand(Name)
- END
- END;
-
- FUNCTION UCase(c: CHAR): CHAR;
- BEGIN
- CASE c OF
- 'a'..'z': Dec(c,$20);
- 'ö': c := 'Ö';
- 'ä': c := 'Ä';
- 'ü': c := 'Ü';
- 'ß': c := 'S';
- 'ê','ë','è','é': c := 'É';
- 'á','à','â': c := 'A';
- 'î','í','ì': c := 'I';
- 'æ': c := 'Æ';
- 'å': c := 'Å';
- 'û','ú','ù': c := 'U';
- 'ñ': c := 'Ñ';
- END;
- UCase := c
- END;
-
- FUNCTION Gross(s: STRING): STRING;
- VAR i: BYTE;
- BEGIN
- FOR i := 1 TO Length(s) DO s[i] := UCase(s[i]);
- Gross := s
- END;
-
- FUNCTION MakeDateString(t,m,j: INTEGER): STRING;
- VAR s: STRING[20]; s1: STRING[5];
- BEGIN
- Str(t:2,s);
- Str(m:2,s1);
- s := s+'.'+s1+'.';
- Str(j:5,s1);
- MakeDateString := s+s1
- END;
-
- END.