Exemplo n.º 1
0
        public static Schaftlaenge getSchaftlaenge(Schraube schraube)
        {
            //AB HIER SCHAFTLÄNGE
            Boolean      gueltig;
            Boolean      gueltigInnen = true;                                               //Für die inneren Schleife
            Schaftlaenge s            = new Schaftlaenge(schraube.metrischeGewindegroesse); //Neues Objekt Schaftlänge wird erstellt, mit der Gewindegröße als eingangsparameter um die minSchaftlänge aus der mutterhöhe berechnen zu können.

            do
            {
                gueltig = true;
                Console.WriteLine("Ist die Schaftlänge bekannt? (j/n)"); //Abfrage ob Schaftlänge bekannt
                string input = Console.ReadLine();
                if (input.Equals("n"))                                   //Wenn nein
                {
                    do
                    {
                        try     //Erneut try und catch zum fehler abfangen
                        {
                            gueltigInnen = true;
                            Console.WriteLine("Wie lang ist die Klemmlaenge (in mm)?");
                            float input2 = (float)Convert.ToDouble(Console.ReadLine());
                            s.schaftlaenge = Schaftlaenge.berechneSchaftlaenge(schraube.metrischeGewindegroesse.mutterhoehe, input2); //Unterprogramm Schaftlänge in Schaftlaenge.cs aufrufen
                            if (s.schaftlaenge == -1)                                                                                 //WEnn schaftlänge zu groß/klein kommt dieser Fehlercode wieder
                            {
                                gueltigInnen = false;
                            }
                        }
                        catch (Exception) //Fehler werden abgefangen
                        {
                            Console.WriteLine("Bitte eine Zahl eingeben");
                            gueltigInnen = false;
                        }
                    } while (!gueltigInnen);
                    return(s);
                }
                else if (input.Equals("j")) //Wenn Schaftläenge bekannt soll diese einfach eingegeben werden
                {
                    do
                    {
                        try
                        {
                            Console.WriteLine("Welche Schaftlänge wird benötigt? (in mm)");
                            float input2 = (float)Convert.ToDouble(Console.ReadLine());
                            gueltigInnen = s.setSchaftlaenge(input2); //setSchaftlaenge überprüft ob die Eingabe im gültigen Bereich liegt. Berechnungen finden in Schaftlaenge.cs statt
                        }
                        catch (Exception)
                        {
                            Console.WriteLine("Bitte eine Zahl eingeben");
                            gueltigInnen = false;
                        }
                    } while (!gueltigInnen);
                }
                else    //Falls falsche Eingabe
                {
                    Console.WriteLine("Ungültige Eingabe!");
                    gueltig = false;
                }
            } while (!gueltig);
            return(s);
        }
Exemplo n.º 2
0
        private void txB_Klemmlaenge_LostFocus(object sender, RoutedEventArgs e)
        {
            TextBox tb = (TextBox)sender;
            string  g  = tb.Text;

            if (slGuelitg == true)
            {
                if (slGuelitg == true)

                {
                    Schaftlaenge objSl = new Schaftlaenge(s.metrischeGewindegroesse);
                    try     //Erneut try und catch zum fehler abfangen
                    {
                        float kl = Convert.ToSingle(txB_Klemmlaenge.Text);
                        objSl.schaftlaenge = Schaftlaenge.berechneSchaftlaenge(s.metrischeGewindegroesse.mutterhoehe, kl); //Unterprogramm Schaftlänge in Schaftlaenge.cs aufrufen
                        if (objSl.schaftlaenge == -1)                                                                      //WEnn schaftlänge zu groß/klein kommt dieser Fehlercode wieder
                        {
                            double minsl = objSl.minSchaftlaenge - 1.25 * s.metrischeGewindegroesse.mutterhoehe;
                            minsl = Math.Round(objSl.minSchaftlaenge, 2);
                            double maxsl = (objSl.maxSchaftlaenge - 1.25 * s.metrischeGewindegroesse.mutterhoehe);
                            maxsl = Math.Round(maxsl, 2);
                            lab_SchaftlaengeHinweis.Content    = "Die Klemmlänge der Schraube muss zwischen " + minsl + " mm und " + maxsl + " mm liegen";
                            lab_SchaftlaengeHinweis.Visibility = Visibility.Visible;
                            txB_Klemmlaenge.Background         = Brushes.Red;
                            txB_Klemmlaenge.Text = "";
                            FinishSchaftlaenge   = false;
                        }
                        else
                        {
                            lab_SchaftlaengeHinweis.Content    = "Die berechnete Schaftlänge beträtgt: " + objSl.schaftlaenge + " mm";
                            lab_SchaftlaengeHinweis.Visibility = Visibility.Visible;
                            txB_Klemmlaenge.Background         = Brushes.Green;
                            float sl = objSl.schaftlaenge;
                            s.schaftLaenge                       = objSl; //Schaftlänge der Schraube zuweisen
                            FinishSchaftlaenge                   = true;
                            hatWertSchaftlaenge                  = true;
                            lab_Gewindelaenge.Visibility         = Visibility.Visible;
                            rBtn_gesamte_Schaftlaenge.Visibility = Visibility.Visible;
                            rBtn_benutzerdefiniert.Visibility    = Visibility.Visible;
                            txB_Gewindelaenge.Background         = Brushes.White; //Freigeben der Schaftlängenbox
                            txB_Gewindelaenge.IsReadOnly         = false;
                        }
                    }
                    catch (Exception) //Fehler werden abgefangen
                    {
                        lab_SchaftlaengeHinweis.Content    = "Bitte eine Zahl eingeben";
                        lab_SchaftlaengeHinweis.Visibility = Visibility.Visible;
                        txB_Schaftlaenge.Background        = Brushes.Red;
                        FinishSchaftlaenge = false;
                    }
                }
            }
        }