IdealGewichtsRechner von KM

  • Das is doch voll mies ich wollte denn machen und dann mal hier zeigen.

    Und die GUI naja die is ja net Grade en prachtstück ich werde die mal verbessern.


    Ok also mal hier meine GUI

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #NoTrayIcon

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

    $GUI = GUICreate("Form1", 560, 180, 193, 125)
    $Meter = GUICtrlCreateLabel("Körpergröße in Meter", 10, 5, 219, 20)
    $gross = GUICtrlCreateInput("z.b 1.75", 10, 20, 145, 20)
    $Kilo = GUICtrlCreateLabel("Gewicht in Kilo:", 10, 50, 75, 20)
    $gewicht = GUICtrlCreateInput("z.b 70", 10, 65, 145, 20)
    $Rechne = GUICtrlCreateButton("Rechnen", 10, 95, 145, 20)
    $Body = GUICtrlCreateLabel("Body Mass Index:", 10, 125, 120, 20)
    $BMI = GUICtrlCreateInput("", 10, 140, 145, 20)

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

    $Kategorie = GUICtrlCreateLabel("Kategorie", 180, 5, 219, 20)
    $Input6 = GUICtrlCreateInput("Untergewicht", 180, 20, 70, 20, $ES_READONLY)
    $Input7 = GUICtrlCreateInput("Normalgewicht", 180, 45, 77, 20, $ES_READONLY)
    $Input8 = GUICtrlCreateInput("Übergewicht", 180, 70, 70, 20, $ES_READONLY)
    $Input8 = GUICtrlCreateInput("Fettleibigkeit Grad I", 180, 95, 104, 20, $ES_READONLY)
    $Input10 = GUICtrlCreateInput("Fettleibigkeit Grad II",180, 120, 105, 20, $ES_READONLY)
    $Input11 = GUICtrlCreateInput("Fettleibigkeit Grad III",180, 145, 105, 20, $ES_READONLY)

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

    $Kategorie = GUICtrlCreateLabel("BMI (kg/m²)", 300, 5, 219, 20)
    $Input6 = GUICtrlCreateInput("< 19", 300, 20, 45, 20, $ES_READONLY)
    $Input7 = GUICtrlCreateInput("19 – 25", 300, 45, 45, 20, $ES_READONLY)
    $Input8 = GUICtrlCreateInput("25 – 30", 300, 70, 45, 20, $ES_READONLY)
    $Input8 = GUICtrlCreateInput("30 – 35", 300, 95, 45, 20, $ES_READONLY)
    $Input10 = GUICtrlCreateInput("35 – 40",300, 120, 45, 20, $ES_READONLY)
    $Input11 = GUICtrlCreateInput("> 40",300, 145, 45, 20, $ES_READONLY)

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

    $Alter = GUICtrlCreateLabel("Alter (Jahre)", 370, 5, 219, 20)
    $Input1 = GUICtrlCreateInput("19 – 24", 370, 20, 45, 20, $ES_READONLY)
    $Input2 = GUICtrlCreateInput("25 – 34", 370, 45, 45, 20, $ES_READONLY)
    $Input3 = GUICtrlCreateInput("35 – 44", 370, 70, 45, 20, $ES_READONLY)
    $Input4 = GUICtrlCreateInput("45 – 54", 370, 95, 45, 20, $ES_READONLY)
    $Input5 = GUICtrlCreateInput("55 – 64", 370, 120,45, 20, $ES_READONLY)
    $Input6 = GUICtrlCreateInput("> 64", 370, 145, 45, 20, $ES_READONLY)

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

    $KG = GUICtrlCreateLabel("BMI-Normalwert (kg/m²)", 440, 5, 219, 20)
    $Input6 = GUICtrlCreateInput("19 – 24", 440, 20, 45, 20, $ES_READONLY)
    $Input7 = GUICtrlCreateInput("20 – 25", 440, 45, 45, 20, $ES_READONLY)
    $Input8 = GUICtrlCreateInput("21 – 26", 440, 70, 45, 20, $ES_READONLY)
    $Input8 = GUICtrlCreateInput("22 – 27", 440, 95, 45, 20, $ES_READONLY)
    $Input10 = GUICtrlCreateInput("23 – 28",440, 120,45, 20, $ES_READONLY)
    $Input11 = GUICtrlCreateInput("24 – 29",440, 145, 45, 20, $ES_READONLY)
    GUISetState(@SW_SHOW)

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


    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    CASE $Rechne
    GUICtrlSetData($BMI, "" & _BMI(GuiCtrlRead($gewicht), GUICtrlRead($gross)))

    EndSwitch
    WEnd



    Func _BMI($gewicht, $groesse)
    if $groesse > 2 then MsgBox(0, "M", "Größe bitte in Meter angeben! " & @crlf & "z.b 1.75")
    if $groesse < 1 then MsgBox(0, "M", "Größe bitte in Meter angeben! " & @crlf & "z.b 1.75")
    if $gewicht < 2 then MsgBox(0, "M", "Gewicht in Kilo angeben" & @crlf & "z.b 70")

    $quadrat = $groesse * $groesse
    $bmi = $gewicht / $quadrat
    Return $bmi


    EndFunc

    [/autoit]


    So der Code wurde mal komplett überarbeitet und nun ist eine liste verfügbar wo man nachschauen kann ob man zuviel oder zuwenig wiegt.

    Hier mal en Screen wie der BMI Rechner nun aussieht

    [Blockierte Grafik: http://sonster.so.funpic.de/BMI.png]


    Und ich würde gerne wissen ob ihr diese liste da gut findet oder es sinnlos war sie reinzutun.

    Ich persönlich finde die Liste ist hilfreich denn dann muss man nicht immer im internet gucken.

    4 Mal editiert, zuletzt von König Mickey (27. September 2007 um 14:44)

  • Hey Huggy ich wolltes das machen und ihr sagt immer alle ich solls selba machen da habe ich es mal selba gemacht und dann kommt mir einer zuvor.

  • König Mickey: ist eine Meisterleistung die GUI sieht ja jetzt so cool aus!
    Denkst du das es allgemein produktiv ist, ein Programm in erster Linie nach dem optischen Aussehen zu beurteilen. In erster Linie sollte es einen sinnvollen/logischen oder problemlösenden Zweck erfüllen. Die Gui steht meiner Meinung nach an zweiter Stelle. Es bringt niemandem etwas, wenn man "sein" eigenes Werk immer wieder (sei es teilweise oder ganz) vor Augen hat. Ich kannst nicht oft genug sagen. Selbst anfangen, eigene Zeilen Code prässentieren (mit der Gui persönlicher Note). Ich finde dein Auftreten allgemein nicht amüsant!

    MfG
    trallala

  • Hi,

    im anliegenden AutoIT Code habe ich noch mal meine Oberfläche überarbeitet und stelle sie als eine Vorschau vor (nur die Oberfläche).
    Da ich bisher im Forum nur als Hilfesuchender unterwegs war,freue ich mich umso mehr hier das Interesse geweckt und Anregung zum nachmachen gegeben zu haben.Auch so kann man voneinander lernen.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    ; IGRvxxxx Preview-Release

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

    #include <GUIConstants.au3>

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

    $Form1_1 = GUICreate("iesis IdealGewichtsRechner v X.0", 401, 308, 193, 115)
    $Input1 = GUICtrlCreateInput("Bitte geben Sie hier Ihre Körpergröße in cm ein !", 16, 16, 361, 28)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    $Group1 = GUICtrlCreateGroup("Geschlecht", 16, 64, 193, 121)
    $Radio1 = GUICtrlCreateRadio(" männlich", 32, 96, 113, 17)
    $Radio2 = GUICtrlCreateRadio(" weiblich", 32, 152, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Label1 = GUICtrlCreateLabel("- kein -", 16, 208, 363, 32)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x800000)
    $Button1 = GUICtrlCreateButton("Idealgewicht berechnen", 16, 256, 217, 25, 0)
    $Button2 = GUICtrlCreateButton("Beenden", 256, 256, 121, 25, 0)
    $Label2 = GUICtrlCreateLabel("V X.0 Build 2007-09-26", 16, 288, 116, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x808080)
    $Label3 = GUICtrlCreateLabel("Kiesi", 352, 288, 27, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x808080)
    $Icon1 = GUICtrlCreateIcon("pe62.ico", 0, 280, 112, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    GUISetState(@SW_SHOW)

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

    ; - ! Achtung - Baustelle ! -

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

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

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

    EndSwitch
    WEnd

    [/autoit]
    • Offizieller Beitrag

    Ich will mal meckern :D aber die hier herangezogene Berechnungsmethode für den BMI ist doch sehr einseitig :P

    Für den BMI gibt es mehrere Berechnungsgrundlagen. Aber in jedem Fall muß unterschieden werden zwischen Männlein und Weiblein.
    Und damit es halbwegs aussagekräftig wird, muß auch das Alter herangezogen werden.
    Na dann, laßt mal sehen ;)

  • Hi KM,
    auch ich habe mich mal mit dem BMI-Rechner beschäftigt und eine Oberfläche gebaut,die ich Dir zu Deiner weiteren Verwendung überlassen möchte.

    Viel Spaß!


    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <GUIConstants.au3>

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

    $GUI = GUICreate(" Body - Mass - Index for König Mickey only", 401, 301, 193, 115)
    $gb_Angaben = GUICtrlCreateGroup("Ihre Angaben", 16, 16, 361, 137)
    $tb_Gewicht = GUICtrlCreateInput(" Gewicht in kg", 32, 48, 153, 21)
    $tb_Groesse = GUICtrlCreateInput(" Größe in cm", 32, 104, 153, 21)
    $rb_Maennlich = GUICtrlCreateRadio(" männlich", 240, 48, 113, 17)
    $rb_Weiblich = GUICtrlCreateRadio(" weiblich", 240, 104, 113, 17)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Icon1 = GUICtrlCreateIcon("StarkUebergew.ico", 0, 336, 168, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
    $lb_AusgabeBMI = GUICtrlCreateLabel(" Ihr BMI ist 31 und ", 16, 168, 172, 28)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x800000)
    $lb_Klasse = GUICtrlCreateLabel(" Sie haben starkes Übergewicht . ", 16, 208, 294, 28)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x800000)
    $bn_rechnen = GUICtrlCreateButton("BMI ausrechnen", 24, 248, 129, 25, 0)
    $bn_Close = GUICtrlCreateButton("Beenden", 232, 248, 137, 25, 0)
    $lb_Version = GUICtrlCreateLabel("V X.0 Build 2007-09-28", 24, 280, 116, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x808080)
    $lb_Author = GUICtrlCreateLabel("König Mickey", 304, 280, 67, 18)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x808080)
    GUISetState(@SW_SHOW)

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

    ; - ! Achtung Baustelle ! -

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

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

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

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Mein Doc sagt ich soll minimal 5 kg zunehmen und der rechner von "Ritzelrocker04" sagt ich habe starkes Übergewicht?

    Also ich werde gleich shcön was essen, das noch mal 250 Gramm gibt. ;)

    LG, Lina.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • Hi Alina,

    Du gehst essen ? Sei vorsichtig man sieht ja was passieren kann !(Scherz)

    Die von Dir bemerkten Ausführungen sind nur Platzhalter für den längsten Text. Bei korrekter Implementierung wid in der ersten Zeile der BMI ausgegeben , die Klassevizierung erfolgt in der Zweiten.
    Zur Auflockerung und grafischen Unterstützung wird je nach Einstufung eines von vier Smilies abgebildet.

    Der Nutzer liest das Ganze als einen Satz und sieht dazu das jeweilige Icon.

    Dies ist aber nur eine Oberfläche (noch ohne Funktion) für KM.

    Ich selbst habe hier den IGR vorgestellt und werde die erhaltenen Tipps ,
    Anregungen und Hinweise in die nächste Stufe des IGR´s einfließen lassen.