Neuling sucht Hilfe für Wenn, dann mit Text und Ja/nein

  • Hallo, ja es hört sich jetz vielleicht ein bisschen komisch an aber ich bin ziemlich neu hier und habe im Tutorial keinen Ansatz dazu gefunden.

    Ich möchte mir ein kleines Programm schreiben (schreiben lassen ;D) das mir für Kapihospital ausrechnet, ob sich der Kranke Mensch am Markt lohnt oder nicht. Nein, das ist nicht illegal. Ich durfte meine Excel datei dazu verbreiten, allerdings würde sich das natürlich als Programm viel besser machen. Es ist nämlich kein Bot oder sonstiges sondern nur eine Hilfe die sich jeder erstellen kann.

    Es geht darum:
    Es würde ca so aussehen von der Fragestellung. (Nur ein Beispiel, keine festen werte)
    Maximal-Ausgabe des Kunden: 500 hT (Text der eingegeben werden muss)
    Preis des Verkäufers: 400 hT (Text der eingegeben werden muss)
    Krankheit Nasenflügel-Akne: Ja / Nein (reicht JA oder NEIN Button)
    Krankheit 2: Ja/nein
    Krankheit 3: Ja/nein
    usw.
    Falls Krankheit 1 Ja, dann Preis von xx hT (kosten für das Medikament), falls nein, keine Kosten.
    Und am Schluss sollte dann dastehen wie z.B.
    Sie machen bei dem Kauf dieses Kunden xx hT Gewinn, der kauf lohnt sich.

    Falls möglich bräuchte ich Ansatz-Hilfen, Hilfen, oder den Quellcode dafür :P

    PS: Ich habe gelesen das man die Krankheiten auch per Pixel-Daten einlesen lassen kann, stimmt das? Ist das noch legal?

    LG

    Einmal editiert, zuletzt von Likey (1. November 2010 um 20:05)

  • Hi!


    Wenn du mich Überdimensional Bezahlst mach ich den Algo für dich, kann ein wenig ( ganz viel zeit in anspruch nehmen).
    Nein im ernst das was du hir machen möchtes ist ( Ein starkes stück der wirtschaft ) was Realität ist davon ab wenn ich den ultimative Algo hätte würde ich schon an einem Strand mit Mäd.... ligen wenn du weist was ich meine.


    Riesen Projekt . . .. .

    Lg Kleiner

  • Warum das denn , wenn ich das richtig verstanden hab ist es relativ simpel ......
    Du willst das der Preis je nach Ja /Nein antwort sich ändert oder?
    Ich glaube ich blicke nicht durch wenn das so schwer sein soll.

  • um das Thema mal ein wenig abzukürzen:
    Auszug aus den "Regeln" von KapiHospital:

    Zitat

    §5 Bots oder andere, extrem spielbeeinflussende Tools sind strengstens verboten.


    Daimit sollte das Thema hier abgehandelt sein. ;)

    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. ;)

  • Es ist kein Bot es ist ein Skript der dir hilft entscheidungen zu treffen !
    EDIT: Likey ist neu ,bedeutet deine Themen werden von Mods überprüft bevor sie öffentlich sind.
    Also hat das ein Mod erlaubt!!!

    Einmal editiert, zuletzt von WOnder (1. November 2010 um 11:11)

  • Zitat

    Hallo, ja das ist richtig. Ich möchte:
    Das ich den Betrag eingeben können den der Kranke gibt. z.B. 500 hT
    Minus - Verkaufspreis des Anbieters
    Minus Medikament für Krankheit A "Ja/Nein"
    Minus Medikament für Krankheit B "Ja/Nein"
    Minus Medikament für Krankheit C "Ja/Nein"
    Minus Medikament für Krankheit D "Ja/Nein"
    = Gewinn bei Kauf des Erkrankten

    um das Thema mal ein wenig abzukürzen:
    Auszug aus den "Regeln" von KapiHospital:

    Zitat
    Zitat


    Daimit sollte das Thema hier abgehandelt sein. ;)

    Das ist falsch, denn es beeinflusst auf gar keine Weise das Spiel denn jeder Mensch kann sich das auch im Kopf ausrechnen oder am Rechner, dauert halt nur ein wenig länger. Deswegen durfte ich nach Kontakt mit Kapi-Hospital ja auch schon meine Excel Datei verbreiten, auf Wunsch kann ich diese ja mal Hochladen damit ihr genauer versteht wie ich es meinte :)

    Zitat


     Es ist kein Bot es ist ein Skript der dir hilft entscheidungen zu treffen !

    Richtig.


    Zitat

    Passiert jedem einmal ;)

  • Ich könnte ich dir noch die Liste geben für die Medikamentsnamen bzw Krankheitsnamen und Medikamentenpreise. Aber das können wir nachm Grundgerüst ja immer noch machen :)

    Vielen dank dir :)

  • Jetzt ist es fertig schreib einfach deine Werte rein dann müsste es passen

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Jonas\Documents\Formen\Krank.kxf
    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Form1", 278, 493, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Input1 = GUICtrlCreateInput("Input1", 16, 8, 121, 21)
    $Input2 = GUICtrlCreateInput("Input2", 16, 56, 121, 21)
    $Checkbox1 = GUICtrlCreateCheckbox("Krankheit1", 96, 248, 97, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Krankheit2", 96, 280, 97, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Krankheit3", 96, 320, 97, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Krnakheit4", 96, 360, 97, 17)
    $Label1 = GUICtrlCreateLabel("Was gibt der Krnake", 160, 16, 101, 17)
    $Label2 = GUICtrlCreateLabel("Was wird abgezogen?", 160, 56, 110, 17)
    $Button1 = GUICtrlCreateButton("Button1", 88, 424, 89, 25, 0)
    GUICTRLSetOnEvent($Button1, "_Start")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Func _Start()

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

    $Rinput1=GUICTRLREAD($Input1)-GUICTRLREAD($Input2) ; minus wenn ich richtig verstehe
    If GUICTRLREAD($Checkbox1) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 123 ; den Betrag der da abgezogen wird (für medikament)
    ElseIf GUICTRLREAD($Checkbox2) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 1234 ; den Betrag der da abgezogen wird (für medikament)

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

    Elseif GUICTRLREAD($Checkbox3) = $GUI_CHECKED Then
    $Rinput1= $Rinput1 - 1234 ; den Betrag der da abgezogen wird (für medikament)
    ElseIf GUICTRLREAD($Checkbox4) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 1234 ; den Betrag der da abgezogen wird (für medikament)
    EndIf
    Msgbox(0,"",$Rinput1)

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

    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

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

    while 1
    sleep(10)
    WEnd

    [/autoit]

    2 Mal editiert, zuletzt von WOnder (1. November 2010 um 11:53)

    • Offizieller Beitrag

    Nur um nochmal eindeutig klarzustellen, warum der Thread zugelassen wurde:

    Hier findet keinerlei Automatisierung des Spiels statt. Ebensowenig soll das Skript mit dem Spiel interagieren. Deswegen ist es kein Gamebot, sondern eine Entscheidungshilfe (oder, wie man es nennen möchte). Ein Taschenrechner mit x belegten Speicherfeldern ist nichts wesentlich anderes. ;)

  • Spoiler anzeigen

    Sieht schon mal sehr gut aus, danke.

    Bei der ersten Version kam immer Wert für die erste Krankheit raus, egal was ich für nen Wert eingebeben habe.
    Jetzt bei der letzten Version kommt "Line 1 (File .../Test.au3"):
    [autoit#include <ButtonConstants.au3>]
    [autoit^ ERROR

    Error: Missing seperator character after Keyword.


    PS: Dankeschön BugFix für die Äußerung :)

  • mal schauen wo uns der Thread noch hinführt ;)

    Zitat

    PS: Ich habe gelesen das man die Krankheiten auch per Pixel-Daten einlesen lassen kann, stimmt das? Ist das noch legal?

    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. ;)

  • Spoiler anzeigen

    Sieht schon mal sehr gut aus, danke.

    Bei der ersten Version kam immer Wert für die erste Krankheit raus, egal was ich für nen Wert eingebeben habe.
    Jetzt bei der letzten Version kommt "Line 1 (File .../Test.au3"):
    [autoit#include <ButtonConstants.au3>]
    [autoit^ ERROR

    Error: Missing seperator character after Keyword.


    PS: Dankeschön BugFix für die Äußerung :)

    Ja ich habes geändert probier nochmal


    Hier nochmal zum kopieren

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Jonas\Documents\Formen\Krank.kxf
    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Form1", 278, 493, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Input1 = GUICtrlCreateInput("Input1", 16, 8, 121, 21)
    $Input2 = GUICtrlCreateInput("Input2", 16, 56, 121, 21)
    $Checkbox1 = GUICtrlCreateCheckbox("Krankheit1", 96, 248, 97, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Krankheit2", 96, 280, 97, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Krankheit3", 96, 320, 97, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Krnakheit4", 96, 360, 97, 17)
    $Label1 = GUICtrlCreateLabel("Was gibt der Krnake", 160, 16, 101, 17)
    $Label2 = GUICtrlCreateLabel("Was wird abgezogen?", 160, 56, 110, 17)
    $Button1 = GUICtrlCreateButton("Button1", 88, 424, 89, 25, 0)
    GUICTRLSetOnEvent($Button1, "_Start")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Func _Start()

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

    $Rinput1=GUICTRLREAD($Input1)-GUICTRLREAD($Input2) ; minus wenn ich richtig verstehe
    If GUICTRLREAD($Checkbox1) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 123 ; den Betrag der da abgezogen wird (für medikament)
    ElseIf GUICTRLREAD($Checkbox2) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 1234 ; den Betrag der da abgezogen wird (für medikament)

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

    Elseif GUICTRLREAD($Checkbox3) = $GUI_CHECKED Then
    $Rinput1= $Rinput1 - 1234 ; den Betrag der da abgezogen wird (für medikament)
    ElseIf GUICTRLREAD($Checkbox4) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 1234 ; den Betrag der da abgezogen wird (für medikament)
    EndIf
    Msgbox(0,"",$Rinput1)

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

    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

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

    while 1
    sleep(10)
    WEnd

    [/autoit]

  • Versteh darunter bitte aber keinen Freibrief. Sollte sich hier ein anderer (als von mir gutmütig angenommener) Weg herauskristallisieren, dann gibt es kein Pardon.

    Is klar chef :)


    [/quote][/quote]Also soweit funktioniert er Super, habe Ihn noch ein bisschen Editiert (mehr Checkboxen und Preise der Medikamente eingefügt) das einzige was jetz noch nicht ganz passt ist, das er immer nur 1 Medikament abzieht und nicht alle Medikamente die gebraucht werden zusammen vom Gesamtpreis abzieht ;) Wenn das noch hinbekommst wäre das Spitzenklasse :)

    mal schauen wo uns der Thread noch hinführt ;)

    Da habe ich mich wohl falsch ausgedrückt ;D ich wollte damit anfragen, ob es möglich wäre ein Miniaturbild der Krankheit neben den Text noch mit einzufügen. Damit man die Krankheiten direkt per Bild vergleichen kann falls man die Namen nicht kennt ;) Aber wie es da rechtlich mit den Bildern aussieht ob man die einfach bei sich einbauen kann weiss ich leider nicht.

    LG

  • &quot;eine Alternative&quot;
    [autoit]

    #include <GUIConstants.au3>

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

    #region ### START Koda GUI section ### Form=C:\Users\Jonas\Documents\Formen\Krank.kxf
    Opt("GUIOnEventMode", 1)
    Dim $aKranheiten[3][2] = [["Masern", 123], _
    ["Grippe", 230], _
    ["Pest", 500]]

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

    $Form1 = GUICreate("Form1", 278, 493, 192, 124)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Input1 = GUICtrlCreateInput("Input1", 16, 8, 121, 21)
    $Input2 = GUICtrlCreateInput("Input2", 16, 56, 121, 21)
    $left = 96
    $top = 248
    For $i = 0 To UBound($aKranheiten) - 1
    Assign("Checkbox" & $i, GUICtrlCreateCheckbox($aKranheiten[$i][0], $left, $top))
    $top += 20
    Next
    $Label1 = GUICtrlCreateLabel("Was gibt der Krnake", 160, 16, 101, 17)
    $Label2 = GUICtrlCreateLabel("Was wird abgezogen?", 160, 56, 110, 17)
    $Button1 = GUICtrlCreateButton("start", 88, 424, 89, 25, 0)
    GUICtrlSetOnEvent(-1, "_start")
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    Func _start()
    Local $tmp = 0
    For $i = 0 To UBound($aKranheiten) - 1
    If BitAND(GUICtrlRead(Eval("checkbox" & $i)), $GUI_CHECKED) = $GUI_CHECKED Then
    $tmp += $aKranheiten[$i][1]
    EndIf
    Next
    $Result = GUICtrlRead($Input1) - GUICtrlRead($Input2) - $tmp
    MsgBox(0, "", $Result)
    EndFunc ;==>_start

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

    Func _Exit()
    Exit
    EndFunc ;==>_Exit

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

    While 1
    Sleep(10)
    WEnd

    [/autoit]
  • Danke, ich hab mir mal den Code angesehen und gemerkt das es für mich total unübersichtlich ist, der andere hingegen total verständlich :) Aber trotzdem danke. (Bitte nicht bös sein, bin doch nur ein Anfänger :P)

    Edit: Habs mir jetz doch nochmal genauer angeschaut :) Also soweit komm ich damit auch klar, allerdings berechnet er Krankheit 1 und Krankheit 3 selbst wenn kein Haken drinn ist, Krankheit 2 berücksichtigt er gar nicht ;)

    Einmal editiert, zuletzt von Likey (1. November 2010 um 14:31)

  • Hey also bei mir zieht er alle ab (du meinst die Checkboxen oder?)
    Zeig einfach mal den Quellcode!
    EDIT:Ok habe jetzt eine etwas andere Methode genommen (noch simpler)

    [autoit]

    $gesamt=inputbox("Patient","Was gibt der Patient?","")
    $abzug=inputbox("Patient","Was wird dem abgezogen?","")
    $Medi=inputbox("Medikament","Kosten für Medikamente","")
    $Medi1=inputbox("Medikament","Kosten für Medikamente","")
    $Medi2=inputbox("Medikament","Kosten für Medikamente","")
    $Medi3=inputbox("Medikament","Kosten für Medikamente","")
    $Medi4=inputbox("Medikament","Kosten für Medikamente","");und so weiter
    _Func()

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

    Func _Func()
    $1= $gesamt - $abzug
    $2=$1-$Medi
    $3=$2-$Medi1
    $4=$3-$Medi2
    $5=$4-$Medi3
    $6=$5-$Medi4;und so weiter

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

    Msgbox(0,"Ergebnis",$6)
    EndFunc

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

    2 Mal editiert, zuletzt von WOnder (1. November 2010 um 18:43)

  • Hier issa :)

    Spoiler anzeigen

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Jonas\Documents\Formen\Krank.kxf
    Opt("GUIOnEventMode", 1)
    $Form1 = GUICreate("Kapihospital Börsenrechner", 278, 560, 300, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    $Input1 = GUICtrlCreateInput("Erlös", 16, 8, 121, 21)
    $Input2 = GUICtrlCreateInput("Kosten", 16, 56, 121, 21)
    $Checkbox1 = GUICtrlCreateCheckbox("Nasenflügelakne", 96, 248, 200, 17)
    $Checkbox2 = GUICtrlCreateCheckbox("Zwergfellentzündung", 96, 280, 200, 17)
    $Checkbox3 = GUICtrlCreateCheckbox("Brecheritis", 96, 320, 200, 17)
    $Checkbox4 = GUICtrlCreateCheckbox("Schädelbrummen", 96, 360, 200, 17)
    $Checkbox5 = GUICtrlCreateCheckbox("Schürfwunde", 96, 400, 200, 17)
    $Checkbox6 = GUICtrlCreateCheckbox("Segelohrentzündung", 96, 440, 200, 17)
    $Label1 = GUICtrlCreateLabel("Maximal Erlös", 160, 16, 101, 17)
    $Label2 = GUICtrlCreateLabel("Preis des Verkäufers?", 160, 56, 110, 17)
    $Button1 = GUICtrlCreateButton("Berechnen", 88, 480, 89, 25, 0)
    GUICTRLSetOnEvent($Button1, "_Start")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    Func _Start()

    $Rinput1=GUICTRLREAD($Input1)-GUICTRLREAD($Input2) ; minus wenn ich richtig verstehe
    If GUICTRLREAD($Checkbox1) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 0.21 ; den Betrag der da abgezogen wird (für medikament)
    ElseIf GUICTRLREAD($Checkbox2) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 2.78 ; den Betrag der da abgezogen wird (für medikament)

    Elseif GUICTRLREAD($Checkbox3) = $GUI_CHECKED Then
    $Rinput1= $Rinput1 - 0.17 ; den Betrag der da abgezogen wird (für medikament)
    ElseIf GUICTRLREAD($Checkbox4) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 0.22 ; den Betrag der da abgezogen wird (für medikament)
    ElseIf GUICTRLREAD ($Checkbox5) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 0.22 ;
    Elseif GUICTRLREAD($Checkbox6) = $GUI_CHECKED Then
    $Rinput1 = $Rinput1 - 3.42 ;
    EndIf
    Msgbox(0,"",$Rinput1)


    EndFunc

    Func _Exit()
    Exit
    EndFunc

    while 1
    sleep(10)
    WEnd

    Alles klar, dankeschön :)