Fehlermeldung oder Beendeter Script

  • Hi alle zusammen. Ich brauche nochmal eure Hilfe und zwar will ich das Periodensystem umsetzen, so das man den Namen oder die Abkürzung eingeben kann und der Script dann Informationen dazu ausgibt. Nur hab ich das Problem das kurz nach der Inputbox der Script sich beendet oder wenn ich das mit Else mache eine Fehlermeldung für die Exitzeile bekomme. ^^ Könnte mir jemand helfen :?:

    Danke schon mal im voraus

    Conan10


    Spoiler anzeigen
    [autoit]

    HotKeySet ("F12","Exit1")
    ;Variablen:
    Global $Exit = "0" & "Exit"
    Global $H = "H" & "Wasserstoff"
    Global $He = "He" & "Helium"
    ;....

    [/autoit] [autoit][/autoit] [autoit]

    MsgBox (1, "Willkommen", "Willkommen und vielen Dank das sie das Periodensysteminformationsprogramm benutzen.")
    $EA1 = InputBox ("Periodensysteminformation","Bitte geben sie den Namen oder die Abkürzung eines Elements ein, z.B. Cl oder Chlor", "","")
    If $EA1 = $H Then
    MsgBox (1, "Wasserstoff", "Wasserstoff: Gasförmig, Atommasse: 1,01u")

    [/autoit] [autoit][/autoit] [autoit]

    ElseIf $EA1 = $He Then
    MsgBox (1, "Helium", "Helium: Gasförmig, Atommasse: 4u")
    ;...... geht immer so weiter

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Func Exit1 ()
    Exit
    EndFunc

    [/autoit]

    MfG
    Conan (Nur Mitlesend)
    Schon lange dabei

    • Offizieller Beitrag

    Das ist ein Paradebeispiel für den Einsatz von Arrays.

    [autoit]

    Global $arPeriodSys[2][3] = [ _
    ["H", "Wasserstoff", "Wasserstoff: Gasförmig, Atommasse: 1,01u"], _
    ["He", "Helium", "Helium: Gasförmig, Atommasse: 4u"]]

    [/autoit][autoit][/autoit][autoit]

    $Input = 'He'

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 To UBound($arPeriodSys) -1
    If $arPeriodSys[$i][0] == $Input Or $arPeriodSys[$i][1] == $Input Then ExitLoop
    Next
    MsgBox(0, 'Info', $arPeriodSys[$i][2])

    [/autoit]
    • Offizieller Beitrag

    Bitte :D
    hier mal in einer Schleife:

    Spoiler anzeigen
    [autoit]

    Global $arPeriodSys[2][3] = [ _
    ["H", "Wasserstoff", "Wasserstoff: Gasförmig, Atommasse: 1,01u"], _
    ["He", "Helium", "Helium: Gasförmig, Atommasse: 4u"]]

    [/autoit] [autoit][/autoit] [autoit]

    While True
    $sOut = ''
    Do
    $Input = InputBox('Eingabe', 'Bitte Namen oder Kürzel des Elements eingeben.' & @LF & 'Mit "Ende" wird das Programm beendet.')
    Until $Input <> ''
    If $Input = 'Ende' Then Exit
    For $i = 0 To UBound($arPeriodSys) -1
    If $arPeriodSys[$i][0] == $Input Or $arPeriodSys[$i][1] == $Input Then
    $sOut = $arPeriodSys[$i][2]
    ExitLoop
    EndIf
    Next
    If $sOut <> '' Then MsgBox(0, 'Info', $sOut)
    WEnd

    [/autoit]