If-Schleife in Funktion funktioniert nicht.

  • Hallo,
    habe gehofft das Problem alleine lösen zu können, komme aber nicht zum gewünschter Ergebnis und hoffe nun hier Hilfe zu bekommen.

    Ich habe eine GUI. 2 Inputboxen, Ein Button. Klickt man auf den Button so soll in der ersten Inputbox eine zufällige, gerundete Zahl zwischen 1 und 10 erscheinen. Das klappt auch soweit. Nun möchte ich aber, dass in der 2. Inputbox ebenfalls eine zufällige und gerundete Zahl angezeigt wird, sobald in der ersten Box die Zahl 1 erscheint. Das klappt nicht.

    Die funktion selbst funktioniert, wenn ich "If $MoeGLICHKEITINPUT1 = 1 Then" weglasse. natürlich ändert dann die 2. box auch bei jedem Buttonklick den Wert und nicht nur wenn Box1 eine "1" auswirft. Kann mir bitte jemand auf die Sprünge helfen? Wenn "If" nicht funktioniert, was nehme ich dann? Freue mich über jede Hilfe. Vielen Dank


    Bitte löschen, ich hab grad selbst den Fehler gefunden. Liegt wohl an der Uhrzeit

  • Schön das du den Fehler gefunden hast aber dein Script kann man definitiv besser schreiben.

    Zuerst solltest du dir den Begriff "If-Schleife" abgewöhnen, sowas gibt es nicht. Ein If-Befehl ist eine Verzweigung und keine Schleife.

    Zum anderen kannst du den dritten Parameter bei der Random-Funktion verwenden mit der du ganzzahlige Ergebnisse direkt kriegst wenn du den Parameter auf 1 setzt.
    Somit sparst du dir den extra Round-Befehl direkt danach.

    Deine If-Abfrage If $MoeGLICHKEITINPUT1 = 1 Then ist absolut falsch und unnötig dazu.
    Wenn dein Programm bei der Generierung der 1. Zufallszahl definitiv nicht scheitern kann (was der Fall ist), dann brauchst du diese If-Abfrage überhaupt nicht.
    Lass sie einfach weg und füll die zweite InputBox direkt.

    Außerdem ist die Bedingung falsch. $MoeGLICHKEITINPUT1 = 1 würde prüfen ob der Inhalt von $MoeGLICHKEITINPUT1 gleich 1 ist obwohl dort nur Strings wie "Moeglichkeit 8 in INPUT 1" enthalten sind. Du müsstest - wenn du überhaupt diese If-Abfrage haben willst - prüfen ob der String leer ist oder nicht, was wie gesagt nicht notwendig ist weil die If-Abfrage Müll ist.

    Zuletzt solltest du dir doch angewöhnen deinen Code gut und sauber zu strukturieren, Einrückungen richtig einzuhalten und deinen Variablen sowie Funktionen bessere und aussagekräftigere Namen zu geben. $MoeGLICHKEITINPUT1 ist einfach falsch.