Archív Inet.sk Pôvodný autor: Peter Hrdlica
19. 10. 2006 o 00:00 8183x

Programujeme vo Visual Basicu V.

Ako už z názvu vyplýva, jedná sa o cyklus, ktorému je vopred určené koľko krát sa má zopakovať, čiže koľko krát sa majú vykonať príkazy ktoré cyklus obsahuje. Ukážme si teda použitie tohto cyklu hneď na nejakom jednoduchom príklade.
Programujeme vo Visual Basicu V.
Vytvoríme si malú aplikáciu, ktorá napíše písmeno „A“ toľko krát, koľko jej určíme a za každé písmeno dá medzeru. Vytvorme si teda na formulár jeden prvok TextBox, alebo ScrollBar, pomocou ktorého budeme zadávať počet písmen, ktoré chceme napísať, jeden prvok Label a tlačidlo, ktorým proces spustíme. Príslušný handler tlačidla bude vyzerať asi takto:

Private Sub Command1_Click()
For i = 1 To Text1.Text
Label1.Caption = Label1.Caption & "A "
Next i
End Sub

Rozbor: i je premenná typu Integer, ktorú sme si zadeklarovali v sekcii General. Prvý

riadok handleru sa dá preložiť takto: „Pre všetky i od 1 do x“, pričom x reprezentuje vložené číslo v prvku TextBox. Label1.Caption = Label1.Caption & "A " je príkaz, ktorý sa má vykonať pre každé i, čiže v našom prípade 15-krát. Takýchto príkazov tu môže byť ľubovoľný počet. Ešte je potrebné si všimnúť, že za písmenom A je medzera, aby bolo jednoduchšie písmená spočítať. A posledný príkaz Next i zabezpečuje prechod na ďalšiu hodnotu premennej i.



Program vypíše písmeno „A“ daný počet krát.


Ovládací prvok – ListBox



ListBox (angl. „zoznamové pole“) sa používa na vytváranie zoznamov ako už vyplýva z jeho názvu. Vytvorme teda na formulár prvok ListBox. Po vytvorení sa v prvku objaví iba položka „List“ rovnako ako pri TextBoxe či prvku Label. Ostatné prvky / iné prvky do zoznamu možno zadať dvomi spôsobmi a jedným z nich je položka List v panely vlastností. Položku otvorte pomocou rozbaľovacieho tlačidla napravo od nej a môže začať pridávať položky. Ak po pridaní prvej položky stlačíte Enter, tak si VB bude myslieť, že zoznam je hotový a úpravu zoznamu uzavrie. Ak chcete, prejsť na ďalšiu položku zoznamu, stlačte Ctrl+Enter. Zaujímavou vlastnosťou prvku ListBox je Sorted(angl. usporiadané). Ak ju nastavíte na True, tak po spustení programu sa všetky prvky zoznamu automaticky usporiadajú podľa abecedy.

Teraz sa naučíme pridávať položky do zoznamu za behu aplikácie. Ukážeme si to hneď na konkrétnom príklade. Do udalosti Form_Load() napíšeme handler:

List1.AddItem "Angličtina"
List1.AddItem "Nemčina"
List1.AddItem "Slovenčina"

Pre každú položku zoznamu je treba napísať handler. Ak by teda mal zoznam obsahovať 100 položiek, bolo by nutné príkaz List1.AddItem (add angl. pridať, item angl. položka) napísať 100 krát.



Prvok ListBox po pridaní položiek do zoznamu.

Prvky zo zoznamu sa samozrejme dajú aj vymazať. Pre názornú ukážku vymazávania prvkov zoznamu si najprv vytvorme zoznam, ktorý naplníme nasledovne pomocou cyklu For:

Private Sub Form_Load()
For i = 1 To 20
List1.AddItem i
Next i
End Sub

