tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von Dario Linsky
  • 1 Beitrag von Konstantin Denerz
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
416
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Hallo Leute,

    hab ein Problem! Und zwar schreibe ich ein Programm mit Visual Studio in C++. Ich habe eine GUI, in der man einiges Auswählen kann!
    Ich habe jetzt 9 Tabellen. Anhand der Eingabe in der GUI muss ich entscheiden, welche Tabelle ich nehmen muss! In der Tabelle an sich muss ich nur feste werte auslesen.
    Hat jemand von euch eine Idee, wie man das am elegantesten macht? Mit if, else if usw. sieht das sehr bescheiden aus!
    Wäre für jede Idee und für jeden Tipp dankbar!

    Grüße
    Dorschty
     

  2. #2
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Hab mir den Thread gerade nochmal selbst duchgelesen...
    Ist klar, was ich meine Absicht ist oder soll ich versuchen es näher zu erklären?

    Gruß
    Dorschty
     

  3. #3
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Hi,

    wonach willst du genau unterscheiden, was zu tun ist? Wenn verschiedene Fälle der Eingabe (z.B. in einer Textbox) unterschiedlich behandelt werden müssen, dann sind if-then-else oder evtl. auch switch-case schon die richtigen Ansätze. Aber vielleicht kann man da ja auch noch etwas optimieren, Redundanzen beseitigen, auslagern, usw.

    Zeig am besten mal deinen Code.

    Grüße, D.
    Dorschty bedankt sich. 
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  4. #4
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Ich habe auf meiner GUI mehrere Checkboxen, anhand von denen ich unterscheiden muss!
    Also, wenn eine Checkbox in Verbindung mit einer anderen.
    Meine GUI hat folgende Checkboxen:
    Single
    Double
    Multiple

    Normal
    Tight
    Reduced

    für jede Kombination dieser Checkboxen gibt es eine andere Tabelle, aus der ich einen Wert bekommen muss.

    Ich habe das ganze mal mit if Anweisungen gelöst, das sieht dann so aus:
    (ist jetzt nur für die Kombination Single und Normal)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    
    if(chk_box_single->Checked)
    {
             if(chk_box_normal->Checked)
        {
            if(code_letter == "A")
            {
                sample_size = 5;
            }
            else if(code_letter == "B")
            {
                sample_size = 5;
            }
            else if(code_letter == "C")
            {
                sample_size = 5;
            }
            else if(code_letter == "D")
            {
                sample_size = 5;
            }
            else if(code_letter == "E")
            {
                sample_size = 20;
            }
            else if(code_letter == "F")
            {
                sample_size = 20;
            }
            else if(code_letter == "G")
            {
                sample_size = 32;
            }
            else if(code_letter == "H")
            {
                sample_size = 50;
            }
                 else if(code_letter == "J")
            {
                sample_size = 80;
            }
        }
    }
     

  5. #5
    Registriert seit
    Nov 2001
    Ort
    Gießen
    Beiträge
    4.091
    Hi,

    du kannst doch innerhalb einer einzigen Bedingung mehrere Teilbedingungen logisch miteinander verknüpfen. Damit würdest du dir schonmal eine ganze Menge Schreibarbeit sparen, da du dich ansonsten ständig wiederholst. Und die Klammern kannst du bei einer einzigen Anweisungen in der Verzweigung auch weg lassen.

    Code c:
    1
    2
    3
    4
    5
    6
    
    if(chk_box_single->Checked && chk_box_normal->Checked)
    {
        if(code_letter == "A" || code_letter == "B" || code_letter == "C" || code_letter == "D")
            sample_size = 5;
        else if(code_letter = "E" || ...
    }

    Grüße, D.
     
    "You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse

  6. #6
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Das ist schonmal ein guter Tipp, danke! Bin ich garnicht drauf gekommen...
    Aber das ist irgendwie auch nicht die schönste Lösung!
    Hatte schon mit dem Gedanken gespielt, mir ein Array anzulegen, das die Inhalte der Tabelle beinhaltet und das das Array durchzusuchen! Weiß aber leider nocht nicht genau, wie ich das machen könnte!

    Gruß
    Dorschty
     

  7. #7
    Konstantin Denerz Tutorials.de Gastzugang
    Hallo,

    also ich würde es so in etwa machen:
    Du hast eine Maske auf der was ausgewählt wird. Sobald der Benutzer auf z.B. Ok-Button drückt,
    werden deine Benutzereingaben in einer Nachricht / Kontext / Objekt oder wie du das auch nennen willst gespeichert.
    Dieser Context wird dann von der UI zu einem Service weiter gereicht.
    Der Service kapselt die Geschäftslogik, die den Context auswertet und von entsprechenden DAO's(Data Access Objekts) sich die Tabellen hollt.
    Diese werden dann an die UI weiter gereicht.
    Das Auswerten von dem Context könnte so aussehen:
    Du hast eine Liste mit 3 Auswahlmöglichkeiten (A,B,C) und eine Liste mit 2 Auswahlmöglichkeiten (1,2) auf deiner GUI.
    je nach Kombination A1,A2,B1,B2,C1,C3 soll eine andere Tabelle angezeigt werden.
    Dein Service enthält eine Hashtable mit den Kombinationsmöglichkeiten: A1,A2,B1,B2,C1,C3 als Schlüssel und den DAO's als Werte.
    Das heißt, wenn der Benutzer A und 1 auswählt und das an den Service schickt, greift der Service mit der Kombination A1 oder 1A in das Hashtable und hollt sich das DAO.
    Dann braucht der Service nur die DAO Methode z.B. GetBubuTable aufzurufen und die Bubutable wird dann hoch (zur UI) gereicht.



    Gruß Konstantin
    Dorschty bedankt sich. 

  8. #8
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Hey, das hört sich doch recht gut an!
    Ich glaube so Ähnlich werd ichs machen!
    Vielen Dank euch beiden, für eure Hilfe und eure Tipps!

    Gruß
    Dorschty
     

  9. #9
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    CheckBox müsste glaube ne Eigenschaft Tag haben, dort einfach für die einzelnen sample_size (oder irgendein Objekt) setzen.
    Und beim CheckedChanged Event über den Sender CheckBox ermitteln und Tag auslesen.

    P.S.: wären RadioButtons nicht besser?
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  10. #10
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Hm... hab das jetzt nochmal überdacht und will es jetzt mit RadioButtons machen!
    Mein Problem liegt aber darin, das ich mehrere Gruppen von Radio Buttons habe!
    Wenn ich einfach so alle Radio Buttons auf die Form ziehe, kann ich ja nur eins auswählen, aber ich muss auf meiner Form 3 Sachen auswählen können!
    Kann man bei RadioButtons "Gruppen" bilden, also das rad_btn1 und rad_btn2 zB. eine Gruppe sind und ich darin auswählen kann und rad_btn3 und rad_btn4 sind dann eine andere Gruppe, bei der ich auch eins auswählen kann.

    Wäre für jede Hilfe dankbar

    Grüße
    Dorschty
     

  11. #11
    Avatar von Spyke
    Spyke Spyke ist offline Capoeirista
    Registriert seit
    Oct 2002
    Beiträge
    931
    Die RadioButtons sind nur innerhalb ihres Eltern Elements gruppiert.

    Wenn du also z.B. mehrere Panels auf deine Form klascht und dort jeweils die Radio Buttons setzt. Sind diese im jeweiligen Panel nur gruppiert.
     
    www.iv-interactive.de - Projektewebsite
    WikiParser - aktuelles Projekt

  12. #12
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Danke für deine Antwort!
    Aber ist es nicht möglich mehrere RadioButtons zu gruppieren ohne mehrere Panels anzulegen? Hab von der Eigenschaft "GroupName" gelesen, in der man das wohl machen könnte! Aber irgendwie finde ich die Eigenschaft bei den RadioButtons nicht. Gibt es eine Möglichkeit das zu realisieren ohne mehrere Panels oder geht es nur so?

    Grüße
    Dorschty
     

  13. #13
    Dorschty Dorschty ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    172
    Sorry Leute hat sich erledigt!
    Dachte Panel wäre etwas sichtbares wie eine GroupBox oder so! Habs jetzt ausprobiert und es ist genauso, wie ich es wollte! Also Danke nochmal!

    Grüße
    Dorschty
     

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 23.07.08, 19:41
  2. Flasher für Umsetzung speziellen Headers gesucht
    Von ActiveRendering im Forum Stellenangebote (unentgeltlich)
    Antworten: 0
    Letzter Beitrag: 28.04.08, 17:58
  3. xhtml + CSS Talent für Design umsetzung gesucht!
    Von PowerCheat im Forum Stellenangebote (unentgeltlich)
    Antworten: 3
    Letzter Beitrag: 15.11.07, 16:43
  4. Weltststarke Idee, Umsetzung nicht möglich?
    Von geteverything im Forum Creative Lounge
    Antworten: 3
    Letzter Beitrag: 07.07.04, 07:16
  5. Beginnerin in JS braucht Hilfe bei Umsetzung einer Idee
    Von AlexaB im Forum Javascript & Ajax
    Antworten: 11
    Letzter Beitrag: 08.10.03, 18:49