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
 
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
 
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?
 
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
 
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
 
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
 
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.
 
:) 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.
 
Zurück