Prvky možno vymazať príkazom List1.RemoveItem index(remove angl. odobrať), kde index je číselné vyjadrenie pozície prvku. Prvý prvok zoznamu má index 0, čiže ak chceme vymazať prvý prvok zoznamu musíme napísať príkaz List1.RemoveItem 0. Ak chceme nasledovne vymazať ďalší prvok zoznamu, v našom prípade číslo 2, bolo by nesprávne písať List1.RemoveItem 1, pretože po vymazaní čísla 1 sa prvým prvkom zoznamu automaticky stane číslo 2 a teda zároveň nadobudne jeho index hodnotu 0. Po dvojnásobnom použití príkazu List1.RemoveItem 0 by teda bolo prvým prvkom zoznamu číslo 3. Na vymazanie celého zoznamu má VB osobitný príkaz a to List1.Clear (clear angl. vyčistiť). Tento príkaz nájde svoje využitie hlavne pri väčšom množstve prvkov.

List1.ListCount (count angl. počet) je ďalšou vlastnosťou prvku ListBox . Vo vlastnosti ListCount je zaznamenaný počet položiek zoznamu. Príkaz Label1.Caption = List1.ListCount, by v našom prípade po spustení programu vypísal číslo 20. Ak je potrebné vymazať posledný prvok zoznamu, dá sa k tomu použiť príkaz ListCount. Zrejme Vám napadlo napísať príkaz asi takto List1.RemoveItem List1.ListCount, avšak je tu chyba, ktorá by pri použití daného príkazu viedla k zrúteniu aplikácie. Už pred chvíľou sme spomínali, že prvý prvok zoznamu má hodnotu indexu 0 a z toho vyplýva, že teda posledný prvok bude mať index o 1 menší ako je maximálny počet prvkov. V našom prípade teda má číslo 20 index 19. Preto príkaz na vymazanie posledného prvku zoznamu vyzerá takto List1.RemoveItem List1.ListCount – 1.

Vytvorte si teraz na formulár dva prvky ListBox a ukážeme si ako preniesť prvok jedného zoznamu do zoznamu druhého. Prvý ListBox môžete naplniť pomocou cyklu For rovnakým spôsob ako sme si ukazovali pred chvíľou. Druhý ListBox ponecháme prázdny. Udalosť Click prvého zoznamu bude vyzerať nasledovne:

Private Sub List1_Click()
List2.AddItem List1.Text
End Sub

Príkaz List2.AddItem List1.Text možno vysloviť asi takto: „Do zoznamu číslo 2 pridaj prvok s textom rovnakým, na aký bolo kliknuté v zozname číslo 1.“



Vkladanie položiek zoznamu jedného do zoznamu druhého.


Ovládací prvok – ComboBox

Ovládací prvok ComboBox je veľmi podobný prvku ListBox a zároveň msa do neho dá písať ako do prvku TextBox. Je to teda akýsi hybrid týchto dvoch prvkov. Takisto sa jedná o zoznam, no tento krát je to rozbaľovací zoznam. Prvá položka ComboBoxu nie je prvou položkou zoznamu (index = 0), ale udáva ju vlastnosť Text rovnako ako pri TextBoxe. ComboBox je využitý napr. pri výbere písma v programe Microsoft Word.



Na ukážku práce s ComboBoxom upravíme predchádzajúci príklad. Nakreslite si teda na formulár dva prvky ListBox a medzi ne jeden ComboBox. Prvý ListBox môžeme opäť naplniť pomocou cyklu For. Handler toho ListBoxu má za úlohu preniesť prvok zoznamu do zoznamu prvku ComboBox. Handler je opäť veľmi jednoduchý, ale pre kontrolu Vášho zápisu ho uvediem:

Private Sub List1_Click()
Combo1.AddItem List1.Text
End Sub

Handler pre ComboBox vyzerá úplne podobne a verím, že pozorný čitateľ ho už napísať zvládne preto ho nebudem uvádzať. Avšak implicitná udalosť pre prvok ComboBox je Change, preto je ju treba zmeniť na Click, inak by sa do prvku ListBox zapisoval text prvku ComboBox a nie položka zoznamu, na ktorú ste klikli.

