Announcement

Collapse
No announcement yet.

Verzweigungen in Property-Prozeduren

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Verzweigungen in Property-Prozeduren

    Hallo,
    ich schreibe am Mittwoch eine Klausur und ich versuche eine Verzweigung in einer Property-Prozedur zu programmieren. Ich bekomme es nicht hin, dass die Variablen in der Property-prozedur nicht funktionieren. Die Informationen die diese Variablen bekommen sollen aus der Textbox sind abgekapselt.
    Kann da jemand ein Blick darauf werfen und mir sagen warum dieses nicht funktioniert? Danke in voraus.



    hier die Aufgabe und der Code:

    Stellen Sie in der Property-Prozedur für die Tage sicher, dass die Eigenschaft „Tage“ für ein Fahrradobjektauf 1 gesetzt wird, wenn versucht wird, diese mit 0 oder einem negativen Wert zu belegen. Wenn der Benutzer eine größere Zahl als 31 eingibt, soll sie durch 31 ersetzt werden.

    1: Windows Form
    2: Klasse Fahrrad


    1: Windows Form
    Public Class frmFahrradGUI


    Private einFahrrad As New Fahrrad
    Const TITEL As String = "WI3-Klausur"

    Private Sub frmMietpreisberechnung_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Me.cboFahrradtyp.Text = "Sportrad"
    Me.txtTage.Text = "1"
    Me.txtMietpreis.Text = ""

    Me.Text = "Fahrradvermietung"
    txtMietpreis.Enabled = False
    btnSpeichern.Enabled = False
    btnAnzeigen.Enabled = False
    cboFahrradtyp.Text = "Citybike"
    txtTage.Text = "1"
    End Sub

    Private Sub txtTage_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtTage.MouseHover
    Dim toolTip1 As New ToolTip()
    toolTip1.ShowAlways = True
    toolTip1.SetToolTip(txtTage, "Die Mietdauer muss zwischen 1 und 31 Tagen liegen")
    End Sub

    Private Sub cboFahrradtyp_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboFahrradtyp.TextChanged, txtTage.TextChanged
    If Me.cboFahrradtyp.Text <> "" And Me.txtTage.Text <> "" Then
    If (IsNumeric(Me.txtTage.Text) Or Me.txtTage.Text = "-") Then
    Me.btnMietpreis.Enabled = True
    Else
    Me.btnMietpreis.Enabled = False
    MessageBox.Show("Sie müssen eine Zahl eingeben!", TITEL, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)


    End If

    End If
    With cboFahrradtyp
    .AutoCompleteMode = AutoCompleteMode.Append
    .AutoCompleteSource = AutoCompleteSource.ListItems
    End With
    End Sub

    'Private Sub txtTyp_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtTage.TextChanged
    '
    'End Sub

    Private Sub btnMietpreis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMietpreis.Click
    txtMietpreis.Enabled = True

    Dim sngFahrrad As String 'Fahrradtyp z.B. Citybike
    Dim decTagessatz As Decimal 'Tagessatz z.B. 6.50

    sngFahrrad = cboFahrradtyp.Text

    If sngFahrrad = "Citybike" Then
    decTagessatz = 6.5
    ElseIf sngFahrrad = "Sportrad" Then
    decTagessatz = 10.0
    ElseIf sngFahrrad = "Elektrofahrrad" Then
    decTagessatz = 15.0
    ElseIf sngFahrrad = "Tandem" Then
    decTagessatz = 18.0
    ElseIf sngFahrrad = "Kinderrad" Then
    decTagessatz = 5.0
    Else
    sngFahrrad = "Mountainbike"
    MessageBox.Show("Den Fahrradtyp Mountainbike führen wir nicht!", TITEL, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
    End If

    Me.txtMietpreis.Text = decTagessatz * txtTage.Text
    btnSpeichern.Enabled = True



    End Sub

    Private Sub btnSpeichern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSpeichern.Click

    einFahrrad.Fahrradtyp = Me.cboFahrradtyp.Text ' c: 1 P.
    einFahrrad.Tage = CDec(Me.txtTage.Text) ' c: 1,5 P.
    einFahrrad.Miete = CInt(Me.txtMietpreis.Text) ' c: 1,5 P.
    einFahrrad.Miete = 0.0
    btnAnzeigen.Enabled = True ' e: 1 P.
    End Sub

    Private Sub btnAnzeigen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnzeigen.Click
    txtFahrraddaten.Text = cboFahrradtyp.Text & ", " &
    txtTage.Text & ", " &
    txtMietpreis.Text

    End Sub
    End Class

    2: Klasse Fahrrad

    ublic Class Fahrrad
    Public bytTage As Integer
    Private decMietepreis As Decimal
    Private strFahrradtyp As String

    Public Property Tage As Decimal

    Get
    Return bytTage
    End Get

    Set(ByVal value As Decimal)
    bytTage = value

    Dim t As Integer
    t = Tage

    If t <= 0 Then
    einFahrrad.Tage = 1
    'Else
    ' t > 31 Then
    ' bytTage = 31

    End If
    End Set
    End Property

    Public Property Miete() As Decimal
    Get
    Return decMietepreis
    End Get
    Set(ByVal value As Decimal)

    End Set
    End Property

    Public Property Fahrradtyp() As String
    Get
    Return strFahrradtyp
    End Get
    Set(ByVal value As String)
    strFahrradtyp = value
    End Set
    End Property

  • #2
    Sorry ist so nicht lesbar und somit ist dir nicht zu helfen. Bitte formatiere deinen SourceCode. Klicke dazu unterhalb von deinem Beitrag auf den 'Editieren'-Knopf und ergänze die Tags entsprechend dem Beitrag hier.

    Comment


    • #3
      Du könntest mal das Code Highlighting benutzen, vielleicht schaut sich dann jemand Deinen Code auch mal an.
      Gruß Womble

      Comment

      Working...
      X