schleifenproblem

  • hi, ich baue gerade an einer etwas komplizierteren schleifen.... if - esle - endif
    leider verstehe ich das nicht ganz, dass ich das zweite else und endif
    ausklammern muss, damit AutoIT nicht mekert, da fehlt doch dann das closen
    einer schleife, was sich natürlich auch durch ein falsches laufen des
    codes bemerkbar macht. will heissen: er springt wenn folgendes NICHT zutrifft:
    if $readedRegkey <> $networkname
    springt er nach:
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "No running Proceess called:" & $processname & " or Networkname found!")


    was ja falsch ist! ... der soll eine schleife höher springen ...quasi zu dem else endif ! <- wie gesagt, ich kannst aber
    nicht rausmachen, da er sonst im compiler meckert!

    [autoit]


    Func _checkVPNprocesses($processname, $searchstring)
    Global $readedRegkey
    If ProcessExists($processname) then
    $readedRegkey = RegRead("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride")
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Connectionoverride-key is current:" & $readedRegkey )
    _SearchNetworknamesNoListView($searchstring)
    if $readedRegkey <> $networkname then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Connectionoverride-key not equal to started networkadapter!")
    _SearchNetworknamesNoListView($searchstring)
    If $NetworkreadyFlag = ("YES") then RegWrite("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride", "REG_SZ", $networkname)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Writing (XLive) connectionoverride registration key:" & $networkname)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Writing to registration done!")
    Else
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "No running Proceess called:" & $processname & " or Networkname found!")
    EndIf
    Else

    EndIf
    ; Else
    ; EndIf
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von WhiteLion (8. November 2009 um 22:05)

    • Offizieller Beitrag

    In Zeile 10 darf nach "Then" nicht direkt eine Anweisung folgen. Erst in der nächsten Zeile:

    Spoiler anzeigen
    [autoit]


    Func _checkVPNprocesses($processname, $searchstring)
    Global $readedRegkey
    If ProcessExists($processname) Then
    $readedRegkey = RegRead("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride")
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Connectionoverride-key is current:" & $readedRegkey)
    _SearchNetworknamesNoListView($searchstring)
    If $readedRegkey <> $networkname Then
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Connectionoverride-key not equal to started networkadapter!")
    _SearchNetworknamesNoListView($searchstring)
    If $NetworkreadyFlag = ("YES") Then
    RegWrite("HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\XLive", "ConnectionOverride", "REG_SZ", $networkname)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Writing (XLive) connectionoverride registration key:" & $networkname)
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "Writing to registration done!")
    Else
    GUICtrlSetData($input, GUICtrlRead($input) & @CRLF & "No running Proceess called:" & $processname & " or Networkname found!")
    EndIf
    Else

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

    EndIf
    Else

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

    EndIf
    EndFunc

    [/autoit]