home *** CD-ROM | disk | FTP | other *** search
- (* ----------------------------------------------------------------------- *)
- (* FPARSCP3.PAS *)
- (* (c) 1987 Michael Ceol & PASCAL INT. *)
- (* Dateinamen wie z.B. "a:*.pas" untersuchen und in der Form "1????????PAS"
- im File Control Block "DirFCB" eintragen sowie weitere Vorbereitungen
- im "DirFCB" zur Suche treffen. Diese Funktion existiert erst ab CP/M
- 3.0. Fuer CP/M 2.x die in "FPARSCP2.PAS" angegebene alternative verwen-
- den! Die Funktion wurde an die Konventionen der MS-DOS-Funktion 29 an-
- gepasst: result=0 -> fname war ok, result=1 -> fname enthaelt "*" oder
- "?", result = 255 -> fname fehlerhaft (z.B. illegales Laufwerk). next-
- ch zeigt auf das erste, nicht mehr zum Dateiname gehoerende Zeichen. *)
-
- PROCEDURE FParsName (VAR fname: Dir_Chr0; VAR nextch, result: INTEGER);
- VAR pfcb: RECORD fname_adr, FCB_adr : INTEGER; END; temp: INTEGER;
- BEGIN
- pfcb.fname_adr := Addr(fname); pfcb.FCB_adr := Addr(DirFCB);
- temp := BDosHL($98,Addr(pfcb)); result := 0; nextch := 0;
- IF temp = $FFFF THEN result := 255
- ELSE IF temp <> 0 THEN nextch := Succ(temp-Addr(fname));
- FOR temp := 1 TO 11 DO IF DirFCB.name[temp] = '?' THEN result := 1;
- END;
- (* ----------------------------------------------------------------------- *)
- (* FPARSCP3.PAS *)