Pre druhý ListBox samozrejme nie je potrebné písať žiadny handler.



Táto malá aplikácia je dôkazom podobnosti prvkov ListBox a ComboBox.


Cyklus riadený podmienkou – While ... Wend

Už sme sa naučili používať podmienený príkaz If a cyklus s daným počtom opakovaní. Teraz sa naučíme pracovať s cyklom, ktorý sa bude riadiť istou podmienkou podobne ako príkaz If, čiže ak bude podmienka platiť 10-krát, tak sa vykoná 10-krát a ak bude platiť 1000-krát tak sa vykoná 1000-krát

Zápis cyklu vyzerá takto:

While podmienka
Príkazy, ktoré sa majú vykonať ak podmienka platí
Wend

Najjednoduchšie ako si vysvetliť cyklus je ukázať si ho na príklade. Najlepším príkladom, na ktorom si môžeme jednoducho a rýchlo vysvetliť fungovanie cyklu je zisťovanie či je dané číslo prvočíslo. Prvočíslo je také číslo, ktoré má len dva delitele a to seba samé a 1-ku.

Na formulár nakreslite jedno tlačidlo, jeden popis a jedno textové pole. Do textového poľa zadáme zisťované číslo, po kliknutí na tlačidlo prebehne handler, ktorý zistí či to číslo prvočíslo je, alebo nie a nakoniec sa vypíše do popisku.

Handler pre tlačidlo bude vyzerať nasledovne:

Private Sub Command1_Click()
cislo = Val(Text1.Text)
delitel = 2
While cislo Mod delitel <> 0
delitel = delitel + 1
Wend
If delitel = cislo Then
Label1.Caption = "Zvolené číslo je prvočíslo"
Else
Label1.Caption = "Zvolené číslo nie je prvočíslo."
End If
End Sub

Rozbor: Načítame si číslo z textového poľa a zadefinujeme si deliteľ na 2, pretože číslo 2 je najmenšie prvočíslo (program nie je zabezpečený proti vloženiu 0,1 alebo písmena, to si ukážeme až niekedy nabudúce). Mod = zvyšok po delení. Čiže ak sa na prvý pokus nebude rovnať zvyšok číslu 0, tzn. že číslo má ešte nejakého deliteľa. Podmienený príkaz už len vypíše na obrazovku výsledok skúmania. Ak chcete, aby Vám program vypísal akého deliteľa našiel, stačí za druhé priraďovanie textu popisu dopísať napr. príkaz ... & “Našiel sa deliteľ “ & delitel ...


Úlohy
  1. Upravte program na zisťovanie prvočísel tak, aby sa výsledok zisťovania vypísal do modálneho okna

  2. Napíšte program, ktorý do zoznamu vypíše pomocou cyklu For 20 riadkov po sebe nasledujúcich čísel (cyklus som v tomto článku už uviedol) a upravte ho tak aby následne ďalší cyklus s daným počtom opakovaní vymazal všetky párne čísla.

Novinky a inšpirácie

Z nášho blogu

Prečítajte si novinky, inšpirácie a dôležité informácie zo sveta webhostingu a technológií.

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami Oznamy
21. 10. 2026

Bezpečnostné aktualizácie PHP: Chráňte svoj web pred hrozbami

Vývojársky tím PHP vydal dôležité bezpečnostné záplaty pre všetky oficiálne podporované verzie PHP 8. Na našich serveroch sme nezaváhali ...

Čítať viac
Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás? Oznamy
01. 10. 2026

Gmail končí s funkciou „Odoslať ako“ pre cudzie e-mailové adresy. Čo to znamená pre vás?

Google oznámil, že v januári 2027 zruší v Gmaile funkciu „Odoslať ako“ (Send as) pre e-mailové adresy od iných poskytovateľov. Ak ste si ...

