Prüfen pb Inputbox mit Inhalt gefüllt ist und zusammenrechnen

  • Huhu AutoIT-Gemeinde...

    Ich beabsichtige meinen ersten "Rechner" zu basteln und stosse gerade auf folgende Schwierigkeit...

    Es gibt drei Inputboxen: Stundensatz Privatkunden ($SS_P), Stundensatz Geschäftskunden($SS_GK) und Geplanter Stundenansatz ($SA_G)
    Ich möchte erreichen, das sofern in $SS_P etwas steht, der Inhalt mit $SA_G multipliziert wird, sofern in $SS_GK was steht eben dies mit $SA_G multipliziert wird.
    Wenn in $SS_P und $SS_GK was steht = MsgBox "Bissu verwirrt ? :D"

    Hab mir den Select...Case---endselect kram und auch IF etc.pp. angesehen aber steh wieder Mal total auffer Leitung...

    Wäre toll wenn ihr mir da kurz helfen könntet.

    Danke

    Mike

    Einmal editiert, zuletzt von Mike280399 (29. September 2011 um 23:34)

  • ein Script mit Deinem Ansatz würde echt weiterhelfen.
    Nicht nur uns, sondern auch Dir ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Ubbala... *wühl*

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=c:\program files (x86)\autoit3\koda\forms\rechner.kxf
    $Form1_1 = GUICreate("Angebotsrechner", 658, 625, 237, 137)
    $Group1 = GUICtrlCreateGroup("Wareneinkauf", 8, 16, 537, 161)
    $HEK = GUICtrlCreateLabel("Händler EK", 40, 48, 58, 17)
    $VERSI = GUICtrlCreateLabel("Versicherung", 296, 48, 66, 17)
    $UMW = GUICtrlCreateLabel("Umweltpauschale", 40, 80, 88, 17)
    $VERSA = GUICtrlCreateLabel("Versandkosten", 296, 80, 75, 17)
    $SK = GUICtrlCreateLabel("Sonstige Kosten", 40, 112, 81, 17)
    $MWST = GUICtrlCreateLabel("MwSt. %", 296, 112, 45, 17)
    $MAGE = GUICtrlCreateLabel("Mage %", 40, 144, 42, 17)
    $VK = GUICtrlCreateLabel("Verkaufspreis", 296, 144, 68, 17)
    $HEK_IN = GUICtrlCreateInput("", 192, 48, 65, 21)
    $UMW_IN = GUICtrlCreateInput("", 192, 80, 65, 21)
    $SK_IN = GUICtrlCreateInput("", 192, 112, 65, 21)
    $MAGE_IN = GUICtrlCreateInput("", 192, 144, 65, 21)
    $VERSI_IN = GUICtrlCreateInput("", 448, 48, 65, 21)
    $VERSA_IN = GUICtrlCreateInput("", 448, 80, 65, 21)
    $VK_OUT = GUICtrlCreateLabel("€", 448, 144, 66, 17)
    $MWST_IN = GUICtrlCreateInput("", 448, 112, 65, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Stundenansatz", 8, 192, 537, 129)
    $SS_P = GUICtrlCreateLabel("Stundensatz Privatkunde", 40, 224, 123, 17)
    $SS_G = GUICtrlCreateLabel("Stundensatz Geschäftskunde", 40, 256, 144, 17)
    $GES_H_GEPL = GUICtrlCreateLabel("Geplante Gesamtstundenzahl", 296, 224, 143, 17)
    $SUMME_H = GUICtrlCreateLabel("Summe Stunden", 40, 288, 82, 17)
    $SS_P_IN = GUICtrlCreateInput("", 192, 224, 65, 21)
    $SS_GK_IN = GUICtrlCreateInput("", 192, 256, 65, 21)
    $S_GE = GUICtrlCreateInput("", 448, 224, 65, 21)
    $Label3 = GUICtrlCreateLabel("€", 448, 288, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Anfahrtskosten", 8, 336, 537, 129)
    $Label11 = GUICtrlCreateLabel("Kilometerpauschale", 40, 368, 96, 17)
    $Label12 = GUICtrlCreateLabel("Anfahrtskilometer", 40, 400, 85, 17)
    $GEP_ANZ_ANF = GUICtrlCreateLabel("Geplante Anzahl Anfahrten", 296, 368, 131, 17)
    $Label14 = GUICtrlCreateLabel("Summe Anfahrten / Kilometer", 40, 432, 142, 17)
    $KILO_P = GUICtrlCreateInput("", 192, 368, 65, 21)
    $KILO_AN = GUICtrlCreateInput("", 192, 400, 65, 21)
    $ANZ_FAHR = GUICtrlCreateInput("", 448, 368, 65, 21)
    $H_Gesamt = GUICtrlCreateLabel("€", 448, 432, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $UEBERN_WARE = GUICtrlCreateButton("Übernahme", 562, 136, 75, 25, 0)
    $ERRECHNEN_WARE = GUICtrlCreateButton("Errechnen", 562, 88, 75, 25, 0)
    $LEEREN_WARE = GUICtrlCreateButton("Leeren", 562, 40, 75, 25, 0)
    $UEBERNAHME_STUNDEN = GUICtrlCreateButton("Übernahme", 562, 286, 75, 25, 0)
    $ERRECHNEN_STUNDEN = GUICtrlCreateButton("Errechnen", 562, 246, 75, 25, 0)
    $LEEREN_STUNDEN = GUICtrlCreateButton("Leeren", 562, 206, 75, 25, 0)
    $UEBERNAHME_ANFAHRT = GUICtrlCreateButton("Übernahme", 562, 434, 75, 25, 0)
    $ERRECHNEN_ANFAHRT = GUICtrlCreateButton("Errechnen", 562, 394, 75, 25, 0)
    $LEEREN_ANFAHRT = GUICtrlCreateButton("Leeren", 562, 354, 75, 25, 0)
    $Group4 = GUICtrlCreateGroup("Gesamtkostenaufstellung", 8, 480, 537, 129)
    $Label5 = GUICtrlCreateLabel("Ware", 40, 512, 30, 17)
    $Label6 = GUICtrlCreateLabel("Stunden", 40, 544, 44, 17)
    $Label7 = GUICtrlCreateLabel("Anfahrten", 40, 576, 50, 17)
    $Label8 = GUICtrlCreateLabel("Gesamtkosten", 296, 512, 72, 17)
    $GES_KOSTEN_OUT = GUICtrlCreateLabel("€", 448, 512, 66, 17)
    $WARE_OUT = GUICtrlCreateLabel("€", 192, 512, 74, 17)
    $STUNDEN_OUT = GUICtrlCreateLabel("€", 192, 544, 74, 17)
    $ANFAHRTEN_OUT = GUICtrlCreateLabel("€", 192, 576, 74, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ERRECHNEN_GESAMT = GUICtrlCreateButton("Errechnen", 562, 530, 75, 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 $ERRECHNEN_WARE
    $wert01 = GUICtrlRead ($HEK_IN)
    $wert02 = GUICtrlRead ($UMW_IN)
    $wert03 = GUICtrlRead ($SK_IN)
    $wert04 = GUICtrlRead ($MAGE_IN)
    $wert05 = GUICtrlRead ($VERSI_IN)
    $wert06 = GUICtrlRead ($VERSA_IN)
    $wert07 = GUICtrlRead ($MWST_IN)
    GUICtrlSetData($VK_OUT, (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ))

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

    Case $UEBERN_WARE
    GUICtrlSetData($WARE_OUT, (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ))

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

    Case $SUMME_H
    $wert111 = GUICtrlRead ($SS_P_IN)
    $wert222 = guictrlread ($SS_GK_IN)
    $wert333 = GUICtrlRead ($S_GE)

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

    EndSwitch
    WEnd

    [/autoit]
  • mal quick and dirty ohne mecker ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=c:\program files (x86)\autoit3\koda\forms\rechner.kxf
    $Form1_1 = GUICreate("Angebotsrechner", 658, 625, 237, 137)
    $Group1 = GUICtrlCreateGroup("Wareneinkauf", 8, 16, 537, 161)
    $HEK = GUICtrlCreateLabel("Händler EK", 40, 48, 58, 17)
    $VERSI = GUICtrlCreateLabel("Versicherung", 296, 48, 66, 17)
    $UMW = GUICtrlCreateLabel("Umweltpauschale", 40, 80, 88, 17)
    $VERSA = GUICtrlCreateLabel("Versandkosten", 296, 80, 75, 17)
    $SK = GUICtrlCreateLabel("Sonstige Kosten", 40, 112, 81, 17)
    $MWST = GUICtrlCreateLabel("MwSt. %", 296, 112, 45, 17)
    $MAGE = GUICtrlCreateLabel("Marge %", 40, 144, 42, 17)
    $VK = GUICtrlCreateLabel("Verkaufspreis", 296, 144, 68, 17)
    $HEK_IN = GUICtrlCreateInput("", 192, 48, 65, 21)
    $UMW_IN = GUICtrlCreateInput("", 192, 80, 65, 21)
    $SK_IN = GUICtrlCreateInput("", 192, 112, 65, 21)
    $MAGE_IN = GUICtrlCreateInput("", 192, 144, 65, 21)
    $VERSI_IN = GUICtrlCreateInput("", 448, 48, 65, 21)
    $VERSA_IN = GUICtrlCreateInput("", 448, 80, 65, 21)
    $VK_OUT = GUICtrlCreateLabel("€", 448, 144, 66, 17)
    $MWST_IN = GUICtrlCreateInput("", 448, 112, 65, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Group2 = GUICtrlCreateGroup("Stundenansatz", 8, 192, 537, 129)
    $SS_P = GUICtrlCreateLabel("Stundensatz Privatkunde", 40, 224, 123, 17)
    $SS_G = GUICtrlCreateLabel("Stundensatz Geschäftskunde", 40, 256, 144, 17)
    $GES_H_GEPL = GUICtrlCreateLabel("Geplante Gesamtstundenzahl", 296, 224, 143, 17)
    $SUMME_H = GUICtrlCreateLabel("Summe Stunden", 40, 288, 82, 17)
    $SS_P_IN = GUICtrlCreateInput("", 192, 224, 65, 21)
    $SS_GK_IN = GUICtrlCreateInput("", 192, 256, 65, 21)
    $S_GE = GUICtrlCreateInput("", 448, 224, 65, 21)
    $Label3 = GUICtrlCreateLabel("€", 448, 288, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Group3 = GUICtrlCreateGroup("Anfahrtskosten", 8, 336, 537, 129)
    $Label11 = GUICtrlCreateLabel("Kilometerpauschale", 40, 368, 96, 17)
    $Label12 = GUICtrlCreateLabel("Anfahrtskilometer", 40, 400, 85, 17)
    $GEP_ANZ_ANF = GUICtrlCreateLabel("Geplante Anzahl Anfahrten", 296, 368, 131, 17)
    $Label14 = GUICtrlCreateLabel("Summe Anfahrten / Kilometer", 40, 432, 142, 17)
    $KILO_P = GUICtrlCreateInput("", 192, 368, 65, 21)
    $KILO_AN = GUICtrlCreateInput("", 192, 400, 65, 21)
    $ANZ_FAHR = GUICtrlCreateInput("", 448, 368, 65, 21)
    $H_Gesamt = GUICtrlCreateLabel("€", 448, 432, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $UEBERN_WARE = GUICtrlCreateButton("Übernahme", 562, 136, 75, 25, 0)
    $ERRECHNEN_WARE = GUICtrlCreateButton("Errechnen", 562, 88, 75, 25, 0)
    $LEEREN_WARE = GUICtrlCreateButton("Leeren", 562, 40, 75, 25, 0)
    $UEBERNAHME_STUNDEN = GUICtrlCreateButton("Übernahme", 562, 286, 75, 25, 0)
    $ERRECHNEN_STUNDEN = GUICtrlCreateButton("Errechnen", 562, 246, 75, 25, 0)
    $LEEREN_STUNDEN = GUICtrlCreateButton("Leeren", 562, 206, 75, 25, 0)
    $UEBERNAHME_ANFAHRT = GUICtrlCreateButton("Übernahme", 562, 434, 75, 25, 0)
    $ERRECHNEN_ANFAHRT = GUICtrlCreateButton("Errechnen", 562, 394, 75, 25, 0)
    $LEEREN_ANFAHRT = GUICtrlCreateButton("Leeren", 562, 354, 75, 25, 0)
    $Group4 = GUICtrlCreateGroup("Gesamtkostenaufstellung", 8, 480, 537, 129)
    $Label5 = GUICtrlCreateLabel("Ware", 40, 512, 30, 17)
    $Label6 = GUICtrlCreateLabel("Stunden", 40, 544, 44, 17)
    $Label7 = GUICtrlCreateLabel("Anfahrten", 40, 576, 50, 17)
    $Label8 = GUICtrlCreateLabel("Gesamtkosten", 296, 512, 72, 17)
    $GES_KOSTEN_OUT = GUICtrlCreateLabel("€", 448, 512, 66, 17)
    $WARE_OUT = GUICtrlCreateLabel("€", 192, 512, 74, 17)
    $STUNDEN_OUT = GUICtrlCreateLabel("€", 192, 544, 74, 17)
    $ANFAHRTEN_OUT = GUICtrlCreateLabel("€", 192, 576, 74, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ERRECHNEN_GESAMT = GUICtrlCreateButton("Errechnen", 562, 530, 75, 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 $ERRECHNEN_WARE
    $wert01 = GUICtrlRead ($HEK_IN)
    $wert02 = GUICtrlRead ($UMW_IN)
    $wert03 = GUICtrlRead ($SK_IN)
    $wert04 = GUICtrlRead ($MAGE_IN)
    $wert05 = GUICtrlRead ($VERSI_IN)
    $wert06 = GUICtrlRead ($VERSA_IN)
    $wert07 = GUICtrlRead ($MWST_IN)
    GUICtrlSetData($VK_OUT, (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ))

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

    Case $UEBERN_WARE
    GUICtrlSetData($WARE_OUT, (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ))

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

    Case $SUMME_H
    $wert111 = GUICtrlRead ($SS_P_IN)
    $wert222 = guictrlread ($SS_GK_IN)
    $wert333 = GUICtrlRead ($S_GE)
    Case $ERRECHNEN_STUNDEN
    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($Label3, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($Label3, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

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

    EndSwitch
    WEnd

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Danke ! :thumbup:

    #EDIT: Wäre schön wenn ich das Ergebnis nun noch per Button $UEBERNAHME_STUNDEN in $STUNDEN_OUT kopieren könnt...

    Via Variable ? Habsch aber null Ahnung vonn... muss ich noch Mal lesen...

    3 Mal editiert, zuletzt von Mike280399 (29. September 2011 um 21:52)

  • Hab mir das mit den Variablen nun Mal angeschaut und.... Bahnhof!

    Wie sach ich dem Script das das Ergebnis von der Rechnung $Var1 ist und wo im Script schreib ich das hin ?(

    [autoit]

    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($Label3, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($Label3, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

    [/autoit]
  • ich denke, das Problem liegt erstmal in dem Aufbau Deines Scriptes.
    I.d.R. hat man einen Button und wenn man den drückt erfolgt ine Aktion (oder eben viele Aktionen)
    Du hast in deinem Script zig Button.
    Wenn man Dir eine vernünftige Lösung präsentieren soll, dann müssen wir auch wissen was wann passieren soll.
    Also genaue Beschreibung, was das Script machen soll...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Ok, Ziel des ganzen ist ein Angebotsrechner....

    Fix ausrechnen, was kommt zusammen bei z.B. Ware + Anfahrt + 2 Stunden beim Geschäftskunden, mit der Option, auch nur Warenkosten, Honorar oder Anfahrtskosten zu errechnen...

    Daher die vielen Buttons...
    Ware: Errechnen ( ausrechnen ) Übernahme ( in Gesamtrechnung übernehmen ) Leeren ( Felderinhalt löschen )


    Ich hoffe ich konnts verständlich rüberbringen ;)

  • ich denke das geht mit nur einem Button viel einfacher ...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Mag sein, nur damit bleibt noch immer die frage offen, wie ich es hinbekomme das das Ergebnis der errechneten Werte an 2 Stellen "ausgespuckt" wird... (wg. der Übersichtlichkeit)

    Sicherlich könnte ich es einfach noch Mal ausrechnen lassen nur das geht doch sicher auch eleganter :D

    Ich krieg das mit den Variablen einfach nicht in die Birne, das sieht für mich atm alles wie Chinesisch aus...
    Habs schon mit X Tutorials und Hilfen versucht... Ich glaub ich muss mir echt Mal jemanden suchen der mir das für "doofe" erklärt :D

  • bei Dir muss nur einmal der Knoten platzen, dann verstehst Du das...

    Um einer Variablen einen Wert zuzuweisen reicht eine Anweisung à la:
    $Variable =
    In Deinem Beispiel also:

    [autoit]


    Local $Variable
    If GUICtrlRead($SS_GK_IN) <> '' Then $Variable = GUICtrlSetData($Label3, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then $Variable = GUICtrlSetData($Label3, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

    [/autoit]


    Den Inhalt von $Variable kannst Du wann auch immer in Deinem Code an beliebiger STelle ausgeben:

    [autoit]

    GuiCtrlSetData($hierhin, $Variable)

    [/autoit]


    ...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Ich glaube ich komme der Sache näher :D
    Irgendwo is aber noch der Wurm drin...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=c:\program files (x86)\autoit3\koda\forms\rechner.kxf
    $Form1_1 = GUICreate("Angebotsrechner", 658, 625, 237, 137)
    $Group1 = GUICtrlCreateGroup("Wareneinkauf", 8, 16, 537, 161)
    $HEK = GUICtrlCreateLabel("Händler EK", 40, 48, 58, 17)
    $VERSI = GUICtrlCreateLabel("Versicherung", 296, 48, 66, 17)
    $UMW = GUICtrlCreateLabel("Umweltpauschale", 40, 80, 88, 17)
    $VERSA = GUICtrlCreateLabel("Versandkosten", 296, 80, 75, 17)
    $SK = GUICtrlCreateLabel("Sonstige Kosten", 40, 112, 81, 17)
    $MWST = GUICtrlCreateLabel("MwSt. %", 296, 112, 45, 17)
    $MAGE = GUICtrlCreateLabel("Mage %", 40, 144, 42, 17)
    $VK = GUICtrlCreateLabel("Verkaufspreis", 296, 144, 68, 17)
    $HEK_IN = GUICtrlCreateInput("", 192, 48, 65, 21)
    $UMW_IN = GUICtrlCreateInput("", 192, 80, 65, 21)
    $SK_IN = GUICtrlCreateInput("", 192, 112, 65, 21)
    $MAGE_IN = GUICtrlCreateInput("", 192, 144, 65, 21)
    $VERSI_IN = GUICtrlCreateInput("", 448, 48, 65, 21)
    $VERSA_IN = GUICtrlCreateInput("", 448, 80, 65, 21)
    $VK_OUT = GUICtrlCreateLabel("€", 448, 144, 66, 17)
    $MWST_IN = GUICtrlCreateInput("", 448, 112, 65, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Stundenansatz", 8, 192, 537, 129)
    $SS_P = GUICtrlCreateLabel("Stundensatz Privatkunde", 40, 224, 123, 17)
    $SS_G = GUICtrlCreateLabel("Stundensatz Geschäftskunde", 40, 256, 144, 17)
    $GES_H_GEPL = GUICtrlCreateLabel("Geplante Gesamtstundenzahl", 296, 224, 143, 17)
    $SUMME_H = GUICtrlCreateLabel("Summe Stunden", 40, 288, 82, 17)
    $SS_P_IN = GUICtrlCreateInput("", 192, 224, 65, 21)
    $SS_GK_IN = GUICtrlCreateInput("", 192, 256, 65, 21)
    $S_GE = GUICtrlCreateInput("", 448, 224, 65, 21)
    $STUNDENSUMME = GUICtrlCreateLabel("€", 448, 288, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Anfahrtskosten", 8, 336, 537, 129)
    $Label11 = GUICtrlCreateLabel("Kilometerpauschale", 40, 368, 96, 17)
    $Label12 = GUICtrlCreateLabel("Anfahrtskilometer", 40, 400, 85, 17)
    $GEP_ANZ_ANF = GUICtrlCreateLabel("Geplante Anzahl Anfahrten", 296, 368, 131, 17)
    $Label14 = GUICtrlCreateLabel("Summe Anfahrten / Kilometer", 40, 432, 142, 17)
    $KILO_P = GUICtrlCreateInput("", 192, 368, 65, 21)
    $KILO_AN = GUICtrlCreateInput("", 192, 400, 65, 21)
    $ANZ_FAHR = GUICtrlCreateInput("", 448, 368, 65, 21)
    $H_Gesamt = GUICtrlCreateLabel("€", 448, 432, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $UEBERN_WARE = GUICtrlCreateButton("Übernahme", 562, 136, 75, 25, 0)
    $ERRECHNEN_WARE = GUICtrlCreateButton("Errechnen", 562, 88, 75, 25, 0)
    $LEEREN_WARE = GUICtrlCreateButton("Leeren", 562, 40, 75, 25, 0)
    $UEBERNAHME_STUNDEN = GUICtrlCreateButton("Übernahme", 562, 286, 75, 25, 0)
    $ERRECHNEN_STUNDEN = GUICtrlCreateButton("Errechnen", 562, 246, 75, 25, 0)
    $LEEREN_STUNDEN = GUICtrlCreateButton("Leeren", 562, 206, 75, 25, 0)
    $UEBERNAHME_ANFAHRT = GUICtrlCreateButton("Übernahme", 562, 434, 75, 25, 0)
    $ERRECHNEN_ANFAHRT = GUICtrlCreateButton("Errechnen", 562, 394, 75, 25, 0)
    $LEEREN_ANFAHRT = GUICtrlCreateButton("Leeren", 562, 354, 75, 25, 0)
    $Group4 = GUICtrlCreateGroup("Gesamtkostenaufstellung", 8, 480, 537, 129)
    $Label5 = GUICtrlCreateLabel("Ware", 40, 512, 30, 17)
    $Label6 = GUICtrlCreateLabel("Stunden", 40, 544, 44, 17)
    $Label7 = GUICtrlCreateLabel("Anfahrten", 40, 576, 50, 17)
    $Label8 = GUICtrlCreateLabel("Gesamtkosten", 296, 512, 72, 17)
    $GES_KOSTEN_OUT = GUICtrlCreateLabel("€", 448, 512, 66, 17)
    $WARE_OUT = GUICtrlCreateLabel("€", 192, 512, 74, 17)
    $STUNDEN_OUT = GUICtrlCreateLabel("€", 192, 544, 74, 17)
    $ANFAHRTEN_OUT = GUICtrlCreateLabel("€", 192, 576, 74, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ERRECHNEN_GESAMT = GUICtrlCreateButton("Errechnen", 562, 530, 75, 25, 0)
    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###
    Global $Var_WARE
    Global $Var_STUNDEN
    Global $Var_KM

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ERRECHNEN_WARE
    $wert01 = GUICtrlRead ($HEK_IN)
    $wert02 = GUICtrlRead ($UMW_IN)
    $wert03 = GUICtrlRead ($SK_IN)
    $wert04 = GUICtrlRead ($MAGE_IN)
    $wert05 = GUICtrlRead ($VERSI_IN)
    $wert06 = GUICtrlRead ($VERSA_IN)
    $wert07 = GUICtrlRead ($MWST_IN)
    $Var_WARE = GUICtrlSetData($VK_OUT, (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ) & ' €')

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

    Case $UEBERN_WARE
    GUICtrlSetData($WARE_OUT, $Var_WARE)

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

    ; (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ) & ' €')

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

    Case $ERRECHNEN_STUNDEN
    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($STUNDENSUMME, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($STUNDENSUMME, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

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

    Case $UEBERNAHME_STUNDEN
    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($STUNDEN_OUT, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($STUNDEN_OUT, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

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

    EndSwitch
    WEnd

    [/autoit]

    Fehlermeldung bleibt jetzt aus, nur wenn ich

    [autoit]

    $Var_WARE = GUICtrlSetData($VK_OUT, (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ) & ' €')

    [/autoit]

    ausrechnen lasse und dann übernehmen will zu $UEBERN_WARE wird da nur "1" angezeigt ?(

    #EIDT: Weiss jetzt das GUICtrlSetData bei "Succes" 1 zurückgibt....

    #EDIT2: Jeeehaaa habs begriffen !!!!!

    DANKE !!!!! :thumbup:

    2 Mal editiert, zuletzt von Mike280399 (29. September 2011 um 23:32)

  • Nabend!

    Ich habe grad kurz geschaut und denke ich weiß wo der Fehler lag:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=c:\program files (x86)\autoit3\koda\forms\rechner.kxf
    $Form1_1 = GUICreate("Angebotsrechner", 658, 625, 237, 137)
    $Group1 = GUICtrlCreateGroup("Wareneinkauf", 8, 16, 537, 161)
    $HEK = GUICtrlCreateLabel("Händler EK", 40, 48, 58, 17)
    $VERSI = GUICtrlCreateLabel("Versicherung", 296, 48, 66, 17)
    $UMW = GUICtrlCreateLabel("Umweltpauschale", 40, 80, 88, 17)
    $VERSA = GUICtrlCreateLabel("Versandkosten", 296, 80, 75, 17)
    $SK = GUICtrlCreateLabel("Sonstige Kosten", 40, 112, 81, 17)
    $MWST = GUICtrlCreateLabel("MwSt. %", 296, 112, 45, 17)
    $MAGE = GUICtrlCreateLabel("Mage %", 40, 144, 42, 17)
    $VK = GUICtrlCreateLabel("Verkaufspreis", 296, 144, 68, 17)
    $HEK_IN = GUICtrlCreateInput("", 192, 48, 65, 21)
    $UMW_IN = GUICtrlCreateInput("", 192, 80, 65, 21)
    $SK_IN = GUICtrlCreateInput("", 192, 112, 65, 21)
    $MAGE_IN = GUICtrlCreateInput("", 192, 144, 65, 21)
    $VERSI_IN = GUICtrlCreateInput("", 448, 48, 65, 21)
    $VERSA_IN = GUICtrlCreateInput("", 448, 80, 65, 21)
    $VK_OUT = GUICtrlCreateLabel("€", 448, 144, 66, 17)
    $MWST_IN = GUICtrlCreateInput("", 448, 112, 65, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Stundenansatz", 8, 192, 537, 129)
    $SS_P = GUICtrlCreateLabel("Stundensatz Privatkunde", 40, 224, 123, 17)
    $SS_G = GUICtrlCreateLabel("Stundensatz Geschäftskunde", 40, 256, 144, 17)
    $GES_H_GEPL = GUICtrlCreateLabel("Geplante Gesamtstundenzahl", 296, 224, 143, 17)
    $SUMME_H = GUICtrlCreateLabel("Summe Stunden", 40, 288, 82, 17)
    $SS_P_IN = GUICtrlCreateInput("", 192, 224, 65, 21)
    $SS_GK_IN = GUICtrlCreateInput("", 192, 256, 65, 21)
    $S_GE = GUICtrlCreateInput("", 448, 224, 65, 21)
    $STUNDENSUMME = GUICtrlCreateLabel("€", 448, 288, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Anfahrtskosten", 8, 336, 537, 129)
    $Label11 = GUICtrlCreateLabel("Kilometerpauschale", 40, 368, 96, 17)
    $Label12 = GUICtrlCreateLabel("Anfahrtskilometer", 40, 400, 85, 17)
    $GEP_ANZ_ANF = GUICtrlCreateLabel("Geplante Anzahl Anfahrten", 296, 368, 131, 17)
    $Label14 = GUICtrlCreateLabel("Summe Anfahrten / Kilometer", 40, 432, 142, 17)
    $KILO_P = GUICtrlCreateInput("", 192, 368, 65, 21)
    $KILO_AN = GUICtrlCreateInput("", 192, 400, 65, 21)
    $ANZ_FAHR = GUICtrlCreateInput("", 448, 368, 65, 21)
    $H_Gesamt = GUICtrlCreateLabel("€", 448, 432, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $UEBERN_WARE = GUICtrlCreateButton("Übernahme", 562, 136, 75, 25, 0)
    $ERRECHNEN_WARE = GUICtrlCreateButton("Errechnen", 562, 88, 75, 25, 0)
    $LEEREN_WARE = GUICtrlCreateButton("Leeren", 562, 40, 75, 25, 0)
    $UEBERNAHME_STUNDEN = GUICtrlCreateButton("Übernahme", 562, 286, 75, 25, 0)
    $ERRECHNEN_STUNDEN = GUICtrlCreateButton("Errechnen", 562, 246, 75, 25, 0)
    $LEEREN_STUNDEN = GUICtrlCreateButton("Leeren", 562, 206, 75, 25, 0)
    $UEBERNAHME_ANFAHRT = GUICtrlCreateButton("Übernahme", 562, 434, 75, 25, 0)
    $ERRECHNEN_ANFAHRT = GUICtrlCreateButton("Errechnen", 562, 394, 75, 25, 0)
    $LEEREN_ANFAHRT = GUICtrlCreateButton("Leeren", 562, 354, 75, 25, 0)
    $Group4 = GUICtrlCreateGroup("Gesamtkostenaufstellung", 8, 480, 537, 129)
    $Label5 = GUICtrlCreateLabel("Ware", 40, 512, 30, 17)
    $Label6 = GUICtrlCreateLabel("Stunden", 40, 544, 44, 17)
    $Label7 = GUICtrlCreateLabel("Anfahrten", 40, 576, 50, 17)
    $Label8 = GUICtrlCreateLabel("Gesamtkosten", 296, 512, 72, 17)
    $GES_KOSTEN_OUT = GUICtrlCreateLabel("€", 448, 512, 66, 17)
    $WARE_OUT = GUICtrlCreateLabel("€", 192, 512, 74, 17)
    $STUNDEN_OUT = GUICtrlCreateLabel("€", 192, 544, 74, 17)
    $ANFAHRTEN_OUT = GUICtrlCreateLabel("€", 192, 576, 74, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ERRECHNEN_GESAMT = GUICtrlCreateButton("Errechnen", 562, 530, 75, 25, 0)
    GUISetState(@SW_SHOW)

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

    #EndRegion ### END Koda GUI section ###
    Global $Var_WARE
    Global $Var_STUNDEN
    Global $Var_KM

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $ERRECHNEN_WARE
    $wert01 = GUICtrlRead ($HEK_IN)
    $wert02 = GUICtrlRead ($UMW_IN)
    $wert03 = GUICtrlRead ($SK_IN)
    $wert04 = GUICtrlRead ($MAGE_IN)
    $wert05 = GUICtrlRead ($VERSI_IN)
    $wert06 = GUICtrlRead ($VERSA_IN)
    $wert07 = GUICtrlRead ($MWST_IN)
    $_Data = (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 )
    $Var_WARE = GUICtrlSetData($VK_OUT, $_Data & ' €')

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

    Case $UEBERN_WARE
    ;~ GUICtrlSetData($WARE_OUT, $Var_WARE)
    GUICtrlSetData($WARE_OUT, $_Data)

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

    ; (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert04 )) + (( $wert01 + $wert02 + $wert03 + $wert05 + $wert06 ) / 100 * $wert07 ) & ' €')

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

    Case $ERRECHNEN_STUNDEN
    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($STUNDENSUMME, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($STUNDENSUMME, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

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

    Case $UEBERNAHME_STUNDEN
    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($STUNDEN_OUT, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($STUNDEN_OUT, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

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

    EndSwitch

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

    WEnd

    [/autoit]

    Schau dir mal genau die Zeile 85 an. Da habe ich den Wert eifach in einer Variable gespeichert - und diese wird jetzt in Zeile 90 Angezeigt. So kann man das lösen.
    Du könntest aber auch einfach das Control auslesen ($Var_WARE) mit GUICtrlRead.

    Ich hoffe ich konnte helfen - und habe auch den richtigen Fehler erwischt ;)

    Grüsse!

    • Offizieller Beitrag

    Hi,
    ein nettes Gimmick ist immer, wenn die Berechnung "von allein" erfolgt. Das heißt, bereits während der Eingabe werden die Ergebnisse berechnet und ausgegeben.
    Ich hab dir das mal für die erste Berechnung (Ware) erstellt. Kannst dich ja dann dran versuchen, dass auch für die anderen Berechnungen zu komplettieren. ;)
    Btw: Du meinst doch sicher Marge, oder?

    Spoiler anzeigen
    [autoit]

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

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

    #Region ### START Koda GUI section ### Form=c:\program files (x86)\autoit3\koda\forms\rechner.kxf
    $Form1_1 = GUICreate("Angebotsrechner", 658, 625, 237, 137)
    $Group1 = GUICtrlCreateGroup("Wareneinkauf", 8, 16, 537, 161)
    $HEK = GUICtrlCreateLabel("Händler EK", 40, 48, 58, 17)
    $VERSI = GUICtrlCreateLabel("Versicherung", 296, 48, 66, 17)
    $UMW = GUICtrlCreateLabel("Umweltpauschale", 40, 80, 88, 17)
    $VERSA = GUICtrlCreateLabel("Versandkosten", 296, 80, 75, 17)
    $SK = GUICtrlCreateLabel("Sonstige Kosten", 40, 112, 81, 17)
    $MWST = GUICtrlCreateLabel("MwSt. %", 296, 112, 45, 17)
    $MAGE = GUICtrlCreateLabel("Mage %", 40, 144, 42, 17)
    $VK = GUICtrlCreateLabel("Verkaufspreis", 296, 144, 68, 17)
    $HEK_IN = GUICtrlCreateInput("", 192, 48, 65, 21)
    $UMW_IN = GUICtrlCreateInput("", 192, 80, 65, 21)
    $SK_IN = GUICtrlCreateInput("", 192, 112, 65, 21)
    $MAGE_IN = GUICtrlCreateInput("", 192, 144, 65, 21)
    $VERSI_IN = GUICtrlCreateInput("", 448, 48, 65, 21)
    $VERSA_IN = GUICtrlCreateInput("", 448, 80, 65, 21)
    $VK_OUT = GUICtrlCreateLabel("€", 448, 144, 66, 17)
    $MWST_IN = GUICtrlCreateInput("", 448, 112, 65, 21)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group2 = GUICtrlCreateGroup("Stundenansatz", 8, 192, 537, 129)
    $SS_P = GUICtrlCreateLabel("Stundensatz Privatkunde", 40, 224, 123, 17)
    $SS_G = GUICtrlCreateLabel("Stundensatz Geschäftskunde", 40, 256, 144, 17)
    $GES_H_GEPL = GUICtrlCreateLabel("Geplante Gesamtstundenzahl", 296, 224, 143, 17)
    $SUMME_H = GUICtrlCreateLabel("Summe Stunden", 40, 288, 82, 17)
    $SS_P_IN = GUICtrlCreateInput("", 192, 224, 65, 21)
    $SS_GK_IN = GUICtrlCreateInput("", 192, 256, 65, 21)
    $S_GE = GUICtrlCreateInput("", 448, 224, 65, 21)
    $STUNDENSUMME = GUICtrlCreateLabel("€", 448, 288, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("Anfahrtskosten", 8, 336, 537, 129)
    $Label11 = GUICtrlCreateLabel("Kilometerpauschale", 40, 368, 96, 17)
    $Label12 = GUICtrlCreateLabel("Anfahrtskilometer", 40, 400, 85, 17)
    $GEP_ANZ_ANF = GUICtrlCreateLabel("Geplante Anzahl Anfahrten", 296, 368, 131, 17)
    $Label14 = GUICtrlCreateLabel("Summe Anfahrten / Kilometer", 40, 432, 142, 17)
    $KILO_P = GUICtrlCreateInput("", 192, 368, 65, 21)
    $KILO_AN = GUICtrlCreateInput("", 192, 400, 65, 21)
    $ANZ_FAHR = GUICtrlCreateInput("", 448, 368, 65, 21)
    $H_Gesamt = GUICtrlCreateLabel("€", 448, 432, 66, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $UEBERN_WARE = GUICtrlCreateButton("Übernahme", 562, 136, 75, 25, 0)
    ;~ $ERRECHNEN_WARE = GUICtrlCreateButton("Errechnen", 562, 88, 75, 25, 0)
    $LEEREN_WARE = GUICtrlCreateButton("Leeren", 562, 40, 75, 25, 0)
    $UEBERNAHME_STUNDEN = GUICtrlCreateButton("Übernahme", 562, 286, 75, 25, 0)
    $ERRECHNEN_STUNDEN = GUICtrlCreateButton("Errechnen", 562, 246, 75, 25, 0)
    $LEEREN_STUNDEN = GUICtrlCreateButton("Leeren", 562, 206, 75, 25, 0)
    $UEBERNAHME_ANFAHRT = GUICtrlCreateButton("Übernahme", 562, 434, 75, 25, 0)
    $ERRECHNEN_ANFAHRT = GUICtrlCreateButton("Errechnen", 562, 394, 75, 25, 0)
    $LEEREN_ANFAHRT = GUICtrlCreateButton("Leeren", 562, 354, 75, 25, 0)
    $Group4 = GUICtrlCreateGroup("Gesamtkostenaufstellung", 8, 480, 537, 129)
    $Label5 = GUICtrlCreateLabel("Ware", 40, 512, 30, 17)
    $Label6 = GUICtrlCreateLabel("Stunden", 40, 544, 44, 17)
    $Label7 = GUICtrlCreateLabel("Anfahrten", 40, 576, 50, 17)
    $Label8 = GUICtrlCreateLabel("Gesamtkosten", 296, 512, 72, 17)
    $GES_KOSTEN_OUT = GUICtrlCreateLabel("€", 448, 512, 66, 17)
    $WARE_OUT = GUICtrlCreateLabel("€", 192, 512, 74, 17)
    $STUNDEN_OUT = GUICtrlCreateLabel("€", 192, 544, 74, 17)
    $ANFAHRTEN_OUT = GUICtrlCreateLabel("€", 192, 576, 74, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ERRECHNEN_GESAMT = GUICtrlCreateButton("Errechnen", 562, 530, 75, 25, 0)

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

    Global $aWARE[8][2] = [[0], _
    [GUICtrlGetHandle($HEK_IN)],[GUICtrlGetHandle($UMW_IN)],[GUICtrlGetHandle($SK_IN)],[GUICtrlGetHandle($MAGE_IN)], _
    [GUICtrlGetHandle($VERSI_IN)],[GUICtrlGetHandle($VERSA_IN)],[GUICtrlGetHandle($MWST_IN)]]

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

    GUISetState(@SW_SHOW)

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

    GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')

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

    #EndRegion ### END Koda GUI section ###
    Global $Var_WARE
    Global $Var_STUNDEN
    Global $Var_KM

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

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

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

    Case $UEBERN_WARE
    GUICtrlSetData($WARE_OUT, $aWARE[0][0] & ' €')

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

    Case $ERRECHNEN_STUNDEN
    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($STUNDENSUMME, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($STUNDENSUMME, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

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

    Case $UEBERNAHME_STUNDEN
    If GUICtrlRead($SS_P_IN) <> '' ANd GUICtrlRead($SS_GK_IN) <> '' Then
    MsgBox(0, '', 'Bist Du verwirrt?')
    GUICtrlSetData($SS_GK_IN, '')
    GUICtrlSetData($SS_P_IN, '')
    ContinueCase
    EndIf
    If GUICtrlRead($SS_GK_IN) <> '' Then GUICtrlSetData($STUNDEN_OUT, GUICtrlRead($SS_GK_IN)* GUICtrlRead($S_GE) & ' €')
    If GUICtrlRead($SS_P_IN) <> '' Then GUICtrlSetData($STUNDEN_OUT, GUICtrlRead($SS_P_IN)* GUICtrlRead($S_GE) & ' €')

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

    EndSwitch
    WEnd

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word
    Switch $iCode
    Case $EN_CHANGE
    For $i = 1 To 7
    If $hWndFrom = $aWARE[$i][0] Then $aWARE[$i][1] = StringStripWS(GUICtrlRead($iIDFrom), 8)
    Next
    GUICtrlSetData($VK_OUT, _CalculateWare() & ' €')
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

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

    Func _CalculateWare()
    Local $a = $aWARE[1][1] + $aWARE[2][1] + $aWARE[3][1] + $aWARE[5][1] + $aWARE[6][1]
    Local $b = $a / 100 * $aWARE[4][1]
    Local $c = $a / 100 * $aWARE[7][1]
    $aWARE[0][0] = $a + $b + $c
    Return $aWARE[0][0]
    EndFunc

    [/autoit]
  • Die Idee ist cool, nur hats da `ne Fehlermeldung: "WM_COMMAND possibly used before declaration" und.... das ist mir noch zu hoch 8|
    Mag das ja verstehen was ich da schreibe / reinkopiere und`s nicht nur stumpf übernehmen :D

    • Offizieller Beitrag

    Ah, da fehlt wohl noch das: #include <WindowsConstants.au3>
    Installiere dir mal gleich die OrganizeIncludes von Xeno (Link links neben der ShoutBox), damit geht das Includieren schön automatisch.

    Was passiert mit $WM_COMMAND?
    Nun, das ist eine Windows-Nachricht, die ausgewertet wird. Dazu wird sie zuerst mit GUIRegisterMsg für die GUI registriert und verweist hier auf die Auswertefunktion "WM_COMMAND".
    In dieser Funktion wird abgefragt von welchem Input die Nachricht $EN_CHANGE (Änderung des Inhalts) gesendet wird. Da 7 Inputs ausgewertet werden habe ich diese in ein Array gepackt - bzw. die Handle der Inputs, da diese in der Funktion verwendet werden - und prüfe in einer Schleife von welchem Input die Änderung kommt, lese den neuen Inhalt und schreibe ihn in die zweite Spalte des Arrays. Anschließend wird die Rechenfunktion aufgerufen, die mit den im Array gespeicherten Werten das Ergebnis erstellt und sofort anzeigt.
    Das passiert bei jeder Änderung und somit hast du eine "automatische" Berechnung.

    Versuche es mal für die anderen Berechnungen nachzuvollziehen, sieht schwerer aus, als es ist.