Daten speichern in einer versteckten Editbox?

  • Hallo,

    ich schreibe gerade so ein Tool, bei dem bestimmte Daten, welche der User eingibt erst später aufgerufen werden sollen und ich sie solange speichern muss.
    Was würdet ihr da empfehlen? Eine versteckte Editbox, wo die Daten hinzugefügt werden und sie später aufgerufen werden? Eine Textdatei möchte ich dafür nicht verwenden.

  • Und wie soll ich den Kramms nachher wieder aufrufen?
    Eine Inputbox hilft mir da auch nicht weiter.
    Ich möchte es so einfach wie möglich haben, gibt es soetwas wie eine Zwischenablage wie eine Editbox, wo ich Daten speichern kann?
    Ich meine ich könnte auch neue Varriablen ständig hinzufügen und diese dann Werten zuweisen und sie später wieder aufrufen, aber denke mal, dass es mit einer Zwischenablage einfacherer wäre.

  • 1. eine Variable IST eine Zwischenablage.
    2. Eine Textdatei erstellen und diese vergrypten das keiner an den Inhalt kommt.
    3.Eine Editbox erstellen und die Sichtbarkeit auf false stellen.

    mfg, Stoani

  • Die Eingabe aus der InputBox() wird in der Variable $eingabe gespeichert. SOlange dein Programm läuft und du $eingabe keinen anderen Wert zuweist, wird das auch so bleiben.

    Vlt. würde ein Beispielskript deinerseits helfen, dein Problem damit zu verstehen.

  • Ja, aber es können unendlich viele Werte auf die Variable zukommen.

    Meine Überlegung waren :

    Entweder 1. In einer Textdatei speichern und so wieder aufrufen.
    2. In einer versteckten Edit Box speichern und dann wieder aufrufen.
    3. Eine Variable zu erstellen mit einer Countschleife und welche sich automatisch vergrößert und später werden dann die Arrays einzeln wiedergegeben , wo ich dazu ja die Countschleife gebrauchen kann. <<<< Hätte dafür jemand ein Beispiel?

  • Meinst du sowas?

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <GuiEdit.au3>

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

    $mGUI = GUICreate("TestGUI", 205, 172, 276, 367)
    $Edit_1 = GUICtrlCreateEdit("", 8, 8, 185, 89, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetState(-1, $GUI_HIDE)
    $get = GUICtrlCreateButton("Einfügen", 8, 104, 75, 25)
    $Input1 = GUICtrlCreateInput("Input1", 16, 136, 177, 21)
    $hide = GUICtrlCreateButton("Hide", 88, 104, 51, 25)
    $show = GUICtrlCreateButton("Show", 144, 104, 51, 25)
    GUISetState(@SW_SHOW)

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

    $hEdit = GUICtrlGetHandle($Edit_1)

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

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

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

    Case $get
    $read = GUICtrlRead($Input1)
    _GUICtrlEdit_AppendText($hEdit,$read&@CRLF)
    Case $hide
    GUICtrlSetState($Edit_1, $GUI_HIDE)
    Case $show
    GUICtrlSetState($Edit_1, $GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]


    Was hast du denn mit den Werten vor? Willst du sie dir nur ansehen oder willst du sie weiterverarbeiten? xD

    mfg, Stoani

  • Also zu meinem Script :

    Es werden mehrere Daten in 4 verschiedene Inputboxen eingegeben und über einen Button werden diese ausgelesen und sollen irgendwo zwischengespeichert werden.
    Über einen anderen Button, der aktiviert wird, wird die GUI Größe verändert und es kommen 4 Listviews mit Überschriften hinzu, wohin die Eingaben eingeordnet werden.

    Ansonsten könnte ich auch die Listview verstecken und sie später neu positionieren, aber bei mir erscheint sie später nicht mehr, wenn ich sie auf $GUI_SHOW setze und sie davor neu positioniere.

  • $GUI_ENABLE

    Dann schieb doch den Inhalt der 4 Inputboxen einfach in 4 Variablen und gut ist. Den Inhalt zerpflückst du dann (muss ja wohl irgendein Muster geben) und trägst sie in deine neu erstellte Listview ein. Fertig! Wenn du sie dann mal wieder brauchst, lies sie halt aus der Listview aus.

    Das Problem hat sich mir immernoch nicht wirklich erschliessen wollen.

  • Kannst du bitte einfach dein Skript posten? Ich hab keine Lust darauf 9 Skripte zu schreiben die nur vielleicht passen...

    Es nimmt dir schon keiner weg.

    mfg, Stoani

  • Etwa so:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 265, 233, 276, 367)
    $get = GUICtrlCreateButton("Einfügen", 8, 8, 75, 25)
    $Ipb1 = GUICtrlCreateInput("Text1", 8, 40, 105, 21)
    $hide = GUICtrlCreateButton("Hide", 120, 8, 51, 25)
    $show = GUICtrlCreateButton("Show", 208, 8, 51, 25)
    $LV = GUICtrlCreateListView("Spalte1|Spalte2", 8, 72, 250, 150)
    $Ipb2 = GUICtrlCreateInput("Text2", 160, 40, 97, 21)
    GUISetState(@SW_SHOW)

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

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

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

    Case $get
    $read1 = GUICtrlRead($Ipb1)
    $read2 = GUICtrlRead($Ipb2)
    GUICtrlCreateListViewItem($read1&"|"&$read2,$LV)
    Case $hide
    GUICtrlSetState($LV, $GUI_HIDE)
    Case $show
    GUICtrlSetState($LV, $GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]


    oder so?

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>

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

    $Form1 = GUICreate("Form1", 439, 444, 276, 367)
    $get = GUICtrlCreateButton("Einfügen", 264, 200, 171, 25)

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

    $hide = GUICtrlCreateButton("Hide", 264, 400, 35, 25)
    $show = GUICtrlCreateButton("Show", 264, 368, 35, 25)
    $LV = GUICtrlCreateListView("Spalte1|Spalte2|Spalte3|Spalte4|Spalte5|Spalte6|Spalte7|Spalte8", 8, 8, 250, 422)
    $ipb1 = GUICtrlCreateInput("1", 264, 8, 169, 21)
    $ipb2 = GUICtrlCreateInput("2", 264, 32, 169, 21)
    $ipb3 = GUICtrlCreateInput("3", 264, 56, 169, 21)
    $ipb4 = GUICtrlCreateInput("4", 264, 80, 169, 21)
    $ipb5 = GUICtrlCreateInput("5", 264, 104, 169, 21)
    $ipb6 = GUICtrlCreateInput("6", 264, 128, 169, 21)
    $ipb7 = GUICtrlCreateInput("7", 264, 152, 169, 21)
    $ipb8 = GUICtrlCreateInput("8", 264, 176, 169, 21)

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

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

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

    Case $get
    $read1 = GUICtrlRead($Ipb1)
    $read2 = GUICtrlRead($Ipb2)
    $read3 = GUICtrlRead($Ipb3)
    $read4 = GUICtrlRead($Ipb4)
    $read5 = GUICtrlRead($Ipb5)
    $read6 = GUICtrlRead($Ipb6)
    $read7 = GUICtrlRead($Ipb7)
    $read8 = GUICtrlRead($Ipb8)
    GUICtrlCreateListViewItem($read1&"|"&$read2&"|"&$read3&"|"&$read4&"|"&$read5&"|"&$read6&"|"&$read7&"|"&$read8,$LV)
    Case $hide
    GUICtrlSetState($LV, $GUI_HIDE)
    Case $show
    GUICtrlSetState($LV, $GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]

    mfg, Stoani

    Einmal editiert, zuletzt von Stoani (11. Januar 2012 um 01:07)

  • Beispielscript :

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <GuiListView.au3>
    Opt("GUIResizeMode",$GUI_DOCKALL)
    $Form1 = GUICreate("Form1", 398, 199, 192, 124)
    $Itemname = GUICtrlCreateLabel("Irgendetwas", 8, 8, 50, 17)
    $Input1 = GUICtrlCreateInput("", 72, 8, 225, 21)
    $Auslesen = GUICtrlCreateButton("Auslesen", 312, 8, 75, 25)
    $Zuletztausgelesene = GUICtrlCreateLabel("Test :", 8, 64, 96, 17)
    $ListView1 = GUICtrlCreateListView("Test |Test", 112, 56, 250, 54)
    $Showall = GUICtrlCreateButton("Show", 312, 160, 75, 25)
    $DieValvuevoneeee = GUICtrlCreateLabel("Test", 8, 120, 375, 17)
    $List1 = GUICtrlCreateListView("eee", 8, 152, 66, 14, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE,$LVS_EX_CHECKBOXES))
    GUICtrlSetState($List1,$GUI_HIDE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Showall
    WinMove("Form1", "", 192, 124, 398, 413)
    $Test = GUICtrlCreateLabel("Testüberschrift", 16, 208, 34, 17)
    $List1 = GUICtrlSetPos($List1, 17, 232, 250, 150)
    GUICtrlSetState($List1,$GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]

    Problem : Wenn ich auf "Show" drücke, dann sollte das eine ListviewItem in der einen Position sichtbar werden. Wird es aber nicht.
    Weiß jemand warum?

  • Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <GuiListView.au3>

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

    Opt("GUIResizeMode",$GUI_DOCKALL)
    $Form1 = GUICreate("Form1", 300, 171, 656, 147)
    $Input1 = GUICtrlCreateInput("", 8, 8, 121, 21)
    $Auslesen = GUICtrlCreateButton("Read", 136, 8, 75, 25)
    $ListView1 = GUICtrlCreateListView("", 8, 40, 210, 46)
    $List1 = GUICtrlCreateListView("", 8, 104, 210, 54, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE,$LVS_EX_CHECKBOXES))
    $Showall = GUICtrlCreateButton("Show", 216, 8, 75, 25)
    GUISetState(@SW_SHOW)
    GUICtrlSetState($List1,$GUI_HIDE)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Showall
    GUICtrlSetState($List1,$GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]

    schau dir hier mal die auskommentierte Zeile(29) an:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <GuiListView.au3>
    Opt("GUIResizeMode",$GUI_DOCKALL)
    $Form1 = GUICreate("Form1", 398, 199, 192, 124)
    $Itemname = GUICtrlCreateLabel("Irgendetwas", 8, 8, 50, 17)
    $Input1 = GUICtrlCreateInput("", 72, 8, 225, 21)
    $Auslesen = GUICtrlCreateButton("Auslesen", 312, 8, 75, 25)
    $Zuletztausgelesene = GUICtrlCreateLabel("Test :", 8, 64, 96, 17)
    $ListView1 = GUICtrlCreateListView("Test |Test", 112, 56, 250, 54)
    $Showall = GUICtrlCreateButton("Show", 312, 160, 75, 25)
    $DieValvuevoneeee = GUICtrlCreateLabel("Test", 8, 120, 375, 17)
    $List1 = GUICtrlCreateListView("eee", 8, 152, 66, 14, BitOR($WS_EX_CLIENTEDGE,$WS_EX_STATICEDGE,$LVS_EX_CHECKBOXES))
    GUICtrlSetState($List1,$GUI_HIDE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Showall
    WinMove("Form1", "", 192, 124, 398, 413)
    $Test = GUICtrlCreateLabel("Testüberschrift", 16, 208, 34, 17)
    ;~ $List1 = GUICtrlSetPos($List1, 17, 232, 250, 150)
    GUICtrlSetState($List1,$GUI_SHOW)
    EndSwitch
    WEnd

    [/autoit]

    mfg, Stoani

    3 Mal editiert, zuletzt von Stoani (11. Januar 2012 um 01:37)