If-Befehl will nicht!

  • Aloha Leute,

    ich habe folgendes Problem:

    Mein Script soll Inputboxen auslesen und nach den Werten in einer .ini suchen.
    Da ich aber drei Inputs habe, über die man suchen könnte, wollte ich, dass das Script erkennt, in welcher Box gerade was steht und eben dann Suchen, statt nach dem Wert "0" zu suchen!

    Hier das für die Hilfe notwendige Script:

    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=g:\projekte\tataria\main.kxf
    $Form2 = GUICreate("Form2", 915, 456, 193, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form2Close")
    $Label1 = GUICtrlCreateLabel("IMEI:", 28, 32, 29, 17)
    $Input1 = GUICtrlCreateInput("", 65, 29, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetLimit(-1, 15)
    $Label2 = GUICtrlCreateLabel("Modell: ", 18, 63, 41, 17)
    $Input2 = GUICtrlCreateInput("", 66, 60, 121, 21)
    $Label3 = GUICtrlCreateLabel("Name:", 21, 93, 35, 17)
    $Input3 = GUICtrlCreateInput("", 66, 90, 121, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 54, 375, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "Button1Click")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(100) ;Schleife
    WEnd

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

    Func Button1Click() ;Auf Suchen gedrückt

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

    $IMEI = GUICtrlRead($Input1)
    $Modell = GUICtrlRead($Input2)
    $Name = GUICtrlRead($Input3)

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

    If $IMEI <> 0 Then;Funktioniert einwandfrei!!!
    $SearchIMEI = IniReadSection("data.ini",$IMEI)
    GUICtrlSetData($Input2,$SearchIMEI[1][1])
    GUICtrlSetData($Input3,$SearchIMEI[2][1])
    EndIf

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

    If $Modell <> 0 Then;Funktioniert NICHT!
    $SearchModell = IniReadSection("data.ini",$Modell)
    GUICtrlSetData($Input1,$SearchModell[1][1])
    GUICtrlSetData($Input3,$SearchModell[2][1])
    EndIf

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

    EndFunc
    Func Form2Close()
    Exit
    EndFunc

    [/autoit]

    Und hier die dazugehörige "data.ini" :

    Code
    [123456789012345]
    Modell=iPhone 4
    Name=Mustermann
    [iPhone 4]
    IMEI=123456789012345
    Name=Mustermann
    [Mustermann]
    IMEI=123456789012345
    Modell=iPhone 4

    Ich habe es auch mit ElseIf probiert, führte aber zu selben Ergebnis!

    Ich bitte also um eure Hilfe!

    PS: Falls ihr eine einfacherere Lösung für mein Script habt, wäre es natürlich auch cool! (aber nur zweitrangig wichtig!)

    Danke im Vorraus!

    Goaku

  • &quot;ungetestet&quot;
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    #Region ### START Koda GUI section ### Form=g:\projekte\tataria\main.kxf
    $Form2 = GUICreate("Form2", 915, 456, 193, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form2Close")
    $Label1 = GUICtrlCreateLabel("IMEI:", 28, 32, 29, 17)
    $Input1 = GUICtrlCreateInput("", 65, 29, 121, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
    GUICtrlSetLimit(-1, 15)
    $Label2 = GUICtrlCreateLabel("Modell: ", 18, 63, 41, 17)
    $Input2 = GUICtrlCreateInput("", 66, 60, 121, 21)
    $Label3 = GUICtrlCreateLabel("Name:", 21, 93, 35, 17)
    $Input3 = GUICtrlCreateInput("", 66, 90, 121, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 54, 375, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "Button1Click")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    Sleep(100) ;Schleife
    WEnd

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

    Func Button1Click() ;Auf Suchen gedrückt

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

    $IMEI = GUICtrlRead($Input1)
    $Modell = GUICtrlRead($Input2)
    $Name = GUICtrlRead($Input3)

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

    If $IMEI <> "" Then;Funktioniert einwandfrei!!!
    $SearchIMEI = IniReadSection("test.txt",$IMEI)
    GUICtrlSetData($Input2,$SearchIMEI[1][1])
    GUICtrlSetData($Input3,$SearchIMEI[2][1])
    ElseIf $Modell <> "" Then;Funktioniert NICHT!
    $SearchModell = IniReadSection("test.txt",$Modell)
    GUICtrlSetData($Input1,$SearchModell[1][1])
    GUICtrlSetData($Input3,$SearchModell[2][1])
    EndIf

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

    EndFunc
    Func Form2Close()
    Exit
    EndFunc

    [/autoit]
  • Aber leider verstehe ich den Aufbau deiner INI nicht, deshalb würde ich das so machen.
    Du möchtest also entweder suchen aus Input1, 2 oder 3?

    Spoiler anzeigen
    [autoit]


    if (GUICtrlRead($Input1) <> "") then

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

    ElseIf (GUICtrlRead($Input2) <> "") then

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

    ElseIf (GUICtrlRead($Input2) <> "") then

    Else
    msgbox(0,"","Nich vorhanden")
    EndIf

    [/autoit]

    MfG
    Der_Doc