Wieder mal ne Schleifenlogig mit der ich nicht klar komme :(

  • Hi LEute, das mit den Schleifen werde ich wohl nie so richtig Kapieren.

    Ich hänge schon wieder.


    Ich habe eine Ini mit 40 Zeilen, jetzt möchte ich in einer Gui mit genügend platz folgendes machen.

    1.) GuiCtrlCreatCombo ist kein Problem bis dahin. jetzt kommt das eigentliche Problem.

    Es soll erst mal auf Position 200, 200 diese Combo erscheinen.

    Grösse der Combo 25 hoch und 80 breit.

    In dieser Combo sollen die Werte aus der Ini stehen.

    Also diese 40 werte.

    Nach Auswahl des Wertes soll dahinter ein Button erscheinen mit Hinzufügen dieser soll 200 hinter dem Combo sein,gleiche höhe und breite des Wortes Hinzufügen.


    2.) In der Ini steht ein weiterer Wert der zu dem Wert des Combos gehört.

    Dieser Wert soll in einerm Label 20 hinter der Combo erscheinen,höhe gleich, breite 50.

    Dahinter soll ein Inputfeld erscheinen, höhe gleich breite 50.


    3.) Hinter dem Hinzufügen Button soll ein Button Löschen erscheinen.

    Wenn der Button Löschen gedrückt wird soll diese Zeile entfernt werden und die werte darunter nach oben rücken.

    Gilt natürlich nicht für die erste zeile da sollen nur die werte aus den Feldern ausser der Combo entfernt werden.

    Standardwert der Combo sollte "" sein und dieser soltle bei auswahl auf der ersten zeile auch wieder hergestellt werden.


    4.) Wenn Hinzufügen gedrückt wurde soll eine Zeile weiter also Abstand 25 das gleiche wieder erscheinen.

    Allerdings ohne den Wert der vorher gewählt wurde.


    Fragt mich bitte nicht nach einem Anfang dieser sache, denn habe ich nicht da ich da gar nicht mehr durchgestiegen bin.


    Kann mir da jemand helfen in einer eigenen kleinen Gui damit ich ein Bsp. für mich habe, könnte evtl. ja auch andere int.


    Die Werte die darin enthalten sein sollen sind User,Tel.

    Also in der Combo der User.

    Und in dem Label dann die Telefonnummer des ausgewählten Users.


    Ini Aufbau ist

    [User]

    1=Max Mustermann

    [Telefon]

    1=205


    Vielen Dank !!!!

  • Ja schon, nur mir fiel irgendwie nicht ein wie ich das machen muss.

    Ich versuche schon mit Array das zu machen, bekomme aber nichtmal die Daten aus der Ini in ein Array gepackt.


    Ich sag ja bin zu doof zum Coden :0(


    Also mal ne Gui die ich zum testen Bastelte.

    Spoiler anzeigen


    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>
    ; GUI
    GuiCreate("Sample GUI", 400, 400)

    ; TAB
    GuiCtrlCreateTab(10, 0, 380, 380)
    GuiCtrlCreateTabItem("User")
    ; COMBO
    $Users = GuiCtrlCreatecombo("", 30, 50, 100, 25)
    For $i= 1 to 4
    $User= IniRead("user.ini", "User", $i, "Nicht gefunden")
    $Telenr = IniRead("user.ini", "Telefon", $i, "Nicht gefunden")
    Next
    GUICtrlSetData(-1,$User,"") ; add other item snd set a new default
    ;Label
    $Telefon = GUICtrlCreateLabel($Telenr,140, 50, 50,25)
    ; INPUT
    $Telefonedit = GuiCtrlCreateInput("Input", 200, 50, 50, 25)
    ; BUTTON
    GuiCtrlCreateButton("Hinzufügen", 260, 50, 60, 25)
    GuiCtrlCreateTabItem("2")
    GuiCtrlCreateTabItem("3")
    GuiCtrlCreateTabItem("")
    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd


    Und die User.ini die ich dafür erstellte.

    Code
    [User] 
    1=Max Mustermann 
    2=Angela Merkel 
    3=Gerhard Schröder 
    4=Josef Strauss 
    [Telefon] 
    1=210 
    2=888 
    3=468 
    4=378


    Wäre echt für ein Bspl. dankbar :(

    Einmal editiert, zuletzt von Observer (3. Juni 2009 um 22:52)

  • Einige Punkte habe ich abgeändert. Schau mal ob Du damit weiterkommst:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>

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

    Global $user[5],$Telenr[5]

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

    ; GUI
    GuiCreate("Sample GUI", 400, 400)

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

    ; TAB
    GuiCtrlCreateTab(10, 0, 380, 380)
    GuiCtrlCreateTabItem("User")

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

    ; COMBO
    $Users = GuiCtrlCreatecombo("", 30, 50, 100, 25)
    For $i= 1 to 4
    $User[$i]= IniRead("user.ini", "User", $i, "Nicht gefunden")
    GUICtrlSetData(-1,$User[$i],"")
    $Telenr[$i] = IniRead("user.ini", "Telefon", $i, "Nicht gefunden")
    Next

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

    ;Label
    $Telefon = GUICtrlCreateLabel($Telenr,140, 50, 50,25)

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

    ; INPUT
    $Telefonedit = GuiCtrlCreateInput("Input", 200, 50, 50, 25)

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

    ; BUTTON
    GuiCtrlCreateButton("Hinzufügen", 260, 50, 60, 25)
    GuiCtrlCreateTabItem("2")
    GuiCtrlCreateTabItem("3")
    GuiCtrlCreateTabItem("")
    GuiSetState()

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

    While 1
    Switch GuiGetMsg()

    Case $GUI_EVENT_CLOSE
    Exit

    Case $Users
    For $i = 1 To 4
    If $User[$i] = GuiCtrlRead($Users) Then GuiCtrlSetData($Telefon,$Telenr[$i])
    Next

    EndSwitch
    WEnd

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Ich hatte das jetzt mit dem Bspl. von Bugfix in seinem Arraytut so gemacht.


    Spoiler anzeigen

    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>
    #include <Array.au3>
    Dim $Userini

    ; GUI
    GuiCreate("Sample GUI", 400, 400)


    ; TAB
    GuiCtrlCreateTab(10, 0, 380, 380)
    GuiCtrlCreateTabItem("User")

    ; COMBO
    $Users = GuiCtrlCreatecombo("", 30, 50, 100, 25)
    $Userini = IniReadSection("user.ini", "User")
    If (Not IsArray($Userini)) Then
    MsgBox(0, '', 'INI-Sektion konnte nicht gelesen werden')
    Exit
    EndIf
    GUICtrlSetData(-1,$Userini,"") ; add other item snd set a new default

    ;Label
    ;$Telenr = IniRead("user.ini", "Telefon", $i, "Nicht gefunden")
    ;$Telefon = GUICtrlCreateLabel($Telenr,140, 50, 50,25)

    ; INPUT
    $Telefonedit = GuiCtrlCreateInput("Input", 200, 50, 50, 25)

    ; BUTTON
    GuiCtrlCreateButton("Hinzufügen", 260, 50, 60, 25)

    GuiCtrlCreateTabItem("2")
    GuiCtrlCreateTabItem("3")
    GuiCtrlCreateTabItem("")

    GuiSetState()
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd


    Allerdings kam ich nicht mit dem reinpacken der Arraydaten in die Combo klar :(


    Ich teste mal deines danke dir schonmal.


    Edit :

    Ja deines Funzt.

    Prima, jetzt muss nur noch durch den Hinzufügen Button weitere Zeilen Hinzugefügt werden :0)

    Nur noch ist gut, ich habe null plan wie ich das machen soll :0(


    Danke dir aber auf jeden fall ,aö für deine Hilfe.

    Geht also auch ohne Array.