VB Programmm funzt einfach net und ka wieso

Black_Panter

Ensign
Registriert
Mai 2006
Beiträge
197
hi,

das VB Programm,w elches ich im Anhang beigefügt habe will einfach net funzen....
in acces und mit vba funzt es einwandfrei...hba leider keine ahnunge woran es liegt. wär super wenn mir jemand helfen könnte.

gruß
Sören
 

Anhänge

So einmal hier dein Code, damit sich auch jeder auskennt (reduziert aufs Wesentliche):D

Code:
Public Class Form2

    Public Function Round(ByVal Number As Double, ByVal Digits As Integer) As Double
        Round = Int(Number * 10 ^ Digits + 0.5) / 10 ^ Digits
    End Function

    Dim speed, way, indexzahl, state As Single
    Dim zustand As Object
    Dim txt_speed, lbl_output As Object

    Private Sub cmd_calc_click()
        indexzahl = com_state.SelectedIndex
        state = zustand(indexzahl)

        If Not IsNumeric(txt_speed) Then
            lbl_output.Caption = ""
            MsgBox("Falsche Eingabe")
            GoTo theEnd
        Else
            txt_speed.SetFocus()
            speed = txt_speed.text / 3.6
            way = Round((speed ^ 2) / (2 * 12 * state), 5)
            If speed < 0 Or speed > 300 / 3.6 Then
                MsgBox(speed * 3.6 & " km/h ist keine gültige Eingabe! Der wert muss zwischen 0 und 300 km/h liegen!")
                lbl_output.Caption = ""
            Else
                If way < 1 Then
                    lbl_output.Caption = "Der Bremsweg beträgt " & Round(way * 100, 2) & " cm"
                Else : lbl_output.Caption = "Der Bremsweg beträgt " & Round(way, 2) & " m"
                End If
            End If
        End If
theEnd:
    End Sub

    Private Sub cmd_clear_click()

        txt_speed.SetFocus()
        txt_speed = "0"
        lbl_output.Caption = ""
        com_state.SelectedIndex = 0

    End Sub

    Private Sub cmd_calc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_calc.Click

    End Sub
End Class

Ich habe das Ganze einmal im Visual Studio 2008 Beta geöffnet und einmal soweit bearbeitet, dass es läuft, allerdings in VB.NET, wenn dir das hilft:

Code:
Public Class Form2
    Public Function Round(ByVal Number As Double, ByVal Digits As Integer) As Double
        Return Int(Number * 10 ^ Digits + 0.5) / 10 ^ Digits
    End Function

    Private Sub cmd_calc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_calc.Click
        Dim speed, way, state As Single
        Dim state_text As String = com_state.SelectedItem.ToString()

        Select Case state_text 'Bei den Werten habe ich irgendetwas angenommen, muss halt noch korrigiert werden.
            Case "trocken"
                state = 1.0
            Case "nass"
                state = 0.5
            Case "schneebedeckt"
                state = 0.2
            Case "eisig"
                state = 0.1
            Case Else
                MsgBox("Falsche Eingabe")
                Return
        End Select

        If Not IsNumeric(txt_speed.Text) Then
            lbl_output.Text = ""
            MsgBox("Falsche Eingabe")
        Else
            speed = txt_speed.Text / 3.6
            way = Round((speed ^ 2) / (2 * 12 * state), 5)
            If speed < 0 Or speed > 300 / 3.6 Then
                MsgBox(speed * 3.6 & " km/h ist keine gültige Eingabe! Der wert muss zwischen 0 und 300 km/h liegen!")
                lbl_output.Text = ""
            Else
                If way < 1 Then
                    lbl_output.Text = "Der Bremsweg beträgt " & Round(way * 100, 2) & " cm"
                Else
                    lbl_output.Text = "Der Bremsweg beträgt " & Round(way, 2) & " m"
                End If
            End If
        End If
    End Sub

    Private Sub Clear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Clear.Click
        txt_speed.Text = "0"
        lbl_output.Text = ""
        com_state.SelectedIndex = 0
    End Sub
End Class
 
Gehts noch ein wenig genauer!? Wie wäre es mit der Information, woran Du erkennst DASS es "net funzt" ?

Berechnet er die falschen Werte?
Kommt es zu einem Programmausführungsfehler (Exception) ?
 
Zurück
Oben