Visual Basic Díl 4. - Práce s Cykly
Zdroj: SOOM.cz [ISSN 1804-7270]
Autor: S0meB0dy
Datum: 20.8.2004
Hodnocení/Hlasovalo: 2/7
Ve čtvrtém díle seriálu si ukážeme jak pracovat s cykly For...Next a Do.
Cyklus For...Next
Cyklus For..Next slouží jako jakási zkratka, např. kód:
For b = 1 To 6
Beep
Next b
Bude překladač vnímat stejně jako
Beep
Beep
Beep
Beep
Beep
Beep
Nyní si ukážeme jednoduchý příklad, kde pomocí funkce Print vypíšeme na formulář čísla od 0 do 30 po pěti.
1.Na formulář umístěte někam doprava komponentu CommandButton(cmdPrint).
2.Poklepejte na ní a piště:
For c = 0 To 30 Step 5
Print c
Next c
3.Program spusťte a po kliknutí na cmdPrint by se na formlulář měla vypsat čísla 0, 5, 10, 15, 20, 25 a 30.
Rozbor kódu
V první řádku jsme určily rozsah čísel (0 To 30) a také po kolika se mají vypisovat (Step 5). Na dalším řádku jsme nechali
čísla vypsat pomocí Print c a nakonec jsme cyklus ukončili
Pozn.:Jistě jste si všimly že c se chová jako proměnná, ona to vlastně proměnná je
:-)
Cyklus Do
Cyklus Do slouží k vytvoření nekonečné smyčky ze které se dá dostat pouze za splnění zadané podmínky. Opět bude nejlepší
když sí vše ukážeme na příkladě. Vytvoříme program který se nás bude stále ptát, co si dáme k pití a vipisovat hodnoty
námi zadané na formulář dokud nenapíšeme Nic
1.Na formlulář umístěte komponentu CommandButton(cmdNapoje)
2.Poklepejte na ni a pište:
Do While Napoje <> "Nic"
Napoje = InputBox("Co si dáte k pití ?")
If Napoje <> "Nic" Then Print Napoje
Loop
3.Spusťte program, klikněte na cmdNapoje a napište třeba Džus a poté Kola, obě tyto hodnoty by se měli vypsat pod sebe
na formulář. Tentokrát napište Nic a InputBox by se již neměl dále zobrazovat.
Rozbor kódu:
V prvním řádku jsme řekli že když se nebude proměnná nápoje rovnat hodnotě "Nic", nespustí se smyčka. Na druhém jsme určily že
proměnnou Napoje zadá uživatel pomocí funkce InputBox a na třetím řádku jsme, již známou strukturou If...Then, určily že pokud
se nebude proměnná nápoje rovnat hodnotě Nic bude se program pořád ptát znova a znova.
Obdobně se dá program zapsat třeba ještě takto, kde jsme nepoužili příkaz While na začátku ale Until na konci:
Do
Napoje = InputBox("Co si dáte k pití")
If Napoje <> "Nic" Then Print Napoje
Loop Until Napoje = "Nic"
Úloha:
Pokuste se vytvořit program, který se bude stále dokola ptát na vstupní údaje a stále vám dávat výsledek nějakého vzorce
dokud mu nenapíšete "To je vše".