'**************************************************************************** ' ' Zugriff auf Datei testen in PowerBASIC 3.0/3.2 ' ' entwickelt von / developed by : Thomas Gohel ' Fido : Thomas Gohel@2:2410/330.1 ' InterNet: author@pbsound.snafu.de ' Homepage: http://www.snafu.de/~pbsound/ ' '**************************************************************************** Datei$ = "C:\command.com" 'Datei$ = "C:\dos\command.com" PRINT PRINT "Teste Zugriff auf Datei: "; Datei$ PRINT "Fehler: "; CheckFile%(Datei$); PRINT END FUNCTION CheckFile%(Datei$) LOCAL DateiHandle% Datei$ = Datei$ + CHR$(0) DateiSeg?? = STRSEG(Datei$) DateiOff?? = STRPTR(Datei$) Zugriffsmode% = &b00000010 ! push ds ! mov ah, &h3d ! mov al, Zugriffsmode% ! mov dx, DateiOff?? ! mov ds, DateiSeg?? ! int &h21 ! mov DateiHandle%, ax ! pop ds ! jnc CheckFileOk Carry% = 1 CheckFileOk: SELECT CASE Carry% CASE 0 ! mov ax, &h3e00 ! mov bx, DateiHandle% ! int &h21 ! jnc CheckCloseOk Carry% = 1 CheckCloseOk: CASE 1 Zugriffsfehler% = DateiHandle% SELECT CASE Zugriffsfehler% CASE 1 PRINT "fehlende File-Sharing-Software"; CASE 2 PRINT "Datei nicht gefunden"; CASE 3 PRINT "Pfad nicht gefunden oder Datei existiert nicht"; CASE 4 PRINT "kein freies Handle mehr"; CASE 5 PRINT "Zugriff verweigert"; CASE 12 PRINT "nicht erlauber Zugriffsmodus"; END SELECT END SELECT CheckFile% = Carry% END FUNCTION