[gelöst] Variable als String in eine EditBox schreiben

  • Hey Leute,

    ich bin neu im Forum und ein Frischling was AutoIt betrifft. :)

    mein Vorhaben ist Werte die in zwei Input Felderder, einem Label und einem Droptdown Menü und ein stehen in eine Edit Box zu schreiben.
    Wenn die Werte eingetragen sind, klicke ich auf den Hinzufügen Button. In dem Edit Feld wirden andere Werte reingeschrieben.
    Ich vermute das ich die Eingetragenden Werte noch formatieren muss. Hab aber noch nicht rausgefunden wie das funktiniert.

    Die Eingabe erfolg in den Codezeilen 37 - 41.

    Eingabe Zeile 37: Hallo
    Eingabe Zeile 38: 30,00
    Label Zeile 39: €
    Dopwdown Feld Zeile 40: Monatlich

    Ausgabe:
    1112 €14

    Wie bekomme ich es hin, das alle Werte so in die Edit Box geschrieben werden wie sie eingetragen sind?
    Hier kommt der Code:

    [autoit]


    ; Bibliotheken einbinden
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIEdit.au3>
    #include <string.au3>

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

    ; Variable werden definiert
    $abbuchung = "Monatlich"
    $abbuchung1 = "jeden 2. Monat|jeden 3. Monat|jeden halbe Jahr|jährlich"
    $add = "Hinzufügen"
    $Eur = " €"
    $font = "Arial"
    $ver = "1.0"

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

    $Form1 = GUICreate("Haushaltsbuch" & " " & $ver, 757, 559, 192, 114)
    GUISetFont(16, 400 , 4, $font)
    $Ueberschrift = GUICtrlCreateLabel("Haushaltsbuch" & " " & $ver, 256, 24, 1700, 25)
    GUISetFont(10, 400, $font)
    $Ausgaben = GUICtrlCreateButton("Ausgaben", 16, 112, 89, 25)
    $Einnahmen = GUICtrlCreateButton("Einnahmen", 16, 144, 89, 25)
    $Statistik = GUICtrlCreateButton("Statistik", 16, 176, 89, 25)

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

    $Body = GUICtrlCreateGroup("Body", 120, 64, 625, 450)
    GUICtrlCreateLabel("Name",275, 85, 100, 25)
    GUICtrlCreateLabel("Betrag", 365, 85, 100, 25)
    $Versichungen = GUICtrlCreateLabel("Versicherungen:", 128, 110, 100, 17)
    $VersicherungenInput = GUICtrlCreateInput("", 230, 110, 121, 21)
    $VersichunergenBetrag = GUICtrlCreateInput("", 360, 110, 45, 21)
    GUICtrlCreateLabel("€", 410, 110, 25, 21)
    $VersicherungenAbbuchung = GUICtrlCreateCombo($abbuchung, 430, 110, 100, 21)
    GUICtrlSetData(-1, $abbuchung1, $abbuchung)
    $VHinzufuegen = GUICtrlCreateButton($add, 540, 110, 90, 21)
    $VersichungenEdit = GUICtrlCreateEdit("", 128,150, 500,100)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateButton("Speichern", 675, 525, 70, 25)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $VHinzufuegen
    $VEdit = StringFormat($VersicherungenInput & $VersichunergenBetrag & $Eur & $VersicherungenAbbuchung)
    $VHEdit = GUICtrlGetHandle($VersichungenEdit)
    _GUICtrlEdit_AppendText($VHEdit, $VEdit & @CRLF)

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

    EndSwitch
    WEnd

    [/autoit]

    Danke schon mal für eure Hilfe

    Gruß

    0cool

    Gut das fragen nichts kostet :)

    Einmal editiert, zuletzt von 0cool (23. Juni 2012 um 16:35)

    • Offizieller Beitrag

    Dein Fehler kommt daher, das du in das Edit die ControlId anstatt den Inhalt der Edits reinschreibst.
    Schau dir mal in der Hilfe GUICtrlRead an.
    Ausserdem benutzt du StringFormat falsch.

    Spoiler anzeigen
    [autoit]

    #include <WindowsConstants.au3>
    #include <GUIEdit.au3>
    #include <string.au3>

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

    ; Variable werden definiert
    $abbuchung = "Monatlich"
    $abbuchung1 = "jeden 2. Monat|jeden 3. Monat|jeden halbe Jahr|jährlich"
    $add = "Hinzufügen"
    $Eur = " €"
    $font = "Arial"
    $ver = "1.0"

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

    $Form1 = GUICreate("Haushaltsbuch" & " " & $ver, 757, 559, 192, 114)
    GUISetFont(16, 400 , 4, $font)
    $Ueberschrift = GUICtrlCreateLabel("Haushaltsbuch" & " " & $ver, 256, 24, 1700, 25)
    GUISetFont(10, 400, $font)
    $Ausgaben = GUICtrlCreateButton("Ausgaben", 16, 112, 89, 25)
    $Einnahmen = GUICtrlCreateButton("Einnahmen", 16, 144, 89, 25)
    $Statistik = GUICtrlCreateButton("Statistik", 16, 176, 89, 25)

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

    $Body = GUICtrlCreateGroup("Body", 120, 64, 625, 450)
    GUICtrlCreateLabel("Name",275, 85, 100, 25)
    GUICtrlCreateLabel("Betrag", 365, 85, 100, 25)
    $Versichungen = GUICtrlCreateLabel("Versicherungen:", 128, 110, 100, 17)
    $VersicherungenInput = GUICtrlCreateInput("", 230, 110, 121, 21)
    $VersichunergenBetrag = GUICtrlCreateInput("", 360, 110, 45, 21)
    GUICtrlCreateLabel("€", 410, 110, 25, 21)
    $VersicherungenAbbuchung = GUICtrlCreateCombo($abbuchung, 430, 110, 100, 21)
    GUICtrlSetData(-1, $abbuchung1, $abbuchung)
    $VHinzufuegen = GUICtrlCreateButton($add, 540, 110, 90, 21)
    $VersichungenEdit = GUICtrlCreateEdit("", 128,150, 500,100)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateButton("Speichern", 675, 525, 70, 25)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $VHinzufuegen
    $VEdit = GUICtrlRead($VersicherungenInput )&" "&GUICtrlRead($VersichunergenBetrag) & $Eur &" "& GUICtrlRead($VersicherungenAbbuchung)
    $VHEdit = GUICtrlGetHandle($VersichungenEdit)
    _GUICtrlEdit_AppendText($VHEdit, $VEdit & @CRLF)

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

    EndSwitch
    WEnd

    [/autoit]
  • Raupi : Danke für deine Hilfe, ich mein Code sieht jetzt so aus.

    [autoit]


    ; Skrit-Name: Haushaltsbuch.exe
    ; Ersteller: Thorsten Zelt
    ; Erstellt am: 22.06.2012
    ; Fuunktion: Erfassung der Einahmen und Ausgabe im Haushalt
    ; #########################################################

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

    ; Bibliotheken einbinden
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIEdit.au3>
    #include <string.au3>

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

    ; Variable werden definiert
    $abbuchung = "Monatlich"
    $abbuchung1 = "jeden 2. Monat|jeden 3. Monat|jeden halbe Jahr|jährlich"
    $versicherung = ""
    $versicherung1 = "VDVA|BKK Pfalz|inter|Volkswohlbund|LV|DEVK"
    $add = "Hinzufügen"
    $Eur = " €"
    $font = "Arial"
    $ver = "1.0"

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

    ; Anfang der GUI
    $Form1 = GUICreate("Haushaltsbuch" & " " & $ver, 770, 559, 192, 114)
    GUISetFont(16, 400 , 4, $font)
    $Ueberschrift = GUICtrlCreateLabel("Haushaltsbuch" & " " & $ver, 256, 24, 1700, 25)
    GUISetFont(10, 400, $font)
    $Ausgaben = GUICtrlCreateButton("Ausgaben", 16, 112, 89, 25)
    $Einnahmen = GUICtrlCreateButton("Einnahmen", 16, 144, 89, 25)
    $Statistik = GUICtrlCreateButton("Statistik", 16, 176, 89, 25)

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

    $Body = GUICtrlCreateGroup("Body", 120, 64, 640, 450)
    GUICtrlCreateLabel("Name",270, 85, 100, 25)
    GUICtrlCreateLabel("Versicherungs-NR", 360, 85, 115, 25)
    GUICtrlCreateLabel("Betrag", 490, 85, 100, 25)
    $Versichungen = GUICtrlCreateLabel("Versicherungen:", 128, 107, 100, 17)
    $VersicherungenInput = GUICtrlCreateCombo($versicherung, 225, 105, 121, 21)
    GUICtrlSetData(-1, $versicherung1, $versicherung)
    $VersicherungsNR = GUICtrlCreateInput("", 353, 105, 121, 24)
    $VersichunergenBetrag = GUICtrlCreateInput("00,00", 480, 105, 55, 24)
    GUICtrlSetLimit($VersichunergenBetrag, 6, 4)
    GUICtrlCreateLabel("€", 540, 107, 7, 21)
    $VersicherungenAbbuchung = GUICtrlCreateCombo($abbuchung, 555, 105, 100, 21)
    GUICtrlSetData(-1, $abbuchung1, $abbuchung)
    $VHinzufuegen = GUICtrlCreateButton($add, 662, 105, 90, 24)
    $VersichungenEdit = GUICtrlCreateEdit("", 128,135, 527,100)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateButton("Speichern", 690, 525, 70, 25)
    GUISetState(@SW_SHOW)
    ; Ende der GUI

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

    ; In der While Schleife werden Aktionen ausgeführt
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $VHinzufuegen
    Local $VEdit = GUICtrlRead($VersicherungenInput)
    Local $VNR = GUICtrlRead($VersicherungsNR)
    Local $VBetrag = GUICtrlRead($VersichunergenBetrag)
    Local $VAbbuchung = GUICtrlRead($VersicherungenAbbuchung)

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

    ; Es wird geprüft ob in das Input Feld $VBetrag wirklich ein Betrag eingetragen wurde

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

    $VHEdit = GUICtrlGetHandle($VersichungenEdit)
    _GUICtrlEdit_AppendText($VHEdit, $VEdit & " " & $VNR & " " & $VBetrag & $Eur & " " & $VAbbuchung & @CRLF)

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

    EndSwitch
    WEnd

    [/autoit]

    Ich hab schon weiter geschrieben aber so funktionierts.

    Gruß und danke

    0cool

    Gut das fragen nichts kostet :)