Label Inhalt durch IF schleife ändern

Bebam

Bebam(Bbäm)
Hallo :)

ich bin absoluter Anfänger also ist das vllt eine recht einfache Frage^^
ich will bei einem Programm durch eine IF schleife den label Inhalt verändern :
z.B. gibt man zwei mal 10 Zahlen ein
und im Label will ich ausdrücken wie viele richtig sind
es muss aber jeweils z.B. die 6. Zahl von ersten 10 Zahlen und die 6. Zahl von zweiten 10 zahlen übereinstimmen, dann würde im Label erscheinen : Es stimmt 1 Zahl überein.

Weil so wie ich es machen würde hätte ich 100 Zeilen unnötigen Code^^

Vielen Dank schon mal im Voraus ;)
Simon
 

Bebam

Bebam(Bbäm)
soweit bin ich ja auch^^
ich habe ein Lotto Programm entwickelt
da sind einmal links die eingegebenen Zahlen und rechts daneben die zufälligen Lottozahlen
daneben wiederum steht entweder Richtig oder Falsch
Dazu habe ich ein label erstellt (kann auch ruhig ein textfeld sein) in dem angezeigt werden soll, wie viele der ganzen Lottozahlen übereinstimmen
 

Yaslaw

alter Rempler
Moderator
Angenommen du hast die Feldnamen sauber aufgebaut.

wahl1-wahlx: die Wahl des Spielers
lotto1-lottox: die Lottozahlen
result1-resultx: Die labels zur Einzelausgabe

Weitere Annamhe: Du hast den Code direkt hinter dem Forum (also kann man mit Me drauf zugreiffen)

Visual Basic:
 For i=1 to 10
    if me["wahl" & i] = me["lotto" + 1] then
        count = count + 1
        me["result"+1].text = "Treffer"
    end if
next i
me.total.text = "Es stimmt " + count + " Zahl überein"
 

Bebam

Bebam(Bbäm)
Nimms mir bitte nicht übel ich hab wenig plan davon xD
aber so aufgebaut hab ich es, nur was meinst du mit

"Weitere Annamhe: Du hast den Code direkt hinter dem Forum (also kann man mit Me drauf zugreiffen)"

danke auf jeden fall schon ma^^
 

Bebam

Bebam(Bbäm)
Is natürlich kein super code, aber bin eben Anfänger.
Ich hab alles soweit hingekriegt : Habe jetzt geschrieben:

If txtm1 = txtl1 Then
count = count + 1
ElseIf txtm2 = txtl2 Then
count = count + 1
ElseIf txtm3 = txtl3 Then
count = count + 1
ElseIf txtm4 = txtl4 Then
count = count + 1
ElseIf txtm5 = txtl5 Then
count = count + 1
ElseIf txtm6 = txtl6 Then
count = count + 1
End If

lbl16.Caption = "Herzlichen Glückwunsch! Sie haben " + count + " Zahlen richtig"

So, das Problem ist, das mir Laufzeit Fehler 13 als Error angezeigt wird... sobald ich das mit lbl16.caption = ... im code eingebaut habe
 

Yaslaw

alter Rempler
Moderator
Währe nett wenn du deinen VB-Code in VB-Tags schreiben würdest
[code=vb]VB-Code[/code]

Dein Code könnte auch so aussehen
Visual Basic:
dim i, total
For i = 1 to 6
	If Me["txtm" + i] = Me["txtl" + i] Then total = total+ 1
Next i

Wenn das überchreiben des Labels nicht geht, dann mach daraus ein inaktives Textfeld....
 

Bebam

Bebam(Bbäm)
Danke, ich hab es gleich ma ausprobiert, der sagt mir jetzt nur das bei

Visual Basic:
 ["txtm" + i]

then oder go to fehlt.
Wenn ich fragen darf, was bringt dieses me , bzw. kann man es nicht einfach weglassen?
 

Yaslaw

alter Rempler
Moderator
Me ist das Objekt Formular. Ich muss zugeben, ich programmiere VB6 nur noch aus dem Kopf, da ich keine Instance mehr habe.

Eventuell sind es auch () anstelle von []

Visual Basic:
If Me("txtm" + i) = Me("txtl" + i) Then total = total+ 1
 

Neue Beiträge