예제 #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_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;
                    }
                }
            }
        }
예제 #3
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;
                }
            }
        }
예제 #4
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
            }
        }
예제 #5
0
 public Gewindelaenge(Schaftlaenge s, MetrischeGewindegroesse m) //neues Objekt Gewindelänge
 {
     minGewindeLaenge = minGewindeLaengeRechnung(m.mutterhoehe);
     maxGewindeLaenge = maxGewindeLaengeRechnung(s.schaftlaenge);
     gewindeLaenge    = maxGewindeLaenge;
 }