'**************************************************************************** ' ' Auslesen der logischen Datentr„gernummer in PowerBASIC 3.0/3.2 ' (ben”tigt DOS 4.0 or later!!) ' ' entwickelt von Th.Gohel FidoNet : Thomas Gohel@2:2410/330.1 ' InterNet: support@pbsound.snafu.de ' Homepage: http://www.snafu.de/~pbsound/ ' '**************************************************************************** PRINT "Datentr„gernummer von erster Festplatte: "; GetDatenTraegerName$("C") PRINT "Datentr„gernummer von zweiter Festplatte: "; GetDatenTraegerName$("D") PRINT "Datentr„gernummer von dritter Festplatte: "; GetDatenTraegerName$("E") FUNCTION GetDatenTraegerName$(LaufWerk$) public DIM DiskBuffer AS STRING * 64 ' inclusive Reserve DIM DiskID1 AS INTEGER DIM DiskID2 AS INTEGER Lw% = ASC(LEFT$(LaufWerk$,1)) - 64 ! push ds ! mov ah, &h69 ; undokmentiert ! mov al, &h00 ; Get = 0 , Set = 1 ! mov bh, &h00 ! mov bl, Lw% ; 0=default, 1=A, 2=B, ... ! lea dx, DiskBuffer ! int &h21 ! pop ds ! mov dx, DiskBuffer[04] ! mov ax, DiskBuffer[02] ! mov DiskID1, dx ! mov DiskID2, ax GetDatenTraegerName$ = HEX$(DiskID1) + "-" + HEX$(DiskID2) END FUNCTION