myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[VB2008] Programm verändern, Step by Step ....

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 03.04.11, 15:59   #1
DeeJayDave
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 25
Bedankt: 42
DeeJayDave ist noch neu hier! | 0 Respekt Punkte
Standard [VB2008] Programm verändern, Step by Step ....

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 ]
DeeJayDave ist offline   Mit Zitat antworten
Ungelesen 03.04.11, 17:45   #2
.ShoXx!
 
Benutzerbild von .ShoXx!
 
Registriert seit: Dec 2009
Beiträge: 792
Bedankt: 49
.ShoXx! ist noch neu hier! | 8 Respekt Punkte
Standard

Pack ein TabControl auf die Form und zieh diese so lang/hoch, dass man die Tabs oben nicht sieht. Beim ersten Tab kommt dann "Geben Sie Ihre Geschwindigkeit ein:" beim Buttonklick wird automatisch zum 2. Tab gewechselt (TabControl1.SelectedTab = TabPage2/3/4/5...) wo dann "Geben Sie den Zustand des Fahrers ein:" kommt usw. und beim letzten Tab wird die Auswertung angezeigt.
__________________
To succeed you have to stop being ordinary and be legen - wait for it - dary.
.ShoXx! ist offline   Mit Zitat antworten
Ungelesen 03.04.11, 18:00   #3
DeeJayDave
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 25
Bedankt: 42
DeeJayDave ist noch neu hier! | 0 Respekt Punkte
Standard

Das mit dem TabControl ist eine feine Sache! (warum habe ich das bloß übersehen) ...

Das mit dem Wizard muss ich mir noch genauer anschauen, scheint etwas komplexer zu sein....

Aber schon mal vielen vielen Dank für die Hilfe!!!!

Wenn ich nicht weiterkommen, darf ich euch doch wieder fragen? *liebguck*
DeeJayDave ist offline   Mit Zitat antworten
Ungelesen 03.04.11, 18:09   #4
sivro
VB - VBA - Python
 
Benutzerbild von sivro
 
Registriert seit: Feb 2010
Beiträge: 29
Bedankt: 11
sivro ist noch neu hier! | 0 Respekt Punkte
Standard

Du kannst auch mit "Frames" arbeiten und alle übereinander machen und bei jeder neuen Anfrage ein neues auf .visible = true stellen, so brauchst du nicht soviel Platz mit deinem Fenster. Es gibt viele Möglichkeiten. Du kannst auch die Buttons aufeinander legen und mit .visible arbeiten .......
sivro ist offline   Mit Zitat antworten
Ungelesen 04.04.11, 00:36   #5
DeeJayDave
Anfänger
 
Registriert seit: Sep 2009
Beiträge: 25
Bedankt: 42
DeeJayDave ist noch neu hier! | 0 Respekt Punkte
Standard

Komme an einer Stelle nicht weiter:

Hab einer an Stelle RadioButtons eingefügt. Diese sollen einen Wert haben, um damit zu rechnen....

Z.b.

If RadioButton1.Checked = True Then
a = 10
End If

.... wenn ich nun z.B. eine Formel habe:
sb = (v ^ 2) / (2 * a)
ListBox3.Items.Add(sb)

Kommt dann in der ListBox3 der Wert: +unendlich

Vorher hatte ich die ComboBox mit entsprechendem Auswahltext:

If ComboBox2.SelectedItem = "unter Alkoholeinfluss" Then
a = 10
End If

Damit hats geklappt. Wieso bekomme ich die RadioButtons nicht zum Laufen?
DeeJayDave ist offline   Mit Zitat antworten
Ungelesen 04.04.11, 21:54   #6
sivro
VB - VBA - Python
 
Benutzerbild von sivro
 
Registriert seit: Feb 2010
Beiträge: 29
Bedankt: 11
sivro ist noch neu hier! | 0 Respekt Punkte
Standard

Probier mal
if Radiobutton1 = true then
a = 10
end if
sivro ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 Uhr.


Sitemap

().