suche bessere Lösung für Prüfung auf Vollständigkeit



  • Hallo,

    ich suche eine bessere Lösung, oder mal so gefragt, wie würdet Ihr das Problem
    lösen?

    Problem:

    je nach Vorgabe der möglichen Werte, kann das Prg verschiedene Variablen zur Eingabe haben, minimal 3 maximal 11
    es sind drei verschiedene Rechnungsvarianten möglich in Abhängigkeit der Eingaben

    eine Prüfung ob die Boxen mit den richtigen Werten gefüllt wird, wird bei der Eingabe geprüft, ich prüfe aber nicht auf Vollständigkeit

    dieses wird erst beim Klick auf den Button Berechnen ausgeführt.

    Meine Lösung ist zZ so:
    bei einer Prüfung mit min. 3 Werten

    private: System::Void toolStripButtonGo_Click(System::Object^  sender, System::EventArgs^  e) {
    			 //pruefe ob StatusAnzeige OFF ist
    			 if (toolStripMenuItemProgressBar->Checked==false)
    			 {
    				 bool rechnen = true;
    				 String ^tex="";
    
    				 //Prüfe Rechnugsfunktion Schnellrechner
    				 if (toolStripMenuItemSchnellrechner->Checked==true)
    				 {
    					 if (textBoxLinkLaenge->Text == String::Empty)
    					 {
    						 tex=tex->Insert(tex->Length,labelLink->Text+" \r\n");
    						 rechnen = false;
    					 }
    					 if (textBoxSpleisse->Text == String::Empty)
    					 {
    						 tex=tex->Insert(tex->Length,labelVerbindung->Text+" \r\n");
    						 rechnen = false;
    					 }
    					 if (textBoxVerbindungen->Text == String::Empty)
    					 {
    						 tex=tex->Insert(tex->Length,labelSpleisse->Text+" \r\n");
    						 rechnen = false;
    					 }
    					 if (rechnen==false)
    					 {
    						 con(tex);
    					 }
    					 else
    					 {
    						 //wenn alle Daten vorhanden sind->Rechnen
    						 //***************************************	
    					 }
    			 }
    		 }
    

    Beschreibung:

    Prüfe auf Hilfsfunktion //muss sein, da sonst die selektive Hilfe eingreift
    Prüfe auf Berechnungsvariante //muss sein da andere Eingabeboxen leer sind
    Prüfe Eingabeboxen auf Empty
    Ausgabe Message über con, welche Felder leer sind

    speziell geht es mir um eine Lösung der Prüfung auf Empty der Boxen, da diese
    bei der maximalen Variante recht lang wird

    gibt es da bessere Lösungen?

    mfg



  • Mir fällt nur noch:

    String::IsNullOrEmpty(...)
    

    ein...



  • ich würde außerdem auf Gültigkeit prüfen - ein leeres Feld ist ja ungültig

    außerdem könntest Du die TextBoxen in ein Array packen und alles in einer Schleife abfragen



  • hi,

    @Jochen
    das werde ich nutzen,

    mir ist bis jetzt auch nichts besseres eingefallen

    da die Eingabemasken zu variabel sind und auch die möglichen Lösungen stark
    von den zur Verfügung stehenden Eingaben abhängen wird es wohl keine weitere Vereinheitlichung geben

    @mogel
    ich prüfe ja ob die dann zur Rechnung nötigen Felder leer sind!!

    Array? hmmm.... da ich nicht wissen kann was der Kunde an möglichen Werten zur Hand hat, kann ich also auch nicht vorher festlegen welche Eingabemasken nun zur Rechnung herangezogen werden können.
    Erst nach min. 3 Eingaben entscheidet das Prg automatisch oder manuell welche Variante gültig wird.

    @all
    da liegt ja das Problem, da eine Lösung mit verschiedenen Ausgangswerten möglich ist und ich das Prg recht variabel halten wollte bzw auch eine grobe Analyse gemacht werden kann (deshalb auch min. 3 Werte) gibt es mehrere mögliche Ausgangsvarianten.

    mir bleibt also wahrscheinlich nur der lange Weg 😞

    mfg



  • Array? hmmm.... da ich nicht wissen kann was der Kunde an möglichen Werten zur Hand hat, kann ich also auch nicht vorher festlegen welche Eingabemasken nun zur Rechnung herangezogen werden können.
    Erst nach min. 3 Eingaben entscheidet das Prg automatisch oder manuell welche Variante gültig wird.

    Du könntest aber mittels einer Schleife die Controls durchlaufen. Falls die Boxen nicht aktiv sind, überspringst du den Test. Ist natürlich nur schwer nachzuvollziehen wie dein Programm denn aussieht...



  • hi,

    hier mal ein Schema, vll kann man es dann besser verstehen

    http://sunfox-new.de/image/Schema_Logig.jpg

    wobei es nicht alles an Routinen darstellen wird, aber die Grundfunktion der
    beschriebenen Problematik sollte erkennbar sein

    mfg


Anmelden zum Antworten