Ukázka: PROGRAM
Vzhled aplikace – jeho vytvoření, úprava formuláře
Tento příklad jsem si téměř beze změny půjčil z poblikace VB Krok za krokem (viz. Použitá literatura). Ponechal jsem i pojmenování objektů tak, jak je nabízí prostředí Visual Basicu.
Labely 1-3 (TextAlign: MiddleCenter, BorderStyle: FixedSingle, Font: nastavíme vhodnou velikost, např. 24)),Label4 (text: Šťastné sedmičky)
Button1 (Text: START, Name: cmdStart), Button2 (Text: STOP, Name: cmdStop)
PictureBox: obrázek se objeví jen v případě výhry, tj. když aspoň jedno z čísel bude sedmička – nastavíme jeho velikost – SizeMode a nastavením vlastnosti Image nastavíme název souboru s obrázkem, který hodláme načíst. Vlastnost Visible určuje, má-li být viditelný při spuštění obrázku.
SizeMode: StretchImage – obrázek se přizpůsobí zadaným rozměrů – musíme zadat před otevřením grafiky
Image: - v dialogovém okně najdeme obrázek
Visible: false
(Se vzhledem formuláře si samozřejmě můžete pohrát víc, než jsem to udělal já)
Zdrojový kód aplikace
Program se ovládá tlačítky START a STOP – těmto tlačítkům přiřadíme zdrojový kód.
Program bude spuštěn po stisknutí tlačítka START – musíme tedy naprogramovat událost Click.
PictureBox1.Visible = False
Label1.Text = CStr(Int(Rnd() * 10))
Label2.Text = CStr(Int(Rnd() * 10))
Label3.Text = CStr(Int(Rnd() * 10))
'je-li aspon jedne z cislic 7, zobrazi se obrazek a pipne
If (Label1.Text = "7") Or (Label2.Text = "7") Or (Label3.Text = "7") Then
PictureBox1.Visible = True
Beep()
End If
POZNÁMKA:
Všimněte si textu:
'je-li aspon jedne z cislic 7, zobrazi se obrazek a pipne
Je to komentář. Je vhodné a obvyklé do kódu zapisovat vysvětlující poznámky. Tyto poznámky jsou uvedené znakem ' (apostrof). Tyto poznámky se nám vyplatí zvláště tehdy, když budeme chtít později upravovat nějaký složitější program a bez nich bychom velmi obtížně vzpomínali, jak jsme to tehdy vlastně mysleli a co jsme chtěli tímto kódem vlastně dokázat.
Ve druhém kroku generujeme náhodná čísla. K tomu slouží funkce Rnd. Tato funkce vytvoří v každém řádku náhodné číslo z intervalu 0 a 1 (s desetinnou čárkou a několika desetinnými místy). To vynásobíme deseti a pomocí funkce Int se ze součinu odříznou desetinná místa.
Dále potřebujeme tato čísla zkopírovat do tří popisků na formuláři. Musíme tato čísle převést na text – funkce Cstr (Covert to String, převést na řetězec).
POZNÁMKA:
Takto postupuje program ve vyhodnocení algoritmu (příklad):
Label1.Text = CStr(Int(Rnd() * 10))
Kód / Výsledek
Rnd() / 0,7055475
(Rnd() * 10) / 7,055475
Int(Rnd() * 10) / 7
CStr(Int(Rnd() * 10)) / „7“
Label1.Text = CStr(Int(Rnd() * 10))
Program také musíme nějak ukončit. Můžeme to provést napríklad touto procedurou přiřazenou ke tlačítku KONEC
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Někdy se můžeme setkat místo příkazu Me.Close() s příkazem End nebo Application.Exit() v případě komplikovanějších projektů složených z několika formulářů.
Úprava programu
Při spuštění programu zjistíte, že se pokaždé zobrazuje přesně stejná posloupnost náhodných čísel. Funkce Rnd Visual Basicu byla navržena tak, aby zobrazovala opakující se sekvenci čísel – tak, aby byla umožněno otestování běhu programů pomocí čísel, které lze opakovat znovu a znovu. „Opravdová“ náhodná čísla získáme pomocí příkazu Randomize.
Uděláme to tak, že poklepeme na formuláři (na na jeho objektech) a zobrazíme proceduru Form_Load. Napíšeme Randomize a stiskneme klávesu Šipka dolů (viz obr.)
Příkaz Randomize se přidá do programu a vykoná se pokaždé, když se program spustí. Na základě systémových hodin vytváří náhodný startovací bod pro generování náhodných čísel funkci Rnd a generovaná čísla budou opravdu náhodná, nebudou mít žádnou zákonitost.
Rozhraní programu můžeme upravit i jinak. Při běhu programu lze měnit vlastnosti formuláře. Například můžeme zakázat možnost změny rozměrů okna programu a minimalizace za běhu, můžeme uživatele donutit zavírat program naším tlačítkem a ne X (prostě X z titulkového pruhu odstraníme)
Kód vypadá takto:
Okno programu vypadá pak takto:
1.Změňte program tak, aby výhra byla v případě, že jsou vždy dvě (nebo tři) vylosována stejná čísla.
2.Upravte výhru – například různá hodnota pro různé hodnoty stejných číslic