If AnzSpiele = 1 Or 3 Or 5 Or 7 Or 9 Or 11 Or 13 Or 15 Then
Spidx = 1
Else
Spidx = 0
End If
Dieser funktioniert nicht, wie er soll.
Er soll, wenn AnzSpiele 1,3,5,7,9,11,13 oder 15 ist Spidx = 1 setzen, wenn dies nicht der Fall ist soll er Spidx = 0 setzen. Er setzt aber Spidx = 1 und das immer, egal was AnzSpiele ist.
Was mache ich falsch?
Ich habe auch gehört, das es eine Funktion gibt die überprüft, ob die Prüfsumme durch z.B. 2 teilbar ist und eine natürliche Zahl bei rauskommt? Also so etwa:
If AnzSpiele = 1 Or 3 Or 5 Or 7 Or 9 Or 11 Or 13 Or 15 Then
sondern so:
If AnzSpiele = 1 Or AnzSpiele = 3 Or AnzSpiele = 5 Or …
Ich habe auch gehört, das es eine Funktion gibt die überprüft,
ob die Prüfsumme durch z.B. 2 teilbar ist und eine natürliche
Zahl bei rauskommt? Also so etwa:
If AnzSpiele = 1 Or 3 Or 5 Or 7 Or 9 Or 11 Or 13 Or 15 Then
Spidx = 1
Else
Spidx = 0
End If
Dieser funktioniert nicht, wie er soll.
Er soll, wenn AnzSpiele 1,3,5,7,9,11,13 oder 15 ist Spidx = 1
setzen, wenn dies nicht der Fall ist soll er Spidx = 0 setzen.
Er setzt aber Spidx = 1 und das immer, egal was AnzSpiele ist.
Was mache ich falsch?
Die Syntax.
1 Or 3 ist eine logische Verknüpfung.
Du wolltest schreiben:
If AnzSpiele = 1 Or AnzSpiele = 3 Or AnzSpiele = 5 …
Aber das ist ohnehin keine gute Lösung.
Ich habe auch gehört, das es eine Funktion gibt die überprüft,
ob die Prüfsumme durch z.B. 2 teilbar ist und eine natürliche
Zahl bei rauskommt? Also so etwa:
Die Variante mit Mod ist schon elegant. Aber was ist wenn AnzSpiele = 17 ist? So wird SpidX auch auf 1 gesetzt. Willst du dies, so kannst du die Version nehmen. Willst du das SpidX nur bei ungeraden Zahlen und bis max.16 den Wert 1 bekommst, so musst du es etwas anders angehen
'Variante 1
Spidx=(AnzahlSpiele mod 2 =0) and (AnzahlSpiele
MfG Alex
If AnzSpiele = 1 Or 3 Or 5 Or 7 Or 9 Or 11 Or 13 Or 15 Then
sondern so:
If AnzSpiele = 1 Or AnzSpiele = 3 Or AnzSpiele = 5 Or …
Achso! Danke, werde ich bestimmt auch nochmal gebrauchen…
Ich habe auch gehört, das es eine Funktion gibt die überprüft,
ob die Prüfsumme durch z.B. 2 teilbar ist und eine natürliche
Zahl bei rauskommt? Also so etwa:
Die Variante mit Mod ist schon elegant. Aber was ist wenn
AnzSpiele = 17 ist? So wird SpidX auch auf 1 gesetzt. Willst
du dies, so kannst du die Version nehmen. Willst du das SpidX
nur bei ungeraden Zahlen und bis max.16 den Wert 1 bekommst,
so musst du es etwas anders angehen
'Variante 1
Spidx=(AnzahlSpiele mod 2 =0) and (AnzahlSpiele
Gut, werd ich mir merken hätte ich in zwei If-Sätzen gemacht, die nacheinander abgearbeitet werden. Allerdings hatte ich einfach nur keine Lust mehr or 17 or 19 … zu schreiben
Die Variante mit Mod ist schon elegant. Aber was ist wenn
AnzSpiele = 17 ist? So wird SpidX auch auf 1 gesetzt. Willst
du dies, so kannst du die Version nehmen. Willst du das SpidX
nur bei ungeraden Zahlen und bis max.16 den Wert 1 bekommst,
so musst du es etwas anders angehen
'Variante 1
Spidx=(AnzahlSpiele mod 2 =0) and (AnzahlSpiele