Hey Leute,
bräuche mal Hilfe bei einem von mir geschriebenen Programm. Es soll der Bremsweg eines Autos mit verschiedenen Kriterien (Zustand des Fahrers, Bodenbeschaffenheit, Geschwindigkeit) berechnet werden.
Habe das Ganze erstmal auf einer Maske gemacht.
Nun würde ich aber gerne das Programm so verändern, dass pro Abfrage jeweils eine Maske auftaucht, aber in selbem Fenster.
Also z.b. so:
1. Geben Sie Ihre Geschwindigkeit ein ..... "Kick auf weiter"
2. Geben Sie den Zustand des Fahrers ein.... "Klick auf weiter"
3. Geben Sie die Bodenbeschaffenheit ein.... "Klick auf weiter"
4. Es erscheint dann eine Maske mit den berechneten Werten.
Ich hoffe ihr wißt, worum es mir geht....
Hier der Code:
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Load
'Einträge für Combobox einfügen
ComboBox1.Items.Clear()
ComboBox1.Items.Add("Trockener Asphalt")
ComboBox1.Items.Add("Nasser Asphalt")
ComboBox1.Items.Add("Laub")
ComboBox1.Items.Add("Betonfahrbahn")
ComboBox1.Items.Add("Sand")
ComboBox1.Items.Add("Schneebedeckte Fahrbahn")
ComboBox1.Items.Add("Eis")
ComboBox2.Items.Clear()
ComboBox2.Items.Add("Fit")
ComboBox2.Items.Add("Müde")
ComboBox2.Items.Add("unter Alkoholeinfluss")
ComboBox2.Items.Add("unter Drogeneinfluss")
'Einträge welche als Standard angezeigt werden
ComboBox1.SelectedItem = "Trockener Asphalt"
ComboBox2.SelectedItem = "Fit"
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
'Variablen deklarieren
Dim v0 As Double 'Geschwindigkeit in km/h
Dim v As Single 'Geschwindigkeit in m/s
Dim a As Double 'Bremsverzögerung in m/s² (je nach Bodenbeschaffenheit)
Dim tr As Double 'Reaktionszeit
Dim sr As Single 'Reaktionsweg
Dim sb As Single 'Bremsweg
Dim sa As Single 'Anhalteweg
'Textbox muss Zahl als Eintrag enthalten
If IsNumeric(TextBox1.Text) = False Then
MsgBox("Achten Sie bitte darauf, eine Geschwindigkeit in km/h" & _
"einzugeben!")
Exit Sub
End If
'Umwandeln der Eingabe in Datentyp Double
v0 = CDbl(TextBox1.Text)
'Einträge in Listbox auf 10 begrenzen
If ListBox1.Items.Count >= 10 Then
MsgBox("Es sind bereits 10 Einträge enthalten. Bitte drücken Sie" & _
"den Knopf Inhalt leeren um eine neue Berechnung zu starten.")
Exit Sub
End If
'Eingegebene Geschwindigkeiten in die erste Listbox schreiben
ListBox1.Items.Add(v0)
'Umwandeln von km/h in m/s
v = v0 / 3.6
'Zuweisung der Reaktionszeit tr zu den jeweiligen Fahrerzuständen in
' der Combobox
If ComboBox2.SelectedItem = "Fit" Then
tr = 1
End If
If ComboBox2.SelectedItem = "Müde" Then
tr = 1.5
End If
If ComboBox2.SelectedItem = "unter Alkoholeinfluss" Then
tr = 2
End If
If ComboBox2.SelectedItem = "unter Drogeneinfluss" Then
tr = 2.5
End If
'Reaktionsweg
sr = tr * v
ListBox2.Items.Add(sr)
'Zuweisung der Bremsverzögerung zur jeweiligen Bodenbeschaffenheit
If ComboBox1.SelectedItem = "Trockener Asphalt" Then
a = 10
End If
If ComboBox1.SelectedItem = "Nasser Asphalt" Then
a = 8
End If
If ComboBox1.SelectedItem = "Laub" Then
a = 6
End If
If ComboBox1.SelectedItem = "Betonfahrbahn" Then
a = 5
End If
If ComboBox1.SelectedItem = "Sand" Then
a = 4
End If
If ComboBox1.SelectedItem = "Schneebedeckte Fahrbahn" Then
a = 3
End If
If ComboBox1.SelectedItem = "Eis" Then
a = 1
End If
'Bremsweg
sb = (v ^ 2) / (2 * a)
ListBox3.Items.Add(sb)
'Anhalteweg
sa = sr + sb
ListBox4.Items.Add(sa)
'Textbox nach jeder Berechnung wieder leeren
TextBox1.Text = " "
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button2.Click
'Einträge löschen
ListBox1.Items.Clear()
ListBox2.Items.Clear()
ListBox3.Items.Clear()
ListBox4.Items.Clear()
End Sub
End Class
Edit: Hier das Prog als RAR: [
Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]