Problem mit if then

  • Hallo,

    ich hab mal wieder ein neues Problem. Wie kann ich einen Eintrag aus einer Combobox ändern und in einer separaten Variablen speichern.

    Bsp.

    Code
    GUICtrlSetData(-1, "Organization|Functions|Projects|General", "Organization")

    Wenn Organization ausgewählt, soll in einer Variable ORG gespeichert werden. Bei Functions FUN usw.

    Wollte das so lösen:

    Code
    f GUICtrlRead($combo1) == "Organization"
    Then $verz = "ORG"
        if GUICtrlRead($combo1) = "Functions"
        then $verz = "FUN"

    HIer kommt aber die Fehlermeldung multi-line 'if' missing 'then'

    Würde mich sehr über Hilfe freuen.

  • Da fehlt auch gefühlt die Hälfte ^^

    [autoit]

    If GUICtrlRead($combo1) == "Organization" Then
    $verz = "ORG"
    ElseIf GUICtrlRead($combo1) = "Functions" Then
    $verz = "FUN"
    EndIf

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

    Grüße Yaerox

    Grüne Hölle

  • entweder select/case oder , weil einfacher, als Einzeiler

    [autoit]

    $verz=stringupper(Stringleft(GUICtrlRead($combo1),3))

    [/autoit]
  • Hallo und danke euch beiden.
    Habe es nach YaeroxXO Art gelöst und funktioniert super.
    Natürlich wäre es besser, das in einer Zeile zu lösen, aber jetzt läuft es erst mal.

  • Hallo und danke euch beiden.
    Habe es nach YaeroxXO Art gelöst und funktioniert super.
    Natürlich wäre es besser, das in einer Zeile zu lösen, aber jetzt läuft es erst mal.

    Besser ist einfach gesagt. Schreibst du alles in die eine Zeile ist es auch gelöst, aber wenn du nicht so viel mit AutoIt arbeitest dass du dir merken kannst was es tut sind ein paar mehr Zeilen manchmal sinnvoll, da man diese logisch abarbeiten kann. Das ist wie mit Regulären Ausdrücken. Du kannst damit stunts machen die sind der Wahnsinn, nur verstehst du in einem Monat diesen Stunt noch immer?

    Ist also nur ein Tipp als mögliche Unterstützung ;)

    Grüße Yaerox

    Grüne Hölle

  • @YaeroxXO:

    Spoiler anzeigen


    ..., aber wenn du nicht so viel mit AutoIt arbeitest dass du dir merken kannst was es tut sind ein paar mehr Zeilen manchmal sinnvoll, ...

    Also wieso nicht die Lsg. nehmen die Dir persönlich erst einmal zusagt, aber gleichzeitig über/unter dem Scriptausschnitt, die Kurzversion
    als Kommentar dazu packen?
    So meine ich es:

    Spoiler anzeigen
    [autoit]


    ; $verz=stringupper(Stringleft(GUICtrlRead($combo1),3)); KF der nächsten IF-Anfrage
    If GUICtrlRead($combo1) == "Organization" Then
    $verz = "ORG"
    ElseIf GUICtrlRead($combo1) = "Functions" Then
    $verz = "FUN"
    EndIf

    [/autoit]


    Wenn das Script soweit läuft, nach KF (Kurzfassung) suchen und die Stellen bearbeiten (Scriptoptimierung?!).
    Ich sage immer, lieber zuviel Erklärungen, als später nicht mehr verstehen, was man damals getan hat. Nicht
    immer kann man sagen: "Ich weiß, was ich letzten SOmmer getan habe." oder so. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • wieso nicht die Lsg. nehmen die Dir persönlich erst einmal zusagt, aber gleichzeitig über/unter dem Scriptausschnitt, die Kurzversion
    als Kommentar dazu packen?

    Jup, das ist auch eine gute Vorgehensweise :)

    Grüße Yaerox

    Grüne Hölle

  • Das mit den "KF" (in DK heißt es "forkortede form" und man nimmt FoFo statt KF) mache ich schon sehr lange so.
    beim Scripten kann man so auch Scriptübergreifend nach KF's suchen und spart sich so evtl. das doppelte scripten.
    Also ein Punkt für die Bequemlichkeit. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl