ecxtlacitka.png (2658 bytes) Ecx EcxDocs EcxMUI EcxExamples Back to Amiga E home page
/* 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
ghh don'tpanic