Hi zusammen,
dieses Skript macht mich noch irre
Nachdem man rechts alles Mögliche an z.B. Ausgaben ausgerechnet hat wirds links rübergegeben und ausgerechnet.
Nun gehts los: Als Beispielsumme habe ich 53,66 € genommen.
Rechne ich in Excel die Umsatzsteuer aus, also
stimmt der Betrag -> 8,57 € ( 8,567563025 )
Bei meiner Formel in AutoIT
[autoit]GUICtrlSetData($UST_IN, ($AUS1 - ($AUS1 / 1.19)))
[/autoit]kommt aber 8,46 ( 8,46218487394957 ) heraus.
Das sind 12 Cent Unterschied und ich habe Mal wieder keinen blassen Schimmer woher das kommen könnte
Ich würde mich freuen wenn ihr kurz über mein Skript schauen könntet, um zu sehen ob ihr da einen Fehler findet...
Das komplette Skript:
Spoiler anzeigen
#include <GUIConstants.au3>
#include <Math.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
HotKeySet("{ENTER}", "_ENTER")
[/autoit] [autoit][/autoit] [autoit]#region ### START Koda GUI section ### Form=c:\program files (x86)\autoit3\koda\forms\gewinnermittlung.kxf
$Form1_1 = GUICreate("Gewinnermittler", 825, 199, 201, 129)
$Ermittler = GUICtrlCreateGroup("", 8, 0, 521, 193)
$Button5 = GUICtrlCreateButton("Errechnen", 392, 152, 123, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Rechner = GUICtrlCreateGroup("", 544, 0, 273, 193)
$DISPLAY = GUICtrlCreateInput("", 560, 16, 241, 30, $ES_RIGHT)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$B_7 = GUICtrlCreateButton("7", 560, 64, 27, 25, 0)
$B_8 = GUICtrlCreateButton("8", 594, 64, 27, 25, 0)
$B_9 = GUICtrlCreateButton("9", 628, 64, 27, 25, 0)
$B_4 = GUICtrlCreateButton("4", 560, 94, 27, 25, 0)
$B_5 = GUICtrlCreateButton("5", 594, 94, 27, 25, 0)
$B_6 = GUICtrlCreateButton("6", 628, 94, 27, 25, 0)
$B_1 = GUICtrlCreateButton("1", 560, 124, 27, 25, 0)
$B_2 = GUICtrlCreateButton("2", 594, 124, 27, 25, 0)
$B_3 = GUICtrlCreateButton("3", 628, 124, 27, 25, 0)
$B_C = GUICtrlCreateButton("C", 662, 64, 27, 25, 0)
$B_PLUS = GUICtrlCreateButton("+", 662, 94, 27, 25, 0)
$B_MINUS = GUICtrlCreateButton("-", 662, 124, 27, 25, 0)
$B_NULL = GUICtrlCreateButton("0", 560, 154, 61, 25, 0)
$B_KOMMA = GUICtrlCreateButton(",", 628, 154, 27, 25, 0)
$B_GLEICH = GUICtrlCreateButton("=", 662, 154, 27, 25, 0)
$Label1 = GUICtrlCreateLabel("Betriebseinnahmen:", 24, 24, 97, 17)
$Label2 = GUICtrlCreateLabel("Privateinlagen:", 24, 56, 74, 17)
$Label3 = GUICtrlCreateLabel("Vereinnahmte UsSt.:", 24, 88, 101, 17)
$Label4 = GUICtrlCreateLabel("Gesamteinnahmen:", 24, 120, 95, 17)
$Label5 = GUICtrlCreateLabel("Gewinn:", 24, 158, 43, 17)
$Label6 = GUICtrlCreateLabel("Betriebsausgaben:", 278, 24, 92, 17)
$Label7 = GUICtrlCreateLabel("Privatentnahmen:", 278, 56, 87, 17)
$Label8 = GUICtrlCreateLabel("Abzuführende UsSt.:", 278, 88, 102, 17)
$Label9 = GUICtrlCreateLabel("Gesamtausgaben:", 278, 120, 90, 17)
$EINN_IN = GUICtrlCreateInput("", 136, 22, 123, 21, $ES_RIGHT)
$EINLAGEN = GUICtrlCreateInput("", 136, 54, 123, 21, $ES_RIGHT)
$UST_IN = GUICtrlCreateInput("", 136, 86, 123, 21, $ES_RIGHT)
GUICtrlSetState(-1, $GUI_DISABLE)
$EINN_GES = GUICtrlCreateInput("", 136, 118, 123, 21, $ES_RIGHT)
GUICtrlSetState(-1, $GUI_DISABLE)
$AUSG_IN = GUICtrlCreateInput("", 392, 22, 123, 21, $ES_RIGHT)
$ENTNAHMEN = GUICtrlCreateInput("", 392, 54, 123, 21, $ES_RIGHT)
$UST_OUT = GUICtrlCreateInput("", 392, 86, 123, 21, $ES_RIGHT)
GUICtrlSetState(-1, $GUI_DISABLE)
$AUSG_GES = GUICtrlCreateInput("", 392, 118, 123, 21, $ES_RIGHT)
GUICtrlSetState(-1, $GUI_DISABLE)
$GEWINN = GUICtrlCreateInput("", 136, 156, 123, 21, $ES_RIGHT)
GUICtrlSetState(-1, $GUI_DISABLE)
$Button1 = GUICtrlCreateButton("Einahmen senden", 696, 64, 107, 25, 0)
$Button2 = GUICtrlCreateButton("Ausgaben senden", 696, 94, 107, 25, 0)
$Button3 = GUICtrlCreateButton("Einlagen senden", 696, 124, 107, 25, 0)
$Button4 = GUICtrlCreateButton("Entnahmen senden", 696, 154, 107, 25, 0)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
Dim $rechnung
[/autoit] [autoit][/autoit] [autoit]While 1
$Msg = GUIGetMsg()
If $Msg = $GUI_EVENT_CLOSE Then Exit
Select
Case $Msg = $B_1
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 1
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_2
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 2
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_3
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 3
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_4
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 4
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_5
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 5
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_6
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 6
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_7
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 7
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_8
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 8
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_9
$edit = GUICtrlRead($DISPLAY)
$string = $edit & 9
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_NULL
$edit = GUICtrlRead($DISPLAY)
$string = $edit & "0"
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_PLUS
$edit = GUICtrlRead($DISPLAY)
$string = $edit & "+"
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_MINUS
$edit = GUICtrlRead($DISPLAY)
$string = $edit & "-"
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_KOMMA
$edit = GUICtrlRead($DISPLAY)
$string = $edit & ","
GUICtrlSetData($DISPLAY, $string)
Case $Msg = $B_C
GUICtrlSetData($DISPLAY, "")
Case $Msg = $B_GLEICH
$edit = GUICtrlRead($DISPLAY)
$ergebnis = Execute($edit)
$bereinigt = $ergebnis
GUICtrlSetData($DISPLAY, $bereinigt)
Case $Msg = $Button1
$B1 = GUICtrlRead($DISPLAY)
GUICtrlSetData($EINN_IN, $B1)
Case $Msg = $Button2
$B2 = GUICtrlRead($DISPLAY)
GUICtrlSetData($AUSG_IN, $B2)
Case $Msg = $Button3
$B3 = GUICtrlRead($DISPLAY)
GUICtrlSetData($EINLAGEN, $B3)
Case $Msg = $Button4
$B4 = GUICtrlRead($DISPLAY)
GUICtrlSetData($ENTNAHMEN, $B4)
Case $Msg = $Button5
$EIN1 = GUICtrlRead($EINN_IN)
$EINL = GUICtrlRead($EINLAGEN)
$AUS1 = GUICtrlRead($AUSG_IN)
$ENT1 = GUICtrlRead($ENTNAHMEN)
GUICtrlSetData($UST_IN, ($AUS1 - ($AUS1 / 1.19)))
;$UST2 = GUICtrlRead($UST_IN)
;GUICtrlSetData($EINN_GES, ($EIN1 + $UST2 + $EINL))
;$UST3 = GUICtrlRead($EINN_GES)
;GUICtrlSetData($UST_OUT, $UST3)
;$UST4 = GUICtrlRead($UST_OUT)
;GUICtrlSetData($AUSG_GES, ($AUS1 + $ENT1 + $UST4))
;$AUSGABEN = GUICtrlRead($AUSG_GES)
;$EINNAHMEN= GUICtrlRead($EINN_GES)
;GUICtrlSetData($GEWINN, ($EINNAHMEN - $AUSGABEN))
EndSelect
WEnd
[/autoit] [autoit][/autoit] [autoit]Func _ENTER()
$edit = StringReplace(GUICtrlRead($DISPLAY), ",", ".")
$ergebnis = Execute($edit)
$bereinigt = StringReplace($ergebnis, ".", ",")
GUICtrlSetData($DISPLAY, $bereinigt)
EndFunc ;==>_ENTER
Vielen Dank im Vorraus für eure Mühe !
Grüße
Mike