![]() |
Anzeige:
|
|
|||||||
| Visual Basic, Visual Basic.NET Alles zum Thema - Visual Basic und Visual Basic.NET
Fragen zu VBA bitte in das Forum Office-Anwendungen posten! |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 11.02.2004
Beiträge: 37
|
Was muß ich machen, wenn ich aus einer Liste von mir vorgegebener Wörter per Zufallsgenerator z.B. 20 verschiedene Wörter gezogen haben möchte?
Also so eine Art Lotto-Programm allerdings mit Wörtern. Bin ein vollkommener Programmierungs-Noob und habe keine Ahnung. Muß man dazu eine Datenbank (ala Access) verwenden oder geht es auch ohne? |
|
|
|
|
|
|
#2 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.01.2004
Beiträge: 471
|
Das schreit nach Arrays
Code:
'Controls: Command1, Text1
Private Sub Command1_Click()
Dim i As Integer, rndIndex As Integer, Woerter()
Woerter = Array("Maus", "Baum", "Haus", "Auto", "Computer") '...
For i = 1 To 20
Randomize 'Intialisiert einen Zufallsgenerator
rndIndex = Int((UBound(Woerter()) * Rnd) + 1)
Text1.Text = Text1.Text & "Zufallswort Nr." & i & " :" & Woerter(rndIndex) & vbNewLine
Next i
End Sub
|
|
|
|
|
|
#3 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 11.02.2004
Beiträge: 37
|
Danke, werde ich gleich mal versuchen.
|
|
|
|
|
|
#4 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 11.02.2004
Beiträge: 37
|
Irgendwas stimmt nicht. Bekomme wenn ich das Programm ausführe und auf den Button klicke folgende Fehlermeldung:
"Fehler beim Kompilieren: Keine Zuweisung an Datenfeld möglich" |
|
|
|
|
|
#5 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.01.2004
Beiträge: 471
|
Benutzt du VB6 oder .NET?
|
|
|
|
|
|
|
#6 (Direktlink) |
|
Erfolgreich angemeldet
![]() Registriert seit: 20.07.2005
Beiträge: 10
|
Probier's mal hiermit:
Code:
Private Sub Command1_Click()
Dim i As Integer, rndIndex As Integer, Woerter
Woerter = Array("Maus", "Baum", "Haus", "Auto", "Computer") '...
For i = 1 To 20
Randomize 'Intialisiert einen Zufallsgenerator
rndIndex = Int((UBound(Woerter) * Rnd) + 1)
Text1.Text = Text1.Text & "Zufallswort Nr." & i & " :" & Woerter(rndIndex) & vbNewLine
Next i
End Sub
|
|
|
|
|
|
#7 (Direktlink) |
|
War schon mal da
![]() Registriert seit: 11.02.2004
Beiträge: 37
|
Jetzt läuft es. Danke euch für die Hilfe.
|
|
|
|
|
|
#8 (Direktlink) |
|
Gast
Beiträge: n/a
|
Ähm ja, ich könnt mich zwar jetzt für völlig blöd halten, aber ich bekomm das nicht hin^^.
Also ich füge den Code bei Visual Basic ein und klicke dann als Projekt1 speichern. Aber dann bekomm ich nur das angezeigt: [center:95928b0e7c] [/center:95928b0e7c]Visual Basic 6 hab ich. Ach ich hab das Visual Basic 6 heut das erstemal gestartet. Merkt mann's? |
|
|
|
#9 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.01.2004
Beiträge: 471
|
Du brauchst noch die beiden Steuerelemente, die im Code vorkommen: Command1 und Text1
Beide sind links in der Werkzeugsammlung zu finden. Einfach aufs Form ziehen. |
|
|
|
|
|
#10 (Direktlink) |
|
Gast
Beiträge: n/a
|
Nun, wir kommen der Sache zumindest schon einmal näher, aber es funktioniert noch immer nicht richtig:
![]() Es werden alle Zufallswörter angezeigt... |
|
|
|
|
#11 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 08.01.2004
Beiträge: 471
|
Na du musst natürlich die Menge der zu ziehenden Zufallswörter anpassen oder eben die Liste, die aufgrund meiner Faulheit nur aus den 5 Wörtern besteht, erweitern.
Wenn du beispielsweise 2 Wörter ermitteln möchtest: Zitat:
Die Liste erweiterst du einfach, indem du neue Arrayelemente anfügst: Code:
Woerter = Array("Maus", "Baum", "Haus", "Auto", "Computer", "Ameisenbär")
|
|
|
|
|
|
|
#12 (Direktlink) |
|
Stammuser
![]() Registriert seit: 28.08.2005
Beiträge: 295
|
Ok,
soweit so gut. Jetzt geht es an die Feinarbeit. Also ![]() 1. Wie mache ich das, das dort nur das Zufallswort steht, z. B. Auto und keine 0 und so. 2. Wie ändere ich den Titel des Fensters? 3. Wenn man noch einmal auf Zufalls klickt, das sich das alte Wort löscht und durch das neue Ersetzt wird? Oder, wie bekomme ich es hin, das das Wort so ausgeben wird:
__________________
Vielen Dank an Eckard41 für seine ausgiebige Hilfe an meinem Zufallsgenerator! |
|
|
|
|
|
#13 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.01.2004
Beiträge: 471
|
1. Schau halt in den Code.
Code:
Text1.Text = Text1.Text & "Zufallswort Nr." & i & " :" & Woerter(rndIndex) & vbNewLine Code:
Text1.Text = Text1.Text & Woerter(rndIndex) 3.1. Text1.Text = "" 3.2. MsgBox "String" |
|
|
|
|
|
#14 (Direktlink) |
|
Stammuser
![]() Registriert seit: 28.08.2005
Beiträge: 295
|
Gut, jetzt läuft alles ausser eines!
Und zwar wird nur String ausgeben, egal wo ich den Befehl hinsetze:
__________________
Vielen Dank an Eckard41 für seine ausgiebige Hilfe an meinem Zufallsgenerator! |
|
|
|
|
|
#15 (Direktlink) |
|
Stammuser
![]() Registriert seit: 08.01.2004
Beiträge: 471
|
String war ja auch nur ein Beispiel für die MsgBox-Funktion, die eine Zeichenkette erwartet.
Code:
MsgBox Woerter(rndIndex) |
|
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|