home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1987 / 10 / dosfunc / fparscp3.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1987-08-25  |  1.4 KB  |  24 lines

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