public static float bekannteGewindelaenge(Schraube schraube) { Boolean gueltig; Gewindelaenge g = new Gewindelaenge(schraube.schaftLaenge, schraube.metrischeGewindegroesse); do { try //try und catch zum fehler abfangen { gueltig = true; Console.WriteLine("Wie lang ist die Gewindelänge (in mm)?"); float input3 = (float)Convert.ToDouble(Console.ReadLine()); g.gewindeLaenge = berechneGewindeLaenge(schraube.metrischeGewindegroesse.mutterhoehe, schraube.schaftLaenge.schaftlaenge, input3); //Unterprogramm Schaftlänge in Schaftlaenge.cs aufrufen if (g.gewindeLaenge == -1) //Automatischer Fehlercode wenn gewählte Gewindelänge zu groß/klein (siehe Schaftlänge) { gueltig = false; } } catch (Exception) //Fehler werden abgefangen { Console.WriteLine("Bitte eine Zahl eingeben"); gueltig = false; } } while (!gueltig); return(g.gewindeLaenge); }
public static Gewindelaenge getGewindelaenge(Schraube schraube) { //AB HIER GEWINDELÄNGE Boolean gueltig; //Für die innere Schleife 1. Ordnung Gewindelaenge g = new Gewindelaenge(schraube.schaftLaenge, schraube.metrischeGewindegroesse); //Neues Objekt Gewindelänge wird erstellt, mit der Schaftlänge und der Gewindegröße als Eingangsparameter um die minGewindelänge aus der mutterhöhe und der Schaftlänge berechnen zu können. do { gueltig = true; Console.WriteLine("Soll das Gewinde über die volle Schaftlänge gehen? (j/n)"); //Abfrage ob schaftLaenge=gewindeLaenge string input = Console.ReadLine(); if (input.Equals("n")) //Wenn nein { g.gewindeLaenge = Gewindelaenge.benutzerdefinierteGewindelaenge(schraube); //Unterprogramm in Gewindelaenge.cs } else if (input.Equals("j")) //Gewindelänge wird gleich der Schaftlänge gesetzt { g.gewindeLaenge = Gewindelaenge.maxGewindeLaengeRechnung(schraube.schaftLaenge.schaftlaenge); //maximal mögliche Gewindelänge (Schaftlänge) aus dem Unterprogramm in Gewindelaenge.cs mithilfe der Schaftlänge Console.WriteLine("Die Gewindelänge beträgt: " + g.gewindeLaenge + " mm"); return(g); } else //Falls falsche Eingabe { Console.WriteLine("Ungültige Eingabe!"); gueltig = false; } } while (!gueltig); return(g); }
// wenn Schaftlänge gleich Gewindelänge private void rBtn_gesamte_Schaftlaenge_Checked(object sender, RoutedEventArgs e) { lab_GewindelaengeHinweis.Visibility = Visibility.Hidden; txB_Gewindelaenge.Visibility = Visibility.Hidden; txB_Gewindelaenge.Text = "Gewindelänge"; txB_Gewindelaenge.Background = Brushes.White; Gewindelaenge g = new Gewindelaenge(s.schaftLaenge, s.metrischeGewindegroesse); g.gewindeLaenge = Gewindelaenge.maxGewindeLaengeRechnung(s.schaftLaenge.schaftlaenge); s.gewindeLaenge = g; FinishGewindelaenge = true; hatWertGewindelaenge = true; }
private void txB_Gewindelaenge_LostFocus(object sender, RoutedEventArgs e) { TextBox tb = (TextBox)sender; string g = tb.Text; float test; try //Erneut try und catch zum fehler abfangen { float gl = Convert.ToSingle(g); Gewindelaenge objGL = new Gewindelaenge(s.schaftLaenge, s.metrischeGewindegroesse); test = Gewindelaenge.berechneGewindeLaenge(s.metrischeGewindegroesse.mutterhoehe, s.schaftLaenge.schaftlaenge, gl); if (test == -1) { lab_GewindelaengeHinweis.Visibility = Visibility.Visible; lab_GewindelaengeHinweis.Content = "Gewindelänge muss minimal " + 2 * s.metrischeGewindegroesse.mutterhoehe + " mm betragen"; txB_Gewindelaenge.Background = Brushes.Red; FinishGewindelaenge = false; } else if (test == -2) { lab_GewindelaengeHinweis.Visibility = Visibility.Visible; lab_GewindelaengeHinweis.Content = "Gewindelänge darf maximal " + s.schaftLaenge.schaftlaenge + " mm betragen"; txB_Gewindelaenge.Background = Brushes.Red; FinishGewindelaenge = false; } else { lab_GewindelaengeHinweis.Visibility = Visibility.Hidden; objGL.gewindeLaenge = gl; s.gewindeLaenge = objGL; txB_Gewindelaenge.Background = Brushes.Green; FinishGewindelaenge = true; hatWertGewindelaenge = true; } } catch (Exception) //Fehler werden abgefangen { lab_GewindelaengeHinweis.Content = "Bitte eine Zahl eingeben"; lab_GewindelaengeHinweis.Visibility = Visibility.Visible; txB_Gewindelaenge.Background = Brushes.Red; FinishGewindelaenge = false; } }
public static float benutzerdefinierteGewindelaenge(Schraube schraube) //Unterprogramm für eingegebene Schrauben, abrufbar von UserAbfrage.cs { Boolean gueltig; Gewindelaenge g = new Gewindelaenge(schraube.schaftLaenge, schraube.metrischeGewindegroesse); do { try { gueltig = true; Console.WriteLine("Ist die Gewindelänge bekannt(1) oder soll die minimal nötige Gewindelänge genutzt werden(2)?"); //Abfrage ob Gewindelänge bekannt int input2 = Convert.ToInt32(Console.ReadLine()); //Benutzereingabe if (input2 == 1) { g.gewindeLaenge = bekannteGewindelaenge(schraube); //Unterprogramm weiter unten } else if (input2 == 2) { g.gewindeLaenge = minGewindeLaengeRechnung(schraube.metrischeGewindegroesse.mutterhoehe); //minimal nötige Gewindelänge aus dem Unterprogramm in Gewindelaenge.cs mithilfe der mutterhoehe Console.WriteLine("Die Gewindelänge beträgt " + g.gewindeLaenge + " mm"); } else { Console.WriteLine("Ungültige Eingabe"); gueltig = false; } } catch (Exception) { Console.WriteLine("Ungültige Eingabe"); gueltig = false; } } while (!gueltig); return(g.gewindeLaenge); }