/* AmigaE Overeni existence zarizeni ghh 2024 */
/* program spusti AmigaDOS prikaz a na zaklade */
/* jeho odpovedi vypise TRUE nebo FALSE */
PROC main()
DEF stav
stav:= devexists('Ram Disk:') /* funkce vrati odpoved */
WriteF('stav: \d\n',stav) /* -1 TRUE 0 FALSE */
ENDPROC
PROC devexists(mdev) /* mdev string s nazvem zarizeni */
DEF fh,p
DEF buf[64]:STRING /* tady bude odpoved prikazu assign */
IF (fh:=Open('t:output',NEWFILE)) <>0 /* otevre novy soubor pripraveny pro zapis */
Execute(StringF(String(64),'assign EXISTS \q\s\q',mdev),0,fh) /* provest AmigaDOS prikaz */
/* vystup z prikazu se ulozi do souboru */
Close(fh) /* zavrit - skoncit se souborem */
ENDIF
IF fh:= Open('t:output',OLDFILE) /* otevre soubor */
Read(fh,buf,64) /* nacte obsah souboru do bufferu */
Close(fh) /* zavrit - skoncit se souborem */
DeleteFile('t:output') /* smazat docasny soubor */
ENDIF
IF (p:=InStr(buf,'Invalid',0) <>-1) /* pokud je v odpovedi slovo Invalid */
RETURN FALSE /* zarizeni neexistuje */
ELSEIF p:=InStr(buf,'not assigned',0) <>-1 /* pokud jsou v odpovedi slova not assigned */
RETURN FALSE /* zarizeni neexistuje */
ELSE
RETURN TRUE /* zarizeni existuje */
ENDIF
ENDPROC FALSE
|