Von Combobox zur INI?

  • Hi @all

    Versuche grad die Werte einer Combobox "umzuwandeln" und in eine INI zu schreiben. Habe es so im Moment so "gelöst"...

    Spoiler anzeigen


    Allerdings sieht das ziemlich "uncool" aus und es sollen noch 15 weitere Sprachen folgen. Wie kann man das evtl. eleganter Lösen? Danke schonmal im Voraus!

  • Die UDF _GUICtrlComboBoxEx_GetCurSel könnte dir weiterhelfen. So kannst du schon mal direkt die "langid" bestimmen, ohne erst den String übersetzen zu müssen.
    Dann kannst du den einen Buchstaben, der als "language" gespeichert wird, noch effektiver bestimmen. So zum Beispiel:

    [autoit]


    $nIndex = _GUICtrlComboBoxEx_GetCurSel(GUICtrlGetHandle($cCombo))
    Local $aIndex2Char[] = ['d', 'e', 'f'] ;hier Sprachen ergänzen
    IniWrite(@ScriptDir & "\config.ini", "CONFIG", "language", $nIndex + 1) ;deine IDs waren ja 1-basierend, daher +1
    IniWrite(@ScriptDir & "\config.ini", "CONFIG", "language", $aIndex2Char[$nIndex])

    [/autoit]

    Allerdings solltest du dich nochmal fragen, ob es sinnvoll ist, sowohl eine Sprach-ID als auch einen Erkennungsbuchstaben zu speichern. Denn letztendlich enthalten die beiden dieselbe Information.