Text in Dateien schreiben und hinterher durch Programm, als Prozess im Hintergrund, auslesen.

  • Hi zusammen,

    ich beabsichtige ein kleines Tool zu programmieren mit dem die Möglichkeit besteht, vorgefertigte Texte in einer Datei zu speichern und diese dann per Funktionstasten auszulesen.
    Den Programmablauf hab ich soweit schon zusammen:

    • UI in dem der Benutzer die F-Tasten belegt ( F2 = "Es handelt sich um Ware in gebrauchtem Zustand" )
      Buttons: Speichern, Zurücksetzen
      Drückt man auf speichern soll eben dieser Text in Zusammenhang mit der F2-Taste in einer csv, oder dll, oder watt-weiss-denn-ich-Datei gespeichert werden :D
      Drückt man Zurücksetzen, soll sinnigerweise das Formular zurückgesetzt werden.


    2. Programm das als Prozess im Hintergrund läuft, welches dem Benutzer ermöglicht, wenn er z.B. eine Artikelbeschreibung bei eBay einfügen will, diese via Funktionstaste zu erledigen.

    Nun zur eigentlichen Frage:
    Bisher hab ich`s so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=c:\program files (x86)\autoit3\koda\forms\text-setter.kxf
    $Form1_1 = GUICreate("Text-Set", 562, 321, 215, 130)
    $F2 = GUICtrlCreateLabel("F2", 8, 16, 16, 17)
    $F3 = GUICtrlCreateLabel("F3", 8, 43, 16, 17)
    $F4 = GUICtrlCreateLabel("F4", 8, 70, 16, 17)
    $F5 = GUICtrlCreateLabel("F5", 8, 97, 16, 17)
    $F6 = GUICtrlCreateLabel("F6", 8, 124, 16, 17)
    $F7 = GUICtrlCreateLabel("F7", 8, 150, 16, 17)
    $F8 = GUICtrlCreateLabel("F8", 8, 177, 16, 17)
    $F9 = GUICtrlCreateLabel("F9", 8, 204, 16, 17)
    $F10 = GUICtrlCreateLabel("F10", 8, 231, 22, 17)
    $F11 = GUICtrlCreateLabel("F11", 8, 258, 22, 17)
    $Input1 = GUICtrlCreateInput("Input1", 33, 14, 521, 21)
    $Input2 = GUICtrlCreateInput("Input1", 33, 41, 521, 21)
    $Input3 = GUICtrlCreateInput("Input1", 33, 68, 521, 21)
    $Input4 = GUICtrlCreateInput("Input1", 33, 95, 521, 21)
    $Input5 = GUICtrlCreateInput("Input1", 33, 122, 521, 21)
    $Input6 = GUICtrlCreateInput("Input1", 33, 148, 521, 21)
    $Input7 = GUICtrlCreateInput("Input1", 33, 175, 521, 21)
    $Input8 = GUICtrlCreateInput("Input1", 33, 202, 521, 21)
    $Input9 = GUICtrlCreateInput("Input1", 33, 229, 521, 21)
    $Input10 = GUICtrlCreateInput("Input1", 33, 256, 521, 21)
    $Button1 = GUICtrlCreateButton("Speichern", 488, 288, 67, 25, 0)
    $Button2 = GUICtrlCreateButton("Zurücksetzen", 360, 288, 83, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $File = FileOpen("C:\test\func.txt", 1)
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    $func2 = GUICtrlRead($Input1)
    $func3 = GUICtrlRead($Input2)
    $func4 = GUICtrlRead($Input3)
    $func5 = GUICtrlRead($Input4)
    $func6 = GUICtrlRead($Input5)
    $func7 = GUICtrlRead($Input6)
    $func8 = GUICtrlRead($Input7)
    $func9 = GUICtrlRead($Input8)
    $func10 = GUICtrlRead($Input9)
    $func11 = GUICtrlRead($Input10)

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

    FileWrite($File, $func2 & @CRLF & $func3 & @CRLF & $func4 & @CRLF & $func5 & @CRLF & $func6 & @CRLF & $func7 & @CRLF & $func8 & @CRLF & $func9 & @CRLF & $func10 & @CRLF & $func11)
    EndSwitch
    WEnd

    [/autoit]

    Es werden alle Zeilen in eine Textdatei geschrieben.
    Das ist unglücklich gelöst wie ich finde, da jede Änderung einfach unten drunter geschrieben wird und es dann sicherlich auch zu Problemen beim Auselsen kommen kann oder ?
    Besser wäre es evtl. das Ganze in einer csv-Datei ( Alle Einträge durch Kommata getrennt ), nur da besteht die Gefahr das die Kommata im "Text" ebenfalls als Trennzeichen erkannt werden oder ?
    Welche Art der Speicherung von Text o. Zeichenketten macht in euren Augen am meisten Sinn ?