Alternativní způsob losování čísel
Jako téměř všechny úlohy, i losování můžete řešit mnoha způsoby. Například, místo losování jednotlivých
číslic můžete rovnou vylosovat jediné číslo od 0 do 999, a pak ho rozdělit na jednotlivé číslice. Můžete
k tomu využít vestavěnou funkci Format, která umožňuje převést pomocí bohaté palety masek hodnotu uvedenou
jako první parametr na řetězec pomocí formátovacího řetězce uvedeného jako druhý parametr:
Dim Trojice As String
Trojice = Format(VygenerovatPrirozeneCislo(0, 999), "000")
Poznámka. Pro účely formátování se ve Visual Basic.NET připravují speciální ovládací prvky jako jsou
FormatNumber či FormatDateTime, jejichž popis jsem při psaní brožury neměl k dispozici, takže je v aplikaci
nepoužívám a držím se klasického způsobu formátování.
Chcete-li mít jednotlivé číslice (znaky jako prvky pole), dá se to udělat také najednou, součinností funkcí
Format a Split:
Dim Trojice() As String
Trojice = Split(Format(VygenerovatPrirozeneCislo(0, 999), "0 0 0"))
Nabízí se samozřejmě další varianta, uložit vygenerované číslice do celočíselného pole. Tuto variantu
uvádím především proto, abych upozornil na rozdíly, které čekají uživatele předchozích verzí Basicu při práci
s poli a dále proto, že si na různém způsobu uložení generovaných výherních čísel (řetězec a celočíselné pole)
ukážeme tvorbu přetížené procedury Vyhral. Trojici číslic lze vygenerovat a uložit samozřejmě také takto:
Dim i, Trojice(3) As Integer
For i = 0 To 2
Trojice(i) = CInt(VygenerovatPrirozeneCislo())
Next
číslic můžete rovnou vylosovat jediné číslo od 0 do 999, a pak ho rozdělit na jednotlivé číslice. Můžete
k tomu využít vestavěnou funkci Format, která umožňuje převést pomocí bohaté palety masek hodnotu uvedenou
jako první parametr na řetězec pomocí formátovacího řetězce uvedeného jako druhý parametr:
Dim Trojice As String
Trojice = Format(VygenerovatPrirozeneCislo(0, 999), "000")
Poznámka. Pro účely formátování se ve Visual Basic.NET připravují speciální ovládací prvky jako jsou
FormatNumber či FormatDateTime, jejichž popis jsem při psaní brožury neměl k dispozici, takže je v aplikaci
nepoužívám a držím se klasického způsobu formátování.
Chcete-li mít jednotlivé číslice (znaky jako prvky pole), dá se to udělat také najednou, součinností funkcí
Format a Split:
Dim Trojice() As String
Trojice = Split(Format(VygenerovatPrirozeneCislo(0, 999), "0 0 0"))
Nabízí se samozřejmě další varianta, uložit vygenerované číslice do celočíselného pole. Tuto variantu
uvádím především proto, abych upozornil na rozdíly, které čekají uživatele předchozích verzí Basicu při práci
s poli a dále proto, že si na různém způsobu uložení generovaných výherních čísel (řetězec a celočíselné pole)
ukážeme tvorbu přetížené procedury Vyhral. Trojici číslic lze vygenerovat a uložit samozřejmě také takto:
Dim i, Trojice(3) As Integer
For i = 0 To 2
Trojice(i) = CInt(VygenerovatPrirozeneCislo())
Next
Labels: visual basic
<< Home