home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1990 / 12 / tricks / chkdrive.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-09-11  |  1.3 KB  |  41 lines

  1. (* ------------------------------------------------------ *)
  2. (*                    CHKDRIVE.PAS                        *)
  3. (*        (c) 1990 Christian Büchel & TOOLBOX             *)
  4. (* ------------------------------------------------------ *)
  5. USES Dos, Crt;
  6.  
  7. VAR
  8.   lw : CHAR;
  9.  
  10.   FUNCTION CheckDrive(Drive : BYTE) : BOOLEAN;
  11.   VAR
  12.     Regs               : Registers;
  13.     anz_floppy, a_or_b : BYTE;
  14.   BEGIN
  15.     anz_floppy := ((Mem[$40:$10] AND 192) SHR 6) + 1;
  16.              (* BIOS-Variable, zeigt Anzahl der Laufwerke *)
  17.     a_or_b     := Mem[$50:$04];
  18.              (* Bios Variable, zeigt bei einer Floppy, ob *)
  19.              (* aktuell als A: oder B: ansprechbar        *)
  20.     IF ((Drive      =  1)  AND  (anz_floppy =  1) AND
  21.         (a_or_b     = 00)) OR  ((Drive      =  0) AND
  22.         (anz_floppy =  1)  AND  (a_or_b     = 01))
  23.                                                   THEN BEGIN
  24.       CheckDrive := FALSE;
  25.       Exit;
  26.     END;
  27.     CheckDrive := NOT (DiskSize(Drive + 1) = -1);
  28.   END;
  29.  
  30. BEGIN
  31.   REPEAT
  32.     lw := UpCase(ReadKey);
  33.     IF NOT CheckDrive(Ord(lw) - 65) THEN
  34.       WriteLn('Laufwerk ', lw, ' nicht vorhanden')
  35.     ELSE
  36.       WriteLn('Laufwerk ', lw, ' vorhanden');
  37.   UNTIL lw = #13;
  38. END.
  39. (* ------------------------------------------------------ *)
  40. (*               Ende von CHKDRIVE.PAS                    *)
  41.