3. diel - Premenné a matematické operácie v Batch
Z minulého tutoriálu vieme okrem zmeny farbičiek vypisovať text. No áno, ale to nám skoro k ničomu nie je. Čo by to bolo za program, ak by stále len niečo vykladal? V tomto tutoriálu sa naučíme vytvárať premenné.
Premenné
Poďme sa zhodnúť na tom, čo je to premenná (programátori mi teraz iste odpustí zbytočné vysvetľovanie). Určite poznáte z matematiky premennou (napr. X), do ktorej sme si mohli uložiť nejakú hodnotu, najčastejšie číslo. Premenná je v informatike úplne to isté - je to miesto v pamäti počítača, kam si môžeme uložiť nejaké dáta (meno používateľa, aktuálny čas alebo polomer kruhu na výpočet jeho obsahu). Toto miesto má podľa typu premennej tiež vyhradenú určitú veľkosť, ktorú premenná nesmie presiahnuť.
Premenná má vždy nejaký dátový typ, môže to byť číslo, znak, text a podobne, záleží na tom, na čo ju chceme používať. Väčšinou musíme pred prácou s premennou túto premennú najskôr tzv. Deklarovať, či povedať jazyku ako sa bude volať. Jazyk ju v pamäti založia a až potom s ňou môžeme pracovať.
Program Vyhlasujúca premennú
Založte si nový program, ktorý sa bude volať vypis.bat. Vložíme do neho základnú štruktúru a titulok nastavíme na "Vypis premennej".
@echo off title Vypis promenne pause
Kód budeme teraz písať do medzery medzi title a pause. Premennú môžeme vytvoriť pomocou príkazu set. Pridajme nasledujúci kód.
set web=ITnetwork.cz set autor=193
Dobrá, premennú by sme mali vytvorenú. Ak program spustíme, na prvý pohľad sa nič nebude diať. Chcelo by to niečo, kde premennú vypíšeme. Premennú možno vypísať pomocou, nám už známeho, príkazu echo - len pred a za názov premennej pridáme znak percenta. Pod riadok s nastavením premennej vložte tento riadok.
echo Zdroj informaci %web%, autor clanku %web%/portfolio/%autor%
Ak teraz program spustíte, vypíše nám odkaz na web Itnetwork a odkaz na moje portfólio.
Ale pre užívateľov to stále nie je nič zaujímavé, stále vidí iba výstup. Poďme si vytvoriť nový program, ktorý bude spracovávať vstup od užívateľa.
Program Papagáj
Napíšeme program papagáj, ktorý bude dvakrát opakovať to, čo používateľ napísal. Založte si súbor s názvom papousek.bat a vložte do neho základnú štruktúru. Načítať vstup od užívateľa môžeme pomocou opäť pomocou príkazu set. Tentokrát k nemu ale pridáme prepínač / p. Za znamienko rovnosti môžeme vložiť nejaký text, ktorý sa zobrazí pri vstupe. Nie je to ale povinné.
Najprv sa užívateľovi, ako každý slušný papagáj, predstavíme a potom požiadame, aby niečo napísal.
echo Ahoj, jsem virtualni papousek Lora, rad opakuji! set /p opakuj=Napis mi neco: echo.
Dobrá, teraz máme v premennej načítanú hodnotu od užívateľa. Keďže vytvárame program, ktorý má opakovať, musíme tiež napísať nejaký výstup.
echo %opakuj%, %opakuj%!
Na koniec ešte vložíme príkaz pause so skrytým textom, aby si užívateľ mohol prezrieť výstup. Program uložíme a spustíme.
Program Zdvojnásobovač
Vytvoríme program, ktorý si od užívateľa vytiahne číslo a vypíše mu jeho dvojnásobok. Počítanie v Batch prebieha opäť pomocou príkazu set, ale tentoraz s prepínačom / A. Založíme si nový súbor, ktorý pomenujeme dvojnasobek.bat a vložíme do neho základnú štruktúru. Potom si načítame číslo do premennej% cislo% a v premennej% vysledok% ho zdvojnásobíme. Nakoniec užívateľovi vypíšeme výsledok.
set /p cislo=Zadej cislo: set /a vysledek=%cislo%*2 echo Dvojnasobek je %vysledek%
Program si uložte a skúste ho spustiť. Program je tiež "blbuvzdorný". Skúste si do vstupu napísať nejaké slovo alebo písmeno - program vypíše nulu .
Jednoduchá kalkulačka
Takže počítať už vieme. Čo keby sme si vytvorili jednoduchú kalkulačku v Batch? Bude naozaj veľmi jednoduchá. Na vstupe dostaneme dve čísla, program potom vypíše výsledky ich súčtu, rozdielu, súčinu a podielu. Založte si nový súbor s názvom kalkulacka.bat, do ktorého vložíte základnú štruktúru.
Najprv užívateľovi predstavíme aplikáciu, potom si vyžiadame obe čísla.
echo Vitej v kalkulacce. Kdyz mi zadas 2 cisla, spocitam ti spoustu věci! set /p prvni=Zadej prvni cislo: set /p druhe=Zadej druhe cislo: echo. echo Dekuji za zadani cisel. :-)
Ďalej si vytvoríme premenné, do ktorých budeme ukladať výsledky jednotlivých operácií.
set /a soucet=%prvni%+%druhe% set /a rozdil=%prvni%-%druhe% set /a soucin=%prvni%*%druhe% set /a podil =%prvni%/%druhe%
Výborne, teraz máme výsledky operácií uložené v premenných. Nesmieme zabudnúť na tú najdôležitejšiu vec - vypísať je užívateľovi.
echo. echo %prvni%+%druhe% je %soucet% echo %prvni%-%druhe% je %rozdil% echo %prvni%*%druhe% je %soucin% echo %prvni%/%druhe% je %podil%
Systémové premenné
Systém nám už pripravil nejaké premenné. Väčšinou obsahujú informácie o počítači, systéme a aktuálnym užívateľmi. Ich zoznam môžeme nájsť, keď do príkazového riadka zadáme príkaz "set". Medzi najzaujímavejšie premenné patrí napríklad:
popis | premenná | Príklad výstupu |
Aktuálny dátum | % Date% | út 17. 02. 2015 |
Aktuálny čas | % Time% | 14: 28: 12,53 |
Užívateľské meno aktuálneho používateľa | % Username% | daniel |
Meno počítača | % Computername% | MujPc |
Náhodné číslo od 0 do 32 767 | % Random% | 7030 |
zložka Windows | % Windir% | C: \ WINDOWS |
zložka užívateľa | % Userprofile% | C: \ Users \ Daniel |
AppData | % Appdata% | C: \ Users \ Daniel \ AppData \ Roaming |
program Files | % Programfiles% | C: \ Program Files |
domovský oddiel | % Homedrive% | C: |
architektúra procesora | % Processor_architecture% | AMD64 |
V nasledujúcom cvičení, Riešené úlohy k 3. lekcii Batch, si precvičíme nadobudnuté skúsenosti z predchádzajúcich lekcií.
Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 424x (999 B)
Aplikácia je vrátane zdrojových kódov v jazyku Batch