Input in Ini und Automatisches Zählen

  • Hallo Com :)

    Ich habe 3 Input Boxen.

    Die erste Input Box soll immer Mitzählen von alleine. Also 1 Eintrag 2 Eintrag 3 Eintrag.

    Bei der 2 Möchte ich einen Namen setzen.

    Bei der 3 Eine Zahl.

    Also zum Beispiel

    1 Diamanten 23
    2 Holz 34


    Hoffe ihr versteht was ich meine :love:

    MfG
    Goldy

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]
    • Offizieller Beitrag

    Wo ist dein Script?
    Laut Überschrift willst du Input in INI, beschreibst aber nicht was, wann und wo gespeichert werden soll.

  • Ich möchte das es in der Ini wie Folgt aussieht:


    ID//////////////NAME/////////////////ANZAHL
    1 Diamanten 1000
    2 usw usw
    3 usw usw
    4
    5
    6
    7
    8
    9
    10


    Die IDS sollen Automatisch hinzugefügt werden

    Namen und Anzahl möchte ich Selber eintragen.

    Sollte man das die Eingaben speichern Ohne das etwas in Input 2 und 3 steht soll auch keine ID erstell werden.

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]
    • Offizieller Beitrag

    Sehr schön, wo ist aber dein Script? Was hast du selbst geleistet und versucht?
    Hier ist das H&U Forum und nicht das hol mir mal den Arm aus der Sonne Forum.

  • [autoit]

    $Hinzufuegen = GUICreate("Test", 508, 146, 366, 413)
    $Input1 = GUICtrlCreateInput("ID", 16, 72, 121, 21)
    $Input2 = GUICtrlCreateInput("Name", 192, 72, 121, 21)
    $Input3 = GUICtrlCreateInput("Stückzahl", 368, 72, 121, 21)
    $Artikel = GUICtrlCreateLabel("ID", 16, 48, 58, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Name = GUICtrlCreateLabel("Name", 192, 48, 36, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Label1 = GUICtrlCreateLabel("Stückzahl", 368, 48, 61, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Titel = GUICtrlCreateLabel("Hinzufügen", 184, 16, 128, 22)
    GUICtrlSetFont(-1, 10, 800, 0, "@Arial Unicode MS")
    $Button1 = GUICtrlCreateButton("Speichern", 208, 104, 75, 25)
    GUICtrlSetFont(-1, 9, 800, 0, "@Arial Unicode MS")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GuiSetState(@SW_Hide,$Hinzufuegen)
    GuiSetState(@SW_SHOW,_Start())
    Exit

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

    Case $Button1
    $Input1Save = GUICtrlRead($Input1)
    $Input2Save = GUICtrlRead($Input2)
    $Input3Save = GUICtrlRead($Input3)
    IniWrite ( "system.ini", "ID", "", $Input1Save )
    IniWrite ( "system.ini", "Name", "", $Input2Save )
    IniWrite ( "system.ini", "Stückzahl", "", $Input3Save )
    MsgBox(64,"Minen-Tabelle","Artikel wurde erfolgreich hinzugefügt")
    GuiSetState(@SW_Hide,$Hinzufuegen)
    GuiSetState(@SW_SHOW,_Start())

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

    EndSwitch
    WEnd

    [/autoit]


    Jetzt speichert alles in der INI, aber alles was vorher Stand wird wieder überschrieben.

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]

    Einmal editiert, zuletzt von Goldy (5. Januar 2015 um 02:02)

  • Hier mal Quick & Dirty:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstants.au3>

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

    $Hinzufuegen = GUICreate("Test", 508, 146, 366, 413)
    $Input1 = GUICtrlCreateInput("1", 16, 72, 121, 21, $ES_READONLY) ; Style hinzugefügt da ja nur hochgezählt werden soll...
    $Input2 = GUICtrlCreateInput("Name", 192, 72, 121, 21)
    $Input3 = GUICtrlCreateInput("Stückzahl", 368, 72, 121, 21)
    $Artikel = GUICtrlCreateLabel("ID", 16, 48, 58, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Name = GUICtrlCreateLabel("Name", 192, 48, 36, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Label1 = GUICtrlCreateLabel("Stückzahl", 368, 48, 61, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Titel = GUICtrlCreateLabel("Hinzufügen", 184, 16, 128, 22)
    GUICtrlSetFont(-1, 10, 800, 0, "@Arial Unicode MS")
    $Button1 = GUICtrlCreateButton("Speichern", 208, 104, 75, 25)
    GUICtrlSetFont(-1, 9, 800, 0, "@Arial Unicode MS")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ;~ GuiSetState(@SW_Hide,$Hinzufuegen)
    ;~ GuiSetState(@SW_SHOW,_Start())
    Exit

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

    Case $Button1
    $Input1Save = GUICtrlRead($Input1)
    $Input2Save = GUICtrlRead($Input2)
    $Input3Save = GUICtrlRead($Input3)

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

    If $Input2Save And $Input3Save Then
    ; Die ID wird als Section angegeben:
    ;~ IniWrite ( "system.ini", "ID", "", $Input1Save )
    IniWrite ( "system.ini", "ID " & $Input1Save, "Name", $Input2Save )
    IniWrite ( "system.ini", "ID " & $Input1Save, "Stückzahl", $Input3Save )
    MsgBox(64,"MHS-Medizintechnik","Artikel wurde erfolgreich hinzugefügt")
    GUICtrlSetData($Input1, $Input1Save +1)
    EndIf

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

    ;~ GuiSetState(@SW_Hide,$Hinzufuegen)
    ;~ GuiSetState(@SW_SHOW,_Start())

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

    EndSwitch
    WEnd

    [/autoit]

    Die ID-Angabe wird als Sektion genutzt. So kannst du die Items später über die ID wieder ausgeben lassen. Zudem kannst du die INI-File einfach anhand der ID durchlaufen und nach dem "Name" oder "Stückzahl" suchen. Was immer dein Herz begehrt.

  • Das Funktioniert super, nur wenn das Programm neu gestartet wird, ist der Zähler wieder bei 1 :(

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]
  • Jetzt nicht mehr :D

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstants.au3>

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

    $Hinzufuegen = GUICreate("Test", 508, 146, 366, 413)
    ; Von der INI die Anfangsposition ziehen :D
    $Input1 = GUICtrlCreateInput(IniRead("system.ini", "POS", "ID", "1"), 16, 72, 121, 21, $ES_READONLY) ; Style hinzugefügt da ja nur hochgezählt werden soll...
    $Input2 = GUICtrlCreateInput("Name", 192, 72, 121, 21)
    $Input3 = GUICtrlCreateInput("Stückzahl", 368, 72, 121, 21)
    $Artikel = GUICtrlCreateLabel("ID", 16, 48, 58, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Name = GUICtrlCreateLabel("Name", 192, 48, 36, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Label1 = GUICtrlCreateLabel("Stückzahl", 368, 48, 61, 19)
    GUICtrlSetFont(-1, 8, 800, 0, "@Arial Unicode MS")
    $Titel = GUICtrlCreateLabel("Hinzufügen", 184, 16, 128, 22)
    GUICtrlSetFont(-1, 10, 800, 0, "@Arial Unicode MS")
    $Button1 = GUICtrlCreateButton("Speichern", 208, 104, 75, 25)
    GUICtrlSetFont(-1, 9, 800, 0, "@Arial Unicode MS")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    ;~ GuiSetState(@SW_Hide,$Hinzufuegen)
    ;~ GuiSetState(@SW_SHOW,_Start())
    Exit

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

    Case $Button1
    $Input1Save = GUICtrlRead($Input1)
    $Input2Save = GUICtrlRead($Input2)
    $Input3Save = GUICtrlRead($Input3)

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

    If $Input2Save And $Input3Save Then
    ; Die ID wird als Section angegeben:
    ;~ IniWrite ( "system.ini", "ID", "", $Input1Save )
    IniWrite ( "system.ini", "POS", "ID", $Input1Save +1) ; Die Position hochzählen...
    IniWrite ( "system.ini", "ID " & $Input1Save, "Name", $Input2Save )
    IniWrite ( "system.ini", "ID " & $Input1Save, "Stückzahl", $Input3Save )
    MsgBox(64,"MHS-Medizintechnik","Artikel wurde erfolgreich hinzugefügt")
    GUICtrlSetData($Input1, $Input1Save +1)
    EndIf

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

    ;~ GuiSetState(@SW_Hide,$Hinzufuegen)
    ;~ GuiSetState(@SW_SHOW,_Start())

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

    EndSwitch
    WEnd

    [/autoit]


    Du kannst INI Dateien auch auslesen, so ist dass ja nicht ^^

  • So klappt das super! :D

    Meine Projekte :

    Taschenrechner [X]
    JamLegend Auto-Player [Canceld]
    Launcher [X]
    Multi-Game-Quest-Viewer [Canceld]


    [autoit]

    If $goffy or not $brain Then $DeleteInetCable

    [/autoit]