Module Véletlenszám_rutinok 'Véletlenszám tól, ig Function Véletlen(ByVal tól As Integer, ByVal ig As Integer) As Integer Dim vo As Random = New Random() Véletlen = vo.Next(tól, ig + 1) End Function #Region "Véletlen szám generálás" 'Egész véletlenszám adott határokon belül Function Véletlen(ByVal tól, ByVal ig) As Integer 'Egész véletlen számot generál "tól" és "ig" számok között. Véletlen = CInt(Int((ig - tól + 1) * Rnd()) + tól) End Function 'Véletlenszám inicializálás Sub VéletlenIni() 'Mielőtt indítjuk a véletlenszám generátort, inicializálni kell, nehogy mindig ugyanazt a sorozatot adja. Randomize() End Sub #End Region #Region "Véletlen név generálás" Function VéletlenNév_Teszt() As String 'Teszteli a véletlen név generátort Dim VezetéknévTömb() As String = {"Kovács", "Szabó", "Fehér", "Kis"} Dim KeresztnévTömb() As String = {"Tamás", "Eszter", "György", "Antónia", "Ferenc", "Barbara"} VéletlenNév_Teszt = VéletlenNév(VezetéknévTömb, KeresztnévTömb) End Function 'Véletlen-név generátor Function VéletlenNév(ByVal VezetéknévTömb, ByVal KeresztnévTömb) As String 'Vezetéknév és Keresztnév tömbök segítségével véletlen nevet generál Dim tól, ig, i As Integer Dim Vezetéknév, Keresztnév As String 'Véletlenszám generátor inicializálás Randomize() 'Vezetéknév generálás tól = LBound(VezetéknévTömb) ig = UBound(VezetéknévTömb) i = Véletlen(tól, ig) Vezetéknév = VezetéknévTömb(i) 'Keresztnév generálás tól = LBound(KeresztnévTömb) ig = UBound(KeresztnévTömb) i = Véletlen(tól, ig) Keresztnév = KeresztnévTömb(i) 'Név generálás VéletlenNév = Vezetéknév & " " & Keresztnév End Function #End Region #Region "Lottószám generálás" 'Lottószámok generátor --- Sub Lottószámok_Teszt() 'Teszteli a lottószám generátort Dim LottószámTömb() As Integer Dim i As Integer 'Véletlenszám generátor inicializálás Randomize() 'Lottószámok húzása LottószámTömb = Lottószámok() 'Lottószámok kiírása Debug.Print("Lottószámok:") For i = LBound(LottószámTömb) To UBound(LottószámTömb) Debug.Print(LottószámTömb(i)) Next End Sub Function Lottószámok() 'Visszaad egy 5 elemű tömböt, amiben a lottószámok vannak Dim Lottószám, i As Integer Dim LottószámokTömb() As Integer '5 lottószám kell For i = 1 To 5 Do 'Generálunk egyet Lottószám = Véletlen(1, 99) If MégNemVolt(LottószámokTömb, Lottószám) Then 'Ha még nem volt, akkor betesszük a tömbbe ReDim Preserve LottószámokTömb(i - 1) LottószámokTömb(i - 1) = Lottószám Exit Do End If 'Már volt ilyen, tehát generálunk mégegyet Loop Next Lottószámok = LottószámokTömb End Function Function MégNemVolt(ByVal LottószámokTömb, ByVal Lottószám) As Boolean 'Megvizsgálja, hogy a LOttószámokTömb tartalmazza-e a Lottószámot. 'Vissza: True, ha nincs benne, vagy üres a tömb, egyébként False Dim i As Integer 'Első húzás vizsgálat: A LottószámokTömb még nem létezik (dinamikus töbm!!!) If Not IsArray(LottószámokTömb) Then MégNemVolt = True Exit Function End If 'Keressük, hogy volt-e MégNemVolt = True For i = LBound(LottószámokTömb) To UBound(LottószámokTömb) If Lottószám = LottószámokTömb(i) Then MégNemVolt = False Exit For End If Next End Function #End Region End Module