ComboBox Auswahl mit Ini Section vergleichen Werte aus der Section in Listview ausgeben

  • Hallo liebe AutoIt´ler,

    wie ihr seht ist schon die Überschrift recht schwierig gemeistert, sodas ich es hier nochmal besser beschreiben werde.

    Quelltext:

    Spoiler anzeigen

    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <ListviewConstants.au3>
    #include <EditConstants.au3>

    #Region Global
    Global $Listview
    Global $ID_next = 0
    #EndRegion Global

    #Region Gui

    $Form1 = GUICreate("WarenHandelsTool", 520, 420, 192, 124)

    #EndRegion Gui

    #Region Combos Stadtauswahl
    $Combo1 = GUICtrlCreateCombo("Athen", 20, 25, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo2 = GUICtrlCreateCombo("Athen", 365, 25, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo3 = GUICtrlCreateCombo("Athen", 20, 57, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo4 = GUICtrlCreateCombo("Athen", 365, 57, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo5 = GUICtrlCreateCombo("Athen", 20, 89, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo6 = GUICtrlCreateCombo("Athen", 365, 89, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo7 = GUICtrlCreateCombo("Athen", 20, 121, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo8 = GUICtrlCreateCombo("Athen", 365, 121, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo9 = GUICtrlCreateCombo("Athen", 20, 153, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo10 = GUICtrlCreateCombo("Athen", 365, 153, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo11 = GUICtrlCreateCombo("Athen", 20, 185, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo12 = GUICtrlCreateCombo("Athen", 365, 185, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo13 = GUICtrlCreateCombo("Athen", 20, 217, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo14 = GUICtrlCreateCombo("Athen", 365, 217, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo15 = GUICtrlCreateCombo("Athen", 20, 249, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo16 = GUICtrlCreateCombo("Athen", 365, 249, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo17 = GUICtrlCreateCombo("Athen", 20, 281, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo18 = GUICtrlCreateCombo("Athen", 365, 281, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo19 = GUICtrlCreateCombo("Athen", 20, 313, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    $Combo20 = GUICtrlCreateCombo("Athen", 365, 313, 95, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    GUICtrlSetData(-1, "Alexandria|Beirut|Konstantinopel|Tripolis|Algier|Genua|Venedig|Barcelona|Sevilla|Lissabon|Madeira|Las Palmas|Bordeaux|Amsterdam|London|Hamburg|Oslo|Stockholm|Reykjavik|Dakar|Accra|Luanda|Kapstadt|Mosambik|Mogadischu|Aden|Suez|Maskat|Mumbai|Basra|Melaka|Semarang|Sri Lanka|Tourane|Quanzhou|Tianjin|Seoul|Nagasaki|Edo","")
    GUISetState(@SW_SHOW)
    #EndRegion Combos Stadtauswahl

    #Region Combo Warensuche
    $Combo21 = GUICtrlCreateCombo("Ware auswählen Stadt anzeigen", 20, 350, 190, 25, BitOr($CBS_SORT,$CBS_AUTOHSCROLL,$CBS_DROPDOWNLIST,$WS_VSCROLL))
    #EndRegion

    #Region Warenausgabe Labels
    $Label1 = GUICtrlCreateLabel("", 130, 25, 120, 20, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label2 = GUICtrlCreateLabel("", 130, 57, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label3 = GUICtrlCreateLabel("", 130, 89, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label4 = GUICtrlCreateLabel("", 130, 120, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label5 = GUICtrlCreateLabel("", 130, 153, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label6 = GUICtrlCreateLabel("Handels Buff Aufbau", 130, 200, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label7 = GUICtrlCreateLabel("Handels Buff Aufbau", 130, 232, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label8 = GUICtrlCreateLabel("Handels Buff Aufbau", 130, 264, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label9 = GUICtrlCreateLabel("Handels Buff Aufbau", 130, 296, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    $Label10 = GUICtrlCreateLabel("Handels Buff Aufbau", 130, 329, 120, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 12, "Arial Black")
    #endregion Warenausgabe Labels

    #Region Überschrift / Warensuche Labels
    $Labelueberschrift = GUICtrlCreateLabel("Handels Buff Aufbau", 165, 3, 150, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 12, "Arial Black")
    $LabelWarensuche = GUICtrlCreateLabel("Test", 30, 380, 160, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 11, "Arial Black")
    #EndRegion Überschrift / Warensuche Labels

    #Region Warenausgabe Labels SetState
    GUICtrlSetState($Label1, $GUI_HIDE)
    GUICtrlSetState($Label2, $GUI_HIDE)
    GUICtrlSetState($Label3, $GUI_HIDE)
    GUICtrlSetState($Label4, $GUI_HIDE)
    GUICtrlSetState($Label5, $GUI_HIDE)
    GUICtrlSetState($Label6, $GUI_HIDE)
    GUICtrlSetState($Label7, $GUI_HIDE)
    GUICtrlSetState($Label8, $GUI_HIDE)
    GUICtrlSetState($Label9, $GUI_HIDE)
    GUICtrlSetState($Label10, $GUI_HIDE)
    #endregion Warenausgabe Labels SetState

    #Region Labels Timer
    $LabelTimerStunde = GUICtrlCreateLabel("00", 300, 380, 50, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 11, "Arial Black")
    $LabelTimerMinute = GUICtrlCreateLabel("00", 350, 380, 50, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 11, "Arial Black")
    $LabelTimerSekunde = GUICtrlCreateLabel("00", 400, 380, 50, 17, $SS_CENTER )
    GUICtrlSetFont(-1, 11, "Arial Black")
    #endregion Labels Timer

    #Region Listviev´s
    $hListView = GUICtrlCreateListView("Waren in der Stadt", 130, 105, 220, 150,$LVS_SORTASCENDING)
    $Menue_ListView = GUICtrlCreateContextMenu($hListView)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 215)
    _GUICtrlListView_RegisterSortCallBack($hListView)
    GUICtrlSetState($hListView, $GUI_SHOW)
    #EndRegion Listview´s

    #Region Button Start / Reset
    $Button1 = GUICtrlCreateButton("Timer Start", 300, 353, 70, 20)
    $Button1 = GUICtrlCreateButton("Timer Reset", 380, 353, 70, 20)
    #endregion Button Start / Reset

    _load_database($hListView, @ScriptDir & '\Database')

    #Region Functionen
    Func _load_database($hListView, $path_database)
    $search = FileFindFirstFile($path_database & "\*.*")
    If $search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Return 0
    EndIf

    $ID_next = 0

    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    $Ware = IniRead($path_database & '\' & $file, 'Athen', 'Ware1', 'error')
    $Ware2 = IniRead($path_database & '\' & $file, 'Athen', 'Ware2', 'error')
    $Ware3 = IniRead($path_database & '\' & $file, 'Athen', 'Ware3', 'error')
    $Ware4 = IniRead($path_database & '\' & $file, 'Athen', 'Ware4', 'error')
    $Ware5 = IniRead($path_database & '\' & $file, 'Athen', 'Ware5', 'error')
    $Ware6 = IniRead($path_database & '\' & $file, 'Athen', 'Ware6', 'error')
    $id = StringTrimRight($file, 4)
    $ID_next = $id + 1

    GUICtrlCreateListViewItem($Ware, $hListView)
    GUICtrlCreateListViewItem($Ware2, $hListView)
    GUICtrlCreateListViewItem($Ware3, $hListView)
    GUICtrlCreateListViewItem($Ware4, $hListView)
    GUICtrlCreateListViewItem($Ware5, $hListView)
    GUICtrlCreateListViewItem($Ware6, $hListView)
    $ID_next = $id + 1

    WEnd
    FileClose($search)
    EndFunc ;==>_load_database
    #EndRegion Functionen

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    EndSwitchWEnd




    Zur Beschreibung 1:


    Also, vom Prinzip her soll folgendes geschehen.
    Man wählt in einer der kleinen ComboBoxen auf der linken Seite eine Stadt aus (diese Städte sind in der Ini als Sektionen hinterlegt), nun muss eine Funktion in der Ini nach der der Sektion mit gleichem Namen suchen und anschliessend die Werte dieser Sektion in der Listview wiedergeben. Nun haben wie dir Listview mit allen Werten der ausgewählten Stadt = Sektion. In der Listview wählt man nun eine Ware (einen ausgelesenen Wert) aus, anschliesend verschwindet die Listview und das Label erscheint neben der Combo wo ausgewählt wurde, mit eben dem ausgewähltem Wert (Ware) aus der Listview. Dies soll für alle kleinen Combos auf der linken Seite möglich sein!
    Sind alle Combos ausgewählt und Labels sind da, aber man entscheidet sich um und will nochmal in einer Combo ne andere Stadt auswählen dann soll eben das Label von dieser Combo wieder verschwinden und das neu ausgewählte erscheinen.

    So wie ich das jetzt mommentan habe, geht es ja nicht. Auch soll die Listview erst nach auswahl einer Combo erscheinen und nicht von anfang an da sein, dies machte ich nur so damit sie eben jetzt zu sehen ist.
    Ini liegt als Anhang bei.

    Zur Beschreibung 2.

    Ich hätte gerne unten rechts noch einen Timer laufen, der Stunden, Minuten und Sekunden anzeigt und wo die Sekunden ablaufen, jedoch das ganze als Labelausgabe. Mit dem Start Button soll dieser bekinnen und wenn Reset Button gedrückt wird wieder bei der Ausgangszeit von 1h12m00sec stehen bis wieder start gedrückt wird. Ideal wäre noch, wenn man die Zeit bei 10 Minuten verbleibend noch rot färben kann.
    Ich hatte einen schönen Timer gefunden von Peetbe glaube ich aber leider nur als ToolTip ausgabe.

    Timer Code:

    Spoiler anzeigen

    #cs ----------------------------------------------------------------------------
    AutoIt Version: 3.3.6.1
    Author: Jens Kröger

    Script Function:
    In diesem Skript wird ein einfacher Timer beschrieben, er zählt einfach
    runter und führt dann das, was in dem $Befehl steht aus.
    Man kann natürlich auch die _toDo() Funktion anpassen.
    #ce ----------------------------------------------------------------------------

    ; Variablen
    $titel = "" ; Titel, es wird auch ein Info Icon mit angezeigt
    $DauerStd = 1 ; Dauer in Stunden
    $DauerMin = 12 ; Dauer in Minuten
    $DauerSek = 0; Dauer in Sekunden
    $DauerGesammt = (60*60*$DauerStd)+(60*$DauerMin)+$DauerSek ; Die Gesamtdauer
    $Befehl = "cmd" ; Der Befehl der ausgeführt werden soll, es kann auch die _toDo() Fuktion angepasst werden

    AdlibRegister("_start",1000) ; Timer aktivieren

    ; Endlosschleife
    While 1
    Sleep(250) ; CPU Last senken
    WEnd

    ; Funktion die vom Timer genutzt wird
    Func _start()
    ToolTip("Restzeit: " & _Sek2StdMinSek($DauerGesammt),0,0,$titel,1) ; Ausgabe der Information
    If $DauerGesammt = 0 Then _toDo() ; Wenn Dauer bei Null, die _toDo() Funktion aufrufen
    $DauerGesammt = $DauerGesammt - 1 ; Immer den Wert 1 von der Dauer abziehen
    EndFunc

    ; Funktion, welche ausgefürht wird, wenn die Zeit um ist
    Func _toDo()
    AdlibUnRegister("_start") ; Timer beenden
    run($Befehl) ; Befehl ausführen, in diesem Beispiel CMD
    Exit ; Skript beenden
    EndFunc

    ; Funktion zum umrechnen von Sekunden in Stunden, Minuten, Sekunden
    Func _Sek2StdMinSek($value)
    ; Hier eine kleine Auswahl von Formaten, diese bitte bei dem Return Befehl mit angeben.
    $format1 = "%02d:%02d:%02d"
    $format2 = "%02d:%02d"
    $format3 = "%02d Std. %02d Min. %02d Sek."
    $format4 = "%02d Std. %02d Min."

    $std = Floor($value / (60*60)) ; Berechnung der Stunden
    $value = $value - ((60*60) * $std) ; Berechnung des Restwertes der Sekunden
    $min = Floor($value / (60)) ; Berechnung der Minuten
    $sek = $value - ((60) * $min) ; Rest Sekunden

    Return StringFormat($format1,$std,$min,$sek) ; Rückgabe des formatierten Strings
    EndFunc


    Ich weiss das es alles etwas verwirrend klingt und auch gleich viel Text auf einmal ist, aber nichts desto trotz hoffe ich, das ihr mir helfen könnt und werdet. Ich bin für jede Hilfe Dankbar.

    Mfg Ghostleader

    Ps: Sind Fragen oder was unklar, so einfach Fragen stellen.

  • Ich hab mal ein wenig angefangen. Vieleicht bringt dich das ja schon weiter. Mir fehlt momentan etwas die Zeit.

    Spoiler anzeigen
    [autoit]

    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <ListviewConstants.au3>
    #include <EditConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    #region Global
    Global $Listview
    Global $ID_next = 0
    Global Const $INI_PATH = @ScriptDir & '\Database\StaedteHandelstool.ini'
    #endregion Global

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

    If Not FileExists($INI_PATH) Then
    MsgBox(0, "", "Datenbank nicht gefunden")
    Exit
    EndIf

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

    #region Gui

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

    $Form1 = GUICreate("WarenHandelsTool", 520, 420, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    #endregion Gui

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

    #region Combos Stadtauswahl
    Dim $aCombo[20]
    $iLeft = 20
    $iTop = 25
    $iWidth = 95
    $iHeight = 25
    $sStyle = BitOR($CBS_SORT, $CBS_AUTOHSCROLL, $CBS_DROPDOWNLIST, $WS_VSCROLL)
    $aCities = IniReadSectionNames($INI_PATH)
    For $i = 0 To 9
    $aCombo[$i] = GUICtrlCreateCombo("", $iLeft, $iTop, $iWidth, $iHeight, $sStyle)
    GUICtrlSetOnEvent(-1, "_comboHandler")
    For $j = 1 To $aCities[0]
    GUICtrlSetData(-1, $aCities[$j], $aCities[1])
    Next
    $iTop += 32
    Next
    $iLeft = 365
    $iTop = 25
    For $i = 10 To 19
    $aCombo[$i] = GUICtrlCreateCombo("", $iLeft, $iTop, $iWidth, $iHeight, $sStyle)
    GUICtrlSetOnEvent(-1, "_comboHandler")
    For $j = 1 To $aCities[0]
    GUICtrlSetData(-1, $aCities[$j], $aCities[1])
    Next
    $iTop += 32
    Next
    #endregion Combos Stadtauswahl

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

    #region Combo Warensuche
    $Combo21 = GUICtrlCreateCombo("Ware auswählen Stadt anzeigen", 20, 350, 190, 25, BitOR($CBS_SORT, $CBS_AUTOHSCROLL, $CBS_DROPDOWNLIST, $WS_VSCROLL))
    #endregion Combo Warensuche

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

    #region Warenausgabe Labels

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

    Dim $aLabel[10]
    $iLeft = 130
    $iTop = 25
    $iWidth = 120
    $iHeight = 17
    $sStyle = $SS_CENTER
    For $i = 0 To 4
    $aLabel[$i] = GUICtrlCreateLabel("", $iLeft, $iTop, $iWidth, $iHeight, $sStyle)
    GUICtrlSetFont(-1, 12, "Arial Black")
    GUICtrlSetState(-1, $GUI_HIDE)
    $iTop += 32
    Next
    $iTop = 200
    For $i = 5 To 9
    $aLabel[$i] = GUICtrlCreateLabel("Handels Buff Aufbau", $iLeft, $iTop, $iWidth, $iHeight, $sStyle)
    GUICtrlSetFont(-1, 12, "Arial Black")
    GUICtrlSetState(-1, $GUI_HIDE)
    $iTop += 32
    Next
    #endregion Warenausgabe Labels

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

    #region Überschrift / Warensuche Labels
    $Labelueberschrift = GUICtrlCreateLabel("Handels Buff Aufbau", 165, 3, 150, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 12, "Arial Black")
    $LabelWarensuche = GUICtrlCreateLabel("Test", 30, 380, 160, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 11, "Arial Black")
    #endregion Überschrift / Warensuche Labels

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

    #region Labels Timer
    $LabelTimerStunde = GUICtrlCreateLabel("00", 300, 380, 50, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 11, "Arial Black")
    $LabelTimerMinute = GUICtrlCreateLabel("00", 350, 380, 50, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 11, "Arial Black")
    $LabelTimerSekunde = GUICtrlCreateLabel("00", 400, 380, 50, 17, $SS_CENTER)
    GUICtrlSetFont(-1, 11, "Arial Black")
    #endregion Labels Timer

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

    #region Listviev´s
    $hListView = GUICtrlCreateListView("Waren in der Stadt", 130, 105, 220, 150, $LVS_SORTASCENDING)
    $Menue_ListView = GUICtrlCreateContextMenu($hListView)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 215)
    _GUICtrlListView_RegisterSortCallBack($hListView)
    GUICtrlSetState($hListView, $GUI_SHOW)
    #endregion Listviev´s

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

    #region Button Start / Reset
    $Button1 = GUICtrlCreateButton("Timer Start", 300, 353, 70, 20)
    $Button2 = GUICtrlCreateButton("Timer Reset", 380, 353, 70, 20)
    #endregion Button Start / Reset

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

    GUISetState(@SW_SHOW)
    _loadListview($aCombo[1])

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

    #region Functionen
    Func _comboHandler()
    _loadListview(@GUI_CtrlId)
    EndFunc ;==>_comboHandler

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

    Func _loadListview($iCombo)
    $sCity = GUICtrlRead($iCombo, 0)
    $aWare = IniReadSection($INI_PATH, $sCity)
    If Not @error Then
    _GUICtrlListView_BeginUpdate($hListView)
    _GUICtrlListView_DeleteAllItems($hListView)
    For $i = 1 To $aWare[0][0]
    _GUICtrlListView_AddItem($hListView, $aWare[$i][1])
    Next
    _GUICtrlListView_EndUpdate($hListView)
    EndIf
    EndFunc ;==>_loadListview

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

    Func _exit()
    Exit
    EndFunc ;==>_exit
    #endregion Functionen

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

    While 1
    Sleep(100)
    WEnd

    [/autoit]
    • OnEventMode benutzt
    • Combos und Labels in Arrays gelegt
    • Ini-Pfad konstant
    • Listview befüllt sich durch Combo Aktion (ini-komforme key = value Paare müssen in der Datei noch erstellt werden)