Notenschnittberechner

  • Hallo bin noch schüler und habe mir deßhalb mal eine kleine gui gebastelt bei der ich meine noten von dem fach eingebe, und dann den zukünftigen notenschnitt bei einer weiteren note erfahre ( des ist diese $ZN), sprich ich habe in einer woche eine schulaufgabe und würde gerne wissen was ich für einen schnitt hätte wenn ich zb eine 5 hätte
    das klappt allerdings noch nicht wirklich...
    also die Funktion _ausrechnen soll schaut zwar jetz noch sehr komisch aus, aber auch nur weil ich nicht weiter komme
    wie frage ich ab ob in einem inputfeld auch etwas eingegeben wurde?
    dann wie dividiere ich, dass ich den schnitt dann habe?
    was auch komisch ist, wenn ich die felder jetz einfach lasse und generieren drücke kommt 350 raus...warum das???

    [autoit]


    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    $Form1 = GUICreate("Notenschnittberechner ", 622, 287, 190, 123)
    $Group1 = GUICtrlCreateGroup("", 8, 24, 609, 233)
    $Label1 = GUICtrlCreateLabel("Bitte einfach die enstsprechende Note in das Feld eintragen, falls keine Note vorhanden ist einfach Feld freilassen", 16, 32, 540, 17)
    $Label2 = GUICtrlCreateLabel("1. Schulaufgabe", 16, 56, 82, 17)
    $Label3 = GUICtrlCreateLabel("2. Schulaufgabe", 11, 81, 82, 17)
    $Label4 = GUICtrlCreateLabel("3. Schulaufgabe", 11, 105, 82, 17)
    $Label5 = GUICtrlCreateLabel("4. Schulaufgabe", 11, 129, 82, 17)
    $1sch = GUICtrlCreateInput("", 104, 56, 41, 21)
    $2sch = GUICtrlCreateInput("", 104, 80, 41, 21)
    $3sch = GUICtrlCreateInput("", 104, 104, 41, 21)
    $4sch = GUICtrlCreateInput("", 104, 128, 41, 21)
    $Label7 = GUICtrlCreateLabel("1. Ex", 24, 152, 28, 17)
    $1ex = GUICtrlCreateInput("", 104, 152, 41, 21)
    $2ex = GUICtrlCreateInput("", 104, 176, 41, 21)
    $3ex = GUICtrlCreateInput("", 104, 200, 41, 21)
    $4ex = GUICtrlCreateInput("", 104, 224, 41, 21)
    $Label8 = GUICtrlCreateLabel("2. Ex", 24, 176, 28, 17)
    $Label9 = GUICtrlCreateLabel("3. Ex", 24, 200, 28, 17)
    $Label10 = GUICtrlCreateLabel("4. Ex", 24, 224, 28, 17)
    $Sonstige = GUICtrlCreateLabel("Sonstige:(zählt als mündliche Note!!!)", 184, 56, 178, 17)
    $sons1 = GUICtrlCreateInput("", 376, 56, 33, 21)
    $sons2 = GUICtrlCreateInput("", 424, 56, 33, 21)
    $sons3 = GUICtrlCreateInput("", 472, 56, 33, 21)
    $sons4 = GUICtrlCreateInput("", 520, 56, 33, 21)
    $sons5 = GUICtrlCreateInput("", 376, 88, 33, 21)
    $sons6 = GUICtrlCreateInput("", 424, 88, 33, 21)
    $sons7 = GUICtrlCreateInput("", 472, 88, 33, 21)
    $sons8 = GUICtrlCreateInput("", 520, 88, 33, 21)
    $Group2 = GUICtrlCreateGroup("", 176, 128, 393, 113)
    $Label11 = GUICtrlCreateLabel("Bitte gebe die Note ein, mit der dein neuer Schnitt berechnet werden soll", 184, 144, 345, 17)
    $Label12 = GUICtrlCreateLabel("Schulaufgabe:", 184, 176, 73, 17)
    $Label13 = GUICtrlCreateLabel("Ex:", 184, 208, 19, 17)
    $ZN1 = GUICtrlCreateInput("", 272, 176, 49, 21) ;die neue Note bei Schulaufgabe
    $ZN2 =GUICtrlCreateInput("", 272, 208, 49, 21) ; die neue note bei ex
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Label6 = GUICtrlCreateLabel("Marcel Böhm", 40, 264, 127, 17)
    $Generieren = GUICtrlCreateButton("Generieren", 480, 264, 97, 17, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Generieren
    _ausrechnen()

    EndSelect
    WEnd
    Func _ausrechnen()
    $ges = $1sch * 2 + $2sch * 2 + $3sch * 2 + $4sch * 2 + $1ex + $2ex + $3ex + $4ex + $sons1 + $sons2 + $sons3 + $sons4 + $sons5 + $sons6 + $sons7 + $sons8
    MsgBox(0, "", $ges) ;die habe ich nur um zu sehen ob es erstmal klappt
    EndFunc

    [/autoit]
  • Dies

    [autoit]

    $ges = $1sch * 2 + $2sch * 2 + $3sch * 2 + $4sch * 2 + $1ex + $2ex + $3ex + $4ex + $sons1 + $sons2 + $sons3 + $sons4 + $sons5 + $sons6 + $sons7 + $sons8

    [/autoit]


    geht so nicht.
    damit addierst du die ID des jewiligen Feldes und nicht den Inhalt.
    Du mußt den Inhalt mit GUICtrlRead auslesen.

    Damit kannst du dann auch erfahren ob der Inhalt leer ("") ist.

  • So würde es z.B. funktionieren:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Global $sons[9], $sch[5], $ex[5], $zn[3]
    $Form1 = GUICreate("Notenschnittberechner ", 622, 287, 190, 123)
    $Group1 = GUICtrlCreateGroup("", 8, 24, 609, 233)
    $Label1 = GUICtrlCreateLabel("Bitte einfach die enstsprechende Note in das Feld eintragen, falls keine Note vorhanden ist einfach Feld freilassen", 16, 32, 540, 17)
    $Label2 = GUICtrlCreateLabel("1. Schulaufgabe", 11, 56, 82, 17)
    $Label3 = GUICtrlCreateLabel("2. Schulaufgabe", 11, 81, 82, 17)
    $Label4 = GUICtrlCreateLabel("3. Schulaufgabe", 11, 105, 82, 17)
    $Label5 = GUICtrlCreateLabel("4. Schulaufgabe", 11, 129, 82, 17)
    $sch[1] = GUICtrlCreateInput("", 104, 56, 41, 21)
    $sch[2] = GUICtrlCreateInput("", 104, 80, 41, 21)
    $sch[3] = GUICtrlCreateInput("", 104, 104, 41, 21)
    $sch[4] = GUICtrlCreateInput("", 104, 128, 41, 21)
    $Label7 = GUICtrlCreateLabel("1. Ex", 24, 152, 28, 17)
    $ex[1] = GUICtrlCreateInput("", 104, 152, 41, 21)
    $ex[2] = GUICtrlCreateInput("", 104, 176, 41, 21)
    $ex[3] = GUICtrlCreateInput("", 104, 200, 41, 21)
    $ex[4] = GUICtrlCreateInput("", 104, 224, 41, 21)
    $Label8 = GUICtrlCreateLabel("2. Ex", 24, 176, 28, 17)
    $Label9 = GUICtrlCreateLabel("3. Ex", 24, 200, 28, 17)
    $Label10 = GUICtrlCreateLabel("4. Ex", 24, 224, 28, 17)
    $Sonstige = GUICtrlCreateLabel("Sonstige:(zählt als mündliche Note!!!)", 184, 56, 178, 17)
    $sons[1] = GUICtrlCreateInput("", 376, 56, 33, 21)
    $sons[2] = GUICtrlCreateInput("", 424, 56, 33, 21)
    $sons[3] = GUICtrlCreateInput("", 472, 56, 33, 21)
    $sons[4] = GUICtrlCreateInput("", 520, 56, 33, 21)
    $sons[5] = GUICtrlCreateInput("", 376, 88, 33, 21)
    $sons[6] = GUICtrlCreateInput("", 424, 88, 33, 21)
    $sons[7] = GUICtrlCreateInput("", 472, 88, 33, 21)
    $sons[8] = GUICtrlCreateInput("", 520, 88, 33, 21)
    $Group2 = GUICtrlCreateGroup("", 176, 128, 393, 113)
    $Label11 = GUICtrlCreateLabel("Bitte gebe die Note ein, mit der dein neuer Schnitt berechnet werden soll", 184, 144, 345, 17)
    $Label12 = GUICtrlCreateLabel("Schulaufgabe:", 184, 176, 73, 17)
    $Label13 = GUICtrlCreateLabel("Ex:", 184, 208, 19, 17)
    $zn[1] = GUICtrlCreateInput("", 272, 176, 49, 21) ;die neue Note bei Schulaufgabe
    $zn[2] = GUICtrlCreateInput("", 272, 208, 49, 21) ; die neue note bei ex
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Label6 = GUICtrlCreateLabel("Marcel Böhm", 40, 264, 127, 17)
    $Generieren = GUICtrlCreateButton("Generieren", 480, 264, 97, 17, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $Generieren
    _ausrechnen()

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

    EndSelect
    WEnd

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

    Func _ausrechnen()
    Local $sNotenAnzahl = 0, $sNotenGesamt = 0
    For $i = 1 To 4
    If GUICtrlRead($sch[$i]) <> "" Then
    $sNotenAnzahl += 2
    $sNotenGesamt += GUICtrlRead($sch[$i]) * 2
    EndIf
    If GUICtrlRead($ex[$i]) <> "" Then
    $sNotenAnzahl += 1
    $sNotenGesamt += GUICtrlRead($ex[$i])
    EndIf
    Next
    For $i = 1 To 8
    If GUICtrlRead($sons[$i]) <> "" Then
    $sNotenAnzahl += 1
    $sNotenGesamt += GUICtrlRead($sons[$i])
    EndIf
    Next
    If GUICtrlRead($zn[1]) <> "" Then
    $sNotenAnzahl += 2
    $sNotenGesamt += GUICtrlRead($zn[1]) * 2
    EndIf
    If GUICtrlRead($zn[2]) <> "" Then
    $sNotenAnzahl += 1
    $sNotenGesamt += GUICtrlRead($zn[2])
    EndIf
    MsgBox(0, "", $sNotenGesamt / $sNotenAnzahl)
    EndFunc ;==>_ausrechnen

    [/autoit]
  • upps^^...
    ja des ist mein erstes autoit script mit gui
    also ich habe das jetzt so gemacht:

    [autoit]

    $1schm = GUICtrlRead($1sch)
    $2schm = GUICtrlRead($2sch)
    $3schm = GUICtrlRead($3sch)
    $4schm = GUICtrlRead($4sch)
    $1exm = GUICtrlRead($1ex)
    $2exm = GUICtrlRead($2ex)
    $3exm = GUICtrlRead($3ex)
    $4exm = GUICtrlRead($4ex)
    $sons1m = GUICtrlRead($sons1)
    $sons1m = GUICtrlRead($sons1)
    $sons1m = GUICtrlRead($sons1)
    $sons1m = GUICtrlRead($sons1)
    $sons1m = GUICtrlRead($sons1)
    $sons1m = GUICtrlRead($sons1)
    $sons1m = GUICtrlRead($sons1)
    $sons1m = GUICtrlRead($sons1)

    [/autoit]


    aber wie funktioniert dass jetzt mit dem berechnen?

    /edit

    danke danke danke!!!!
    funktioniert klasse...
    jetz muss ich nur noch design etc. anpassen

    Einmal editiert, zuletzt von Reaker (1. Juli 2009 um 19:33)