aus combo eine section auswählen und in textfeld anzeigen

  • hallo zusammen,

    als neuling hab ich jetzt ein paar stunden mitgelesen und einige anleitungen im web durchgearbeitet - für mein persönliches projekt quält mich allerdings eine fragestellung die ich alleine nicht mehr lösen kann...

    ich möchte aus einer ini (config.ini) bestimmte sections in einem combo auswahlfenster darstellen und auswählen, hab ich bisher so gelöst:

    die ini könnte so aussehen:

    soweit so gut, ob das jetzt einfacher ginge kann ich noch nicht beurteilen, im laufe der zeit werd ich das schon hinbekommen ;)

    jedoch würd ich gerne nachdem ich auf den next button gedrückt hab (oder sogar schon nach der auswahl bei der combobox) die komplette section in einem textfeld rechts von der auswahlbox sehen...

    hab schon ein wenig probiert aber keine lösung gefunden - vielleicht kann mir ja jemand auf die sprünge helfen...


    danke schon mal im voraus


    svrroot

    • Offizieller Beitrag

    oder sogar schon nach der auswahl bei der combobox


    Ist gar nicht so schwer:
    - INI Section Names in Combo laden
    - ersten Wert als default setzen (ist somit in der Combo sichtbar)
    - mit GUICtrlRead(Combo) wird der aktuelle Sektionsname gelesen
    - mit diesem Namen wendest du die Funktion INIReadSection
    - die gelesenen Schlüssel-Wert-Paare dieser Sektion gibst du in einem Edit aus

  • bis dahin bin ich auch gekommen, nur daran:

    Zitat

    - die gelesenen Schlüssel-Wert-Paare dieser Sektion gibst du in einem Edit aus

    scheiteren ich...


    grüße

    svrroot

    • Offizieller Beitrag

    Aus dem Kopf, aber sollte klappen:

    [autoit]

    #cs - eine INI-Sektion
    [section]
    a=123
    b=456
    c=789
    #ce

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

    $INI = 'der Pfad der INI'
    $aSection = IniReadSection($INI, 'section') ; <== liefert 2D-Array mit Schlüssel-Wert-Paaren

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

    ; so kannst du einen String mit allen Werten der Sektion für ein Edit erstellen:
    $strForEdit = ''
    For $i = 1 To UBound($aSection) -1
    $strForEdit &= $aSection[$i][0] & '=' & $aSection[$i][1] & @CRLF
    Next

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

    ; und jetzt ins Edit schreiben
    GUICtrlSetData($Edit, $strForEdit)

    [/autoit]