arexxtlacitka.png (1250 bytes) Arexx RxMUI Docs Examples Back to Ghh home page
/* Arexx; desetkrat vypsat */

do i = 1 to 10    /* proved smycku "i" od 1 do 10 */
    say "pokus"   /* vypis slovo "pokus" desetkrat */
end               /* az skonci smycka "i" tak konec */
/* Arexx; desetkrat vypsat a pripojit cislo */

do i = 1 to 10    /* proved smycku "i" od 1 do 10 */
    say "pokus" i /* vypis slovo "pokus" a za nim "i" coz je vlastne cislo 1 az 10 */
end               /* az skonci smycka "i" tak konec */
/* Arexx; zeptat se kolikrat smycku provest a pripojit cislo */

say "Napis cislo kolikrat se ma smycka provest:"  /* vypis tento text */
pull kolik           /* precti retezec (to cislo) z konzole a preved na promennou "kolik" */
do i = 1 to kolik    /* proved smycku "i" od 1 do "kolik" */
    say "pokus" i    /* vypis slovo "pokus" a za nim "i" coz je vlastne cislo 1 az 10 */
end                  /* az skonci smycka "i" tak konec */
/* Arexx; zeptat se kolikrat smycku provest a overit jestli je "text" opravdu cislo */

say "Napis cislo kolikrat se ma smycka provest:"  /* vypis tento text */
pull kolik                           /* precti retezec (to cislo) z konzole a preved na promennou "kolik" */
if ~datatype(kolik,'W') then do      /* funkce datatype() prezkouma jestli je "kolik" cele (Whole) cislo */
    say "To neni cele cislo"         /* kdyz neni (znak "~" NOT) vysledek funkce 1 tak vypis text */
    exit                             /* vyskocit z programu */
end                                  /* konec */
do i = 1 to kolik                    /* proved smycku "i" od 1 do "kolik" */
    say "pokus" i                    /* vypis slovo "pokus" a za nim "i" coz je vlastne cislo 1 az 10 */
end                                  /* az skonci smycka "i" tak konec */
/* Arexx; pripojit k nazvu ctyrmistne cislo */

kolik = 120               /* kolikrat se ma smycka provest */
do i = 1 to kolik         /* proved smycku "i" od 1 do "kolik" */
    num = right(i,4,'0')  /* pred aktualni cislici prida nuly, tak aby bylo cislo ctyrmistne */
    say "soubor."num      /* vypis slovo "soubor." a finalni cislo */
end                       /* konec */
/* Arexx; pripojit k nazvu ctyrmistne cislo a ulozit jako text */

kolik = 32                                /* kolikrat se ma smycka provest */
call open('mujfajl','ram:seznam.txt','W') /* funkce open() otevre-vytvori soubor se jmenem "mujfajl" */
                                          /* v ram:seznam.txt a bude do nej zapisovat (Write) */
do i = 1 to kolik                         /* proved smycku "i" od 1 do "kolik" */
    num = right(i,4,'0')                  /* pred cislice prida nuly, tak aby bylo cislo ctyrmistne */
    call writeln('mujfajl','soubor.'num)  /* vypis text jako jeden radek + enter na dalsi radek */
end                                       /* konec */
call close('mujfajl')                     /* zavri soubor "mujfajl" */
/* Arexx; spustit AmigaDos prikaz */

address command 'sys:utilities/multiview ram:obrazek.iff'
/* Arexx; spustit AmigaDos prikaz s promennou */

pic = "ram:obrazek.iff"                           /* promenna "pic" ted reprezentuje cestu k obrazku */
address command 'sys:utilities/multiview 'pic''   /* proved prikaz multiview s parametrem-promennou "pic" */
/* Arexx; zjistit pocet souboru v adresari */

address command 'c:requestfile >t:adre drawersonly Title="Vyber adresar"' /* AmigaDos prikaz, vystup bude v txt souboru t:adre */
call open('adresar','t:adre','R')      /* otevre soubor t:adre a bude z nej cist (Read) */
cesta = readln('adresar')              /* precte jeden radek, ten bude v promenne "cesta" (k adresari ktery chces zkoumat) */
call close('adresar')                  /* zavre soubor adresar */
address command 'c:list >t:fdir 'cesta' quick nohead ' /* AmigaDos prikaz, vylistuje "cesta" a vystup bude v txt souboru t:fdir */
pocet = 0                              /* pocet (souboru) na zacatku */
call open('vystup','t:fdir','R')       /* otevre soubor t:fdir a bude z nej cist (Read) */
do while ~eof('vystup')                /* delej dokud nedosahnes konce souboru (eof - end of file) */
    call readln('vystup')              /* cti jeden radek + enter */
    pocet = pocet + 1                  /* po kazdem precteni radku pripocti 1 */
end                                    /* konec */
call close('vystup')                   /* zavre soubor vystup */
say "Pocet souboru v adresari:" pocet -1  /* vypise text s poctem souboru (-1 je kvuli enteru co dela funkce readln) */
/* Arexx; otevre adresar */

/* Usage: open Ram Disk: or open "Ram Disk:" or open dh1:hry/Galaga */
parse arg path '"'ces'"' /* odstrani z argumentu (napr "Ram Disk:") path uvozovky a prevede ho na promennou ces */
if ces = "" then do      /* jestlize je promenna ces prazdna (argument path neobsahuje uvozovky nebo neobsahuje nic) tak */
    if path = "" then do /* jestlize je argument path prazdny tak */
        say "Usage: open Ram Disk: or open ""Ram Disk:"" or open dh1:hry/Galaga"  /* vypise napovedu */
        exit             /* konec programu */
    end                  /* konec if */
    else                 /* jinak (argument path neni prazdny) */
        ces = path       /* promenna ces bude puvodni argument path (bez uvozovek) */
end                      /* konec if */

if ~exists(ces) then do  /* jestlize promenna ces (cesta k adresari) neexistuje tak */
    say "Device or directory" ces "not exists."  /* vypise chybu */
    exit                 /* konec programu */
end                      /* konec if */
address 'WORKBENCH'      /* volani Arexx adresy-portu Workbenche */
'WINDOW "'ces'" OPEN'    /* Arexx prikazy pro port Workbenche - okno -> promenna ces -> otevrit */
ghh don'tpanic