예제 #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);
        }
예제 #2
0
        private void txB_Schaftlaenge_LostFocus(object sender, RoutedEventArgs e)
        {
            Boolean gueltig = false;

            if (slGuelitg == true)
            {
                Schaftlaenge objSl = new Schaftlaenge(s.metrischeGewindegroesse);
                try
                {
                    float sl = Convert.ToSingle(txB_Schaftlaenge.Text);
                    gueltig = objSl.setSchaftlaenge(sl); //setSchaftlaenge überprüft ob die Eingabe im gültigen Bereich liegt. Berechnungen finden in Schaftlaenge.cs statt

                    if (gueltig == true)
                    {
                        s.schaftLaenge = objSl;
                        txB_Schaftlaenge.Background        = Brushes.Green;
                        lab_SchaftlaengeHinweis.Visibility = Visibility.Hidden;
                        s.schaftLaenge.schaftlaenge        = sl; //Setzen der Schaftlänge in der Scharube s
                        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;
                    }
                    else
                    {
                        lab_SchaftlaengeHinweis.Content    = "Die Länge der Schraube muss zwischen " + objSl.minSchaftlaenge + " mm und " + objSl.maxSchaftlaenge + " mm liegen";
                        lab_SchaftlaengeHinweis.Visibility = Visibility.Visible;
                        txB_Schaftlaenge.Background        = Brushes.Red;
                        txB_Schaftlaenge.Text = "";
                        FinishSchaftlaenge    = false;
                    }
                }
                catch (Exception)
                {
                    lab_SchaftlaengeHinweis.Content    = "Bitte eine Zahl eingeben";
                    lab_SchaftlaengeHinweis.Visibility = Visibility.Visible;
                    txB_Schaftlaenge.Background        = Brushes.Red;
                    txB_Schaftlaenge.Text = "";
                    FinishSchaftlaenge    = false;
                }
            }
        }
예제 #3
0
        private void GewindegroessenErgaenzung()
        {
            slGuelitg                   = true; //Wird auf true gesetzt, sobald eine Gewindegröße gesetzt wird, verhindert das man eine Schaftlänge4 vor dem Gewinde setzt
            FinishGewindegroesse        = true;
            grd_Schaftlaenge.Visibility = Visibility.Visible;
            txB_Schaftlaenge.Background = Brushes.White; //Freigeben der Schaftlängenbox
            txB_Schaftlaenge.IsReadOnly = false;
            txB_Klemmlaenge.Background  = Brushes.White; //Freigeben der KLemmlängenbox
            txB_Klemmlaenge.IsReadOnly  = false;

            Boolean gueltig = false;

            if (rBtn_SchaftlaengeJa.IsChecked == true)
            {
                Schaftlaenge objSl = new Schaftlaenge(s.metrischeGewindegroesse);
                try
                {
                    float sl = Convert.ToSingle(txB_Schaftlaenge.Text);
                    gueltig = objSl.setSchaftlaenge(sl);                 //setSchaftlaenge überprüft ob die Eingabe im gültigen Bereich liegt. Berechnungen finden in Schaftlaenge.cs statt

                    if (gueltig == false && txB_Schaftlaenge.Text != "") //Falls die Länge nicht mehr gültig ist
                    {
                        lab_SchaftlaengeHinweis.Content    = "Die Länge der Schraube muss zwischen " + objSl.minSchaftlaenge + " mm und " + objSl.maxSchaftlaenge + " mm liegen";
                        lab_SchaftlaengeHinweis.Visibility = Visibility.Visible;
                        txB_Schaftlaenge.Background        = Brushes.Red;
                        txB_Schaftlaenge.Text = "";
                        FinishSchaftlaenge    = false;
                    }
                }
                catch (Exception)
                {
                    lab_SchaftlaengeHinweis.Content = "Bitte eine Zahl eingeben";
                    FinishSchaftlaenge = false;
                }
            }
            else if (rBtn_SchaftlaengeNein.IsChecked == true)     //WEnn eingabe immer noch gültig ist, muss dennoch die Schaftlänge neu aus der KLemmlänge berechnet werden
            {
                txB_Klemmlaenge_LostFocus(txB_Klemmlaenge, null); //Berechnung durch lostFocus funktion
            }
        }