vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Programm verändern, Step by Step .... 
Autor: DeeJayDave
Datum: 03.04.11 16:37

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Programm verändern, Step by Step .... 
Autor: Manfred X
Datum: 03.04.11 17:26

Hallo!

Mir ist nicht ganz klar, was Du vorhast ....

Setze die Eingabe-Controls (ausser dem ersten) zunächst auf
Visible = false
und setze nach der Eingabe eines (korrekten) Wertes die Eigenschaft
den nächsten Eingabe-Controls auf Visible = true.

Bei der Eingabe einer Geschwindigkeit sollte zusätzlich der Bereich
der Eingabe auf Plausibilität überprüft werden (z.B. 10-200).

Oder: Erkläre genauer ....

MfG
Manfred
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel