Tombola Losbox: Weiter mit Button


Bamboocha_10

Mitglied
Hallo,
also, ich möchte eine Losbox für eine Tombola programmieren. Es sind hier 5 Preise und 10 Lose. Jede Nummer darf nur einmal gezogen werden. Mit Button 1 starte ich das Losen und mit Button 2 soll immer die nächste Nummer erscheinen.

Bisher kann ich auf Button 1 klicken und es erscheint eine Zahl. Klicke ich erneut, kann jedoch die geliche Zahl wieder gezogen werden

Frage 1: Wie schaffe ich es, dass ich Button 2 einbaue, der die Schleife nicht verlässt und sich somit bereits gezogene Zahlen merkt?

Frage 2: Kann ich das Programm als Exe oder ähnliches ablegen, dass es auch auf einem Rechner ohne VB läuft?

Hier der Code:
Code:
Private Sub CommandButton1_Click()

'Array für die gezogenen Lose
'Anzahl = Anzahl der Preise
Dim Preise(5) As Integer

'Sicherstellen, daß bei jedem Start wirklich
'eine neue Zufallszahl generiert wird
Randomize -Timer

'Insgesamt 5 Zufallszahlen ermitteln (denn Anzahl der Preise
Dim Ziehung As Integer
Dim i As Integer
Dim Result As Boolean
Dim Zahl As Integer

Ziehung = 0
While Ziehung < 5
  Ziehung = Ziehung + 1
  Do
    'Zufallszahl 1 bis Anzahl der Lose
    Zahl = Int(10 * Rnd + 1)

    'Prüfen, ob Zufallszahl bereits "gezogen"
    Result = True
    For i = 1 To Ziehung - 1
      If Preise(i) = Zahl Then
        Result = False: Exit For
      End If
    Next i
  Loop Until Result = True

  Preise(Ziehung) = Zahl
  TextBox1.Text = Preise(Ziehung)
  Wend

End Sub

Vielen Dank schon mal
 

Alex F.

Erfahrenes Mitglied
oh sorry hatte dein Problem nicht ganz verstanden ;-)

also zu 1. Die Werte werden alle in dem Array Preise gespeichert. Wenn diese länger lebt also einen anderen Gültigkeitsbereich als die Sub Commandbutton_Click hat würde sich das Programm auch die Zahlen merken

zu 2. ja kann man. Wenn du es in eine Exe verpackst so muss meistens noch die vb6runtime ( Laufzeitumgebung für VB Programme mitgeliefert werden) in Excel funktioniert es normalerweise dann immer wenn du Excel installiert hast.

Grüsse bb
 

Bamboocha_10

Mitglied
Mh, ich versteh nur Bahnhof.
Zu 1: dann vermutlich als Public sub ....
aber wie baue ich das Klicken auf den zweiten Button ein?
Zu 2: wie muss ich das dann speichern oder ablegen?
 

ronaldh

Erfahrenes Mitglied
Hallo,

Du musst die Dimension des Arrays im Modul-/Formkopf vornehmen, dann bleibt der Inhalt auch nach Verlassen der Routine erhalten.

Zu der Exe: Da stellt sich vor allem die Frage, mit welcher VB-Version Du arbeitest. Bei VB6 kannst Du z.B. unter Datei "Projekt.exe... erstellen" eine Exe herstellen.

Grüsse
ronaldh
 

Bamboocha_10

Mitglied
Also irgendwie geht das nicht. Ich hab jetzt die Deklaration im Kopf vorgenommen, aber es werden trotzdem teilweise gleiche ausgegeben.

Ich habe VB 6.3
 

Wessy

Erfahrenes Mitglied
Hmm, also ich hab hier VB6 und damit ist das auf jeden Fall kein Problem. Und die EXE-Datei erstellst du über Datei/Projekt1.exe erstellen...

Naja, hab das mal in Eigenregie (also nicht dein Beispiel) in VB6 zusammengeferkelt und in die ZIP hier gepackt. Wenn du VB6 hast kannst das Projekt öffnen und wenn nicht, dann startest halt die EXE (ist keine Nikolausüberraschung drin).

Anhang anzeigen Tombola.zip
 

Bamboocha_10

Mitglied
Na das ist ja mal toll. Klappt super. Ich installiere mir dann mal noch VB 6 und modifiziere das noch ein bißchen. Wenn du das noch ein bißchen nett animierst (Die gerade geloste Zahl groß und farbig darstellen usw), kannst du das gut im Net verkaufen. Gibt nämlich nur eine "LosFee" und die kostet 25 Euro. ^^
Wenn du das wirklich anbieten willst, kannst du noch den Fehler abfangen: Es gibt mehr Preise als Lose.

Hehe, vielleicht sollte ich Tester werden.
Danke jedenfalls.
 

Wessy

Erfahrenes Mitglied
:) Danke für die Blumen. Schön das es gefällt. Man kann das natürlich noch mit Videos animieren oder z.B. die Losnummern schön in Direct3D animieren und den Gewinner dann hierrüber mit Fanfaren-Sounds gratulieren (z.B. wenn man das ganze per Beamer zeigt). Ja ja ich spinne mir hier schon wieder einen zurecht. War ja nicht mal sicher ob damit alles so einigermaßen abgedeckt ist was du brauchtest. Vielleicht setze ich mich noch mal in Ruhe hin und schreib ein ordentliches Programm dafür. Dann meld ich mich hier noch mal.

Also wenn's brauchbar ist, viel Spass damit.
 

Bamboocha_10

Mitglied
Ja, wie gesagt. Ist super. Ich änder gerad noch Kleinigkeiten, da es über einen Beamer laufen soll. Setelle zb. die gerade gezogene Nummer in einem extra großen Textfeld dar.
am 22.12. muss ich es erst fertig haben. Was noch schön wär, ist eine animierte losbox als gif oder so davor zu stellen und das los zeihen dann 5 sec zu verzögern, in denen sich die box dreht. jaaaa, da kann man viel rumspielen :)
 

Bamboocha_10

Mitglied
Hallo noch mal
ich hab das Programm nun schon einmal zur Weihnachtsfeier verwendet. Will es auch noch mal nutzen. Aber das mit Grafiken (zb. durchlaufenden Losnummern oder so) zu animieren wär ja super.

@Wessy, du hast das nicht zufällig noch mal nachträglich hinzugefügt?
 

Wessy

Erfahrenes Mitglied
Hallo Bamboocha,

leider nicht. Wenn ich Zeit hätte würd ich dir das gern noch eben machen. Arbeite aber gerade an ein paar anderen Sachen. Vielleicht könnte das ja jemand anderes hier im Forum eben machen
 

Bamboocha_10

Mitglied
Schade eigentlich. Ich hab sowas noch nie gemacht und hab im Moment so gar keine Zeit mir das anzueignen. Ich brauch das schon am Herrentag :(
 

Neue Beiträge

Forum-Statistiken

Themen
272.351
Beiträge
1.558.596
Mitglieder
187.824
Neuestes Mitglied
Danke!