"Netto" wird in GUI nicht errechnet

  • Hallo zusammen,

    so ich habe mir jetzt mal meine erste GUI zusammen gebaut. Vermutlich mit viel zu vielen Zeilen, aber so verstehe ich es am Anfang einfach besser.

    Folgendes Problem habe ich:

    Auf Tab Fahrzeug Einfahrt trage ich unter Erstwägung eine Zahl ein

    Auf TabFahrzeug Ausfahrt trage ich unter Zweitwägung eine Zahl ein

    Das sollte nach dem Drücken des Netto berechnen Button die beiden Zahlen voneinander abgezogen werden und das Ergebnis im Label erscheinen.

    Bin ja mal gespannt, was ich da falsch mache.

    Hier mein Code:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    Dim $varMainWindowHeight, $varMainWindowWidth, $varMainGUI, $varMainTab, $varSubTab1, $varSubTab2, $varSubTab1Icon, $varSubTab2Icon, $varNetto

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

    #Region
    ;~ $varMainWindowHeight = (@DesktopHeight - 100)
    ;~ $varMainWindowWidth = (@DesktopWidth - 100)
    $varMainWindowWidth = ("950")
    $varMainWindowHeight = ("700")

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

    ;Hauptfenster wird erzeugt
    $varMainGUI = GUICreate("Meine erste GUI", $varMainWindowWidth, $varMainWindowHeight); Fenster erzeugen
    GUISetBkColor(0x00616561)
    GUISetFont(14, 300, 2, "Verdana")
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    #EndRegion

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

    #Region
    ;Haupt Tab Fenster erzeugen
    $varMainTab = GUICtrlCreateTab(100, 120, 800, 550)

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

    ;Unter Tabs erzeugen
    $varFontSize = "11"
    $varFromLeft = "130"
    $varFromLeft2 = "570"
    $varTab1Widghts = "400"
    $varTab1Widghts2 = "300"
    $varTab1High = "25"

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

    $varSubTab1 = GUICtrlCreateTabItem("Fahrzeug Einfahrt")
    GUICtrlCreateLabel("Hauptnummer: ", $varFromLeft, 180, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("KFZ Kennzeichen: ", $varFromLeft, 220, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("KFZ Kennzeichen - Hänger: ", $varFromLeft, 260, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Volumen: ", $varFromLeft, 300, $varTab1Widghts, 30)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Behördliche Nummer 1: ", $varFromLeft, 340, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Behördliche Nummer 2: ", $varFromLeft, 380, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Behördliche Nummer 3: ", $varFromLeft, 420, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Nummer des Nachweis: ", $varFromLeft, 460, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Nummer von ...: ", $varFromLeft, 500, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Erstwägung: (Bitte Gewicht eintragen)", $varFromLeft, 540, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    ;Erzeugung der Input Felder für Tab1:
    GUICtrlCreateInput("", $varFromLeft2, 180, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 220, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 260, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 300, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 340, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 380, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 420, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 460, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 500, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    $varErstWiegung = GUICtrlCreateInput("", $varFromLeft2, 540, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    $varSubTab2 = GUICtrlCreateTabItem("Fahrzeug Ausfahrt")
    GUICtrlCreateLabel("Zweitwägung: (Bitte Gewicht eintragen)", $varFromLeft, 180, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    $varZweitWiegung = GUICtrlCreateInput("", $varFromLeft2, 180, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    GUICtrlCreateButton("Netto berechnen", $varFromLeft, 220, 180, $varTab1High)
    $varNetto = "0"
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "NettoBerechnen")

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

    GUICtrlCreateLabel("Netto Gewicht: ", $varFromLeft, 260, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    GUICtrlCreateLabel($varNetto, $varFromLeft2, 260, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    GUISetState()
    #EndRegion

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

    ;Schleife muss sein, damit Hauptfenster sich nicht schließt
    While 1
    Sleep(1000) ; Im Leerlauf bummeln, damit Fenster angezeigt wird
    WEnd

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

    ;Ab hier sind die ganzen Funktionen untergebracht
    #Region
    Func CLOSEClicked()
    ;MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...")
    Exit
    EndFunc ;==>CLOSEClicked

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

    Func NettoBerechnen()
    $varNetto = $varErstWiegung - $varZweitWiegung
    If Not $varNetto = "0" Then MsgBox(0, "TEST", $varNetto)
    EndFunc ;==>NettoBerechnen
    #EndRegion

    [/autoit]

    vielen Dank

    Gruss Hassan

    Einmal editiert, zuletzt von HassanMullah (10. November 2010 um 12:10)

  • [autoit]

    Guictrlsetdata()

    [/autoit]


    Und wenn dus mit dem Button noch nicht weißt:

    [autoit]

    $msg = Guigetmsg()
    If $msg = $dein_button Then

    [/autoit]


    oder auch mit Switch

  • Er will aber auch wissen wie man den Wert ins Label einträgt ;)

  • Ok ich komme der Sache langsam näher. Jetzt rechnet die GUI mal richtig, d.h meine Funktion passt.

    Was ich aber noch nicht verstehe, und deshalb nicht hinbekomme ist

    [autoit]

    GUICtrlCreateButton("Netto berechnen", $varFromLeft, 220, 180, $varTab1High)
    $varNetto = "0"
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "NettoBerechnen")

    [/autoit]

    Was muss ich machen, das

    [autoit]

    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "NettoBerechnen")

    [/autoit]

    nur beim Drücken auf den Button passiert.

    Da ich ja die linke Maus auch zum wechseln der Tabs verwende, rechnet der auch schon an dieser Stelle

    Gruss Hassan

  • @ BadBunny:
    Wenn du schon eine Lösung präsentierst solltest du nicht die Berechnung verändern, denn das von dir ist schlichtweg falsch. Hier soll nicht die MwSt abgezogen werden, sondern ein Netto Gewicht ermittelt werden.

    Zum Problem selbst:

    Die Variablen $erstwiegung bzw $zweitwiegung sind nur die ControlIDs der Inputfelder. Der Inhalt dieser Felder wird wie oben bereits erwähnt mit guictrlread ermittelt bzw mit guictrlsetdata neu gesetzt. Dafür ist es im übrigen wichtig, dass alle Controls gelesen oder verändert werden sollen auch eine zugewiesene Variable haben, damit diese angesprochen werden können.

  • Wenn du meinst das Gewicht 1 - Gewicht 2 dann denke ich meinst du das hier:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    ;~ Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    Dim $varMainWindowHeight, $varMainWindowWidth, $varMainGUI, $varMainTab, $varSubTab1, $varSubTab2, $varSubTab1Icon, $varSubTab2Icon, $varNetto

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

    #region
    ;~ $varMainWindowHeight = (@DesktopHeight - 100)
    ;~ $varMainWindowWidth = (@DesktopWidth - 100)
    $varMainWindowWidth = ("950")
    $varMainWindowHeight = ("700")

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

    ;Hauptfenster wird erzeugt
    $varMainGUI = GUICreate("Meine erste GUI", $varMainWindowWidth, $varMainWindowHeight); Fenster erzeugen
    GUISetBkColor(0x00616561)
    GUISetFont(14, 300, 2, "Verdana")
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    #endregion

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

    #region
    ;Haupt Tab Fenster erzeugen
    $varMainTab = GUICtrlCreateTab(100, 120, 800, 550)

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

    ;Unter Tabs erzeugen
    $varFontSize = "11"
    $varFromLeft = "130"
    $varFromLeft2 = "570"
    $varTab1Widghts = "400"
    $varTab1Widghts2 = "300"
    $varTab1High = "25"

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

    $varSubTab1 = GUICtrlCreateTabItem("Fahrzeug Einfahrt")
    GUICtrlCreateLabel("Hauptnummer: ", $varFromLeft, 180, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("KFZ Kennzeichen: ", $varFromLeft, 220, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("KFZ Kennzeichen - Hänger: ", $varFromLeft, 260, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Volumen: ", $varFromLeft, 300, $varTab1Widghts, 30)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Behördliche Nummer 1: ", $varFromLeft, 340, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Behördliche Nummer 2: ", $varFromLeft, 380, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Behördliche Nummer 3: ", $varFromLeft, 420, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Nummer des Nachweis: ", $varFromLeft, 460, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Nummer von ...: ", $varFromLeft, 500, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateLabel("Erstwägung: (Bitte Gewicht eintragen)", $varFromLeft, 540, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    ;Erzeugung der Input Felder für Tab1:
    GUICtrlCreateInput("", $varFromLeft2, 180, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 220, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 260, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 300, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 340, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 380, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 420, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 460, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    GUICtrlCreateInput("", $varFromLeft2, 500, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)
    $varErstWiegung = GUICtrlCreateInput("", $varFromLeft2, 540, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    $varSubTab2 = GUICtrlCreateTabItem("Fahrzeug Ausfahrt")
    GUICtrlCreateLabel("Zweitwägung: (Bitte Gewicht eintragen)", $varFromLeft, 180, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    $varZweitWiegung = GUICtrlCreateInput("", $varFromLeft2, 180, $varTab1Widghts2, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    $gNettoBtn=GUICtrlCreateButton("Netto berechnen", $varFromLeft, 220, 180, $varTab1High)
    $varNetto = "0"
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "NettoBerechnen")

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

    GUICtrlCreateLabel("Netto Gewicht: ", $varFromLeft, 260, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    $labelNetto=GUICtrlCreateLabel("0", $varFromLeft2, 260, $varTab1Widghts, $varTab1High)
    GUICtrlSetFont(Default, $varFontSize)

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

    GUISetState()
    #endregion

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

    ;Schleife muss sein, damit Hauptfenster sich nicht schließt
    While 1
    $msg = GUIGetMsg()
    If $msg = $gNettoBtn Then NettoBerechnen()
    If $msg = $GUI_EVENT_CLOSE Then CLOSEClicked()

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

    WEnd

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

    ;Ab hier sind die ganzen Funktionen untergebracht
    #region
    Func CLOSEClicked()
    ;MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...")
    Exit
    EndFunc ;==>CLOSEClicked

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

    Func NettoBerechnen()
    $wiegung=GUICtrlRead ($varZweitWiegung)
    $wiegung2= GUICtrlRead ($varErstWiegung)
    Guictrlsetdata ($labelNetto,$wiegung2 -$wiegung )

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

    EndFunc ;==>NettoBerechnen
    #endregion

    [/autoit]
  • [autoit]


    GUICtrlCreateButton("Netto berechnen", $varFromLeft, 220, 180, $varTab1High)
    $varNetto = "0"
    GUICtrlSetOnEvent($GUI_EVENT_PRIMARYDOWN, "NettoBerechnen")

    [/autoit]

    einfach dem Button eine Variable zuweisen und dann auf das Event des Buttons hin die Funktion NettoBerechnen ausführen:

    [autoit]


    $buttonBerechnen = GUICtrlCreateButton("Netto berechnen", $varFromLeft, 220, 180, $varTab1High)
    $varNetto = "0"
    GUICtrlSetOnEvent($buttonBerechnen, "NettoBerechnen")

    [/autoit]

    Alternativ kann auch

    [autoit]


    GUICtrlSetOnEvent(-1, "NettoBerechnen")

    [/autoit]

    benutzt werden, aber dabei ist Vorsicht geboten, da sich -1 immer auf das zuletzt erstellte Objekt bezieht. Solltest du den Quellcode umstrukturieren oder die Erstellung eines anderen Objektes vor den guictrlsetonevent Befehl setzen wird das Event mit dem falschen Objekt verknüpft.

    2 Mal editiert, zuletzt von misterspeed (9. November 2010 um 16:42)


  • Drück mal F5 vorm posten ^^
    Außerdem muss es GUICtrlSetOnEvent statt GUISetOnEvent heißen ;)

  • Hatte ich aus dem Startpost so kopiert und übersehen, da hast du natürlich recht. Dass du bereits geantwortet hattest hab ich auch gesehen und auch noch dazu editiert warum deine Lösung nicht unbedingt ideal ist.

  • Habs mal etwas gekürzt:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus

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

    Dim $varMainWindowHeight, $varMainWindowWidth, $varMainGUI, $varMainTab, $varSubTab1, $varSubTab2, $varSubTab1Icon, $varSubTab2Icon, $varNetto, _
    $aLText[10]=["Hauptnummer: ", "KFZ Kennzeichen: ", "KFZ Kennzeichen - Hänger: ", "Volumen: ", "Behördliche Nummer 1: ", "Behördliche Nummer 2: " , _
    "Behördliche Nummer 3: ", "Nummer des Nachweis: ", "Nummer von ...: ", "Erstwägung: (Bitte Gewicht eintragen)"], _
    $aCPos[10]=[180, 220, 260, 300, 340, 380, 420, 460, 500, 540], _
    $varFontSize = 11, $varFromLeft = 130, $varFromLeft2 = 570, $varTab1Widghts = 400, $varTab1Widghts2 = 300, $varTab1High = 25, $varMainWindowWidth = 950, _
    $varMainWindowHeight = 700
    #Region
    ;Hauptfenster wird erzeugt
    $varMainGUI = GUICreate("Meine erste GUI", $varMainWindowWidth, $varMainWindowHeight); Fenster erzeugen
    GUISetBkColor(0x00616561)
    GUISetFont(11, 300, 2, "Verdana")
    GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
    #EndRegion
    #Region
    ;Haupt Tab Fenster erzeugen
    $varMainTab = GUICtrlCreateTab(100, 120, 800, 550)
    GUICtrlSetFont(-1, 14)
    ;Unter Tabs erzeugen
    $varSubTab1 = GUICtrlCreateTabItem("Fahrzeug Einfahrt")
    For $i=0 to 9
    GUICtrlCreateLabel($aLText[$i], $varFromLeft, $aCPos[$i], $varTab1Widghts, $varTab1High)
    Next
    ;Erzeugung der Input Felder für Tab1:
    For $i=0 to 8
    GUICtrlCreateInput("", $varFromLeft2, $aCPos[$i], $varTab1Widghts2, $varTab1High)
    Next
    $varErstWiegung = GUICtrlCreateInput("", $varFromLeft2, 540, $varTab1Widghts2, $varTab1High)
    $varSubTab2 = GUICtrlCreateTabItem("Fahrzeug Ausfahrt")
    GUICtrlCreateLabel("Zweitwägung: (Bitte Gewicht eintragen)", $varFromLeft, 180, $varTab1Widghts, $varTab1High)
    GUICtrlCreateLabel("Netto Gewicht: ", $varFromLeft, 260, $varTab1Widghts, $varTab1High)
    $NettoLabel=GUICtrlCreateLabel('', $varFromLeft2, 260, $varTab1Widghts, $varTab1High)
    $varZweitWiegung = GUICtrlCreateInput("", $varFromLeft2, 180, $varTab1Widghts2, $varTab1High)
    GUICtrlCreateButton("Netto berechnen", $varFromLeft, 220, 180, $varTab1High)
    GUICtrlSetOnEvent(-1, "NettoBerechnen")
    GUISetState()
    #EndRegion
    ;Schleife muss sein, damit Hauptfenster sich nicht schließt
    While 1
    Sleep(1000) ; Im Leerlauf bummeln, damit Fenster angezeigt wird
    WEnd
    ;Ab hier sind die ganzen Funktionen untergebracht
    #Region
    Func CLOSEClicked()
    ;MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...")
    Exit
    EndFunc ;==>CLOSEClicked
    Func NettoBerechnen()
    $varNetto = GUICtrlRead($varErstWiegung) - GUICtrlRead($varZweitWiegung)
    If $varNetto>0 Then GUICtrlSetData($NettoLabel, $varNetto)
    EndFunc ;==>NettoBerechnen
    #EndRegion

    [/autoit]
  • [autoit]


    ;Erzeugung der Input Felder für Tab1:
    For $i=0 to 8
    GUICtrlCreateInput("", $varFromLeft2, $aCPos[$i], $varTab1Widghts2, $varTab1High)
    Next

    [/autoit]

    Das ist zwar kurz, aber ob es sinnvoll ist? Ich nehme doch mal stark an, dass der Inhalt der Inputboxen in irgendeinerweise weiterverarbeitet oder gespeichert werden soll. Wie liest du die Felder also aus, wenn du die zugehörigen ID's nicht speicherst? Wenn man das schon per Schleife macht um sich Schreibarbeit zu ersparen sollte man zumindestens ein Array verwenden um die ControlIDs zu speichern.

    Also vielleicht so:

    [autoit]


    Global $InputArray[1]
    $InputArray[0]=0
    ;Erzeugung der Input Felder für Tab1:
    For $i=0 to 8
    _arrayadd($InputArray,GUICtrlCreateInput("", $varFromLeft2, $aCPos[$i], $varTab1Widghts2, $varTab1High))
    $InputArray[0]=$i
    Next

    [/autoit]

    Das ganze macht es aber trotzdem schwer ein spezielles Feld im nachhinein auszulesen. Deswegen halte ich es für sinnvoller jeder Inputbox eine namentlich eindeutige Variable zuzuweisen. So hat man z.B. später leichtes Spiel wenn man vorm Speichern der Formulardaten überprüfen will ob alle Angaben in den Feldern gültig sind, also z.B. nur Zahlen enthalten sind oder ein bestimmtes Muster wie beim Nummernschild eingehalten wurde.

  • [autoit]

    $aInputs[8]
    ;...
    For $i=0 to 8
    $aInputs[$i]=GUICtrlCreateInput("", $varFromLeft2, $aCPos[$i], $varTab1Widghts2, $varTab1High)
    Next

    [/autoit]

    :P
    Und ansonsten gibts ja auch noch Enum