Čítať viac
Večerná „prestávka“ pre server VIP033 Oznamy
25. 09. 2026

Večerná „prestávka“ pre server VIP033

Neustále pracujeme na tom, aby vaše weby bežali hladko, rýchlo a bezpečne. Technológie idú míľovými krokmi vpred a my v Inet.sk s nimi dr...

Čítať viac
Novinky na Inet.sk (09 / 2026) Novinky
09. 09. 2026

Novinky na Inet.sk (09 / 2026)

Posledné mesiace sme v Inet.sk nevenovali len stabilite serverov, ale najmä počúvaniu vašich reálnych skúseností z každodennej praxe. Výs...

Čítať viac

Podpora klientom

Máte ďalšie otázky?

Nezúfajte, pripravili sme pre Vás jednoduché odpovede na najdôležitejšie otázky, ktoré od našich klientov dostávame.

Zistiť viac

Naše výhody

Prečo si nás vybrať?

Našim klientom ponúkame až 30-dňovú záruku vrátenia peňazí.

Sme skutočný slovenský webhosting

Slovenská
firma

Nepatríme pod žiadnu nadnárodnú spoločnosť, sme malá rodinná firma.

Na nás sa môžete kedykoľvek spoľahnúť

Dlhoročné
skúsenosti

Na slovenskom trhu pôsobíme už viac ako 20 rokov, sme overená značka.

Naši prví zákazníci sú stále s nami

Spokojní
zákazníci

Naši zákazníci sú ako naša rodina, preto nám verí už viac ako 1250 klientov.

Maximálna bezpečnosť

Maximálna
bezpečnosť

Chránime Vás pred útokmi i SPAMom. U nás sú Vaše dáta v bezpečí.

Prozákaznícka podpora

Ochotná
podpora

Zakladáme si na individuálnom prístupe, preto Vám vždy radi pomôžeme.

Kvalita a dobrá cena

Férová
cena

Cena pri obnove je rovnaká ako pri objednávke. Nezdražujeme po prvom roku a bez skrytých poplatkov.

U nás sa Vám nič nestratí

Pravidelné
zálohovanie

Vaše dáta zálohujeme každý deň, dostupné sú aj zálohy z pred niekoľkých mesiacov.

Svižný Admin Panel nájdete len u nás

Prehľadný
Admin Panel

Máme rýchly a prehľadný Admin Panel, ktorý zvládne používať naozaj každý.

Správa používateľov

Správa
používateľov

Spravujte svoje projekty bez akýchkoľvek obáv s kolegami alebo externými partnermi.

Máme zľavy pre verných klientov

Vernostné
zľavy

Verní klienti u nás automaticky získavajú 15 % zľavu na každú ďalšiu objednávku.

My Vás nebudeme obmedzovať

Bez
obmedzení

Neobmedzujeme počet databáz, e-mailov, ftp a ani prenos dát.

Hosting pre WordPress

WordPress
na 1 klik

Nainštalujte si obľúbené redakčné systémy rýchlo a jednoducho.

Referencie

Spokojní zákazníci

Pozrite sa, čo o nás povedali naši klienti. Neváhajte a pridajte sa k nám ešte dnes.

Auto 100
Bystricoviny
eCall Slovakia
Filip Jančík
Frost
Merkury Broker
Mi:Su Design
Mesto Nitra
Pro Clienta
Schneider Lekáreň
Vego Marketing
Mesto Zlaté Moravce

Všetky ceny sú uvádzané bez DPH
© 2006 - 2026, Inet.sk, s. r. o., Všetky práva vyhradené

Na našej stránke používame "cookies". Vďaka nim sledujeme návštevnosť, prispôsobujeme reklamu a používateľské nastavenia, čo zlepšuje Váš zážitok z našej stránky. Súhlasíte s ich spracovaním?
Vlastné nastavenia cookies