vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Buchung simulieren 
Autor: Moglie
Datum: 16.12.13 17:23

Hallo Manfred

Danke für deinen Code. Leider muss ich mich an die Vorgaben des Lehrgangs halten. Diese lauten:

In der Aufgabe erstellen sie eine Klasse Konto. in der Testklasse dazu simulieren Sie einige Buchungen. Sollte dabei der Dispositionsrahmen überschritten werden, wirft die Klasse Konto das Ereignis DispoGrenze aus. Dieses Ereignis werden Sie wiederum in der Testklasse behandeln, indem Sie mittels der unten abgebildeten MessageBox den Benutzer informieren und fragen, b der Disporahmen ausgeschöpft werden soll oder aber der Vorgang abgebrochen werden soll. hab meinen Code etwas überarbeitet und mit deiner Hilfe rechnet er nun auch richtig. Was er aber nicht macht ist "Abbrechen". Also wenn ich ihm sagen "Betrag abheben(ja), Abbruch (Nein) funktioniert Variante "ja" aber "nein" nicht. Hast du mir einen Tipp?
Imports System.Console
Imports System.Windows.Forms
 
Class Konto
    Private m_Kontonr As String
    Private m_Kontostand As Decimal
    Private m_Dispo As Decimal
 
    Public Event DispoGrenze(ByVal sender As Object, ByRef Abbrechen As Boolean)
 
    ReadOnly Property Kontonr() As String
        Get
            Return m_Kontonr
        End Get
    End Property
 
    ReadOnly Property Kontostand() As Decimal
        Get
            Return m_Kontostand
        End Get
    End Property
 
    ReadOnly Property Dispo As Decimal
        Get
            Return m_Dispo
        End Get
    End Property
 
    Public Sub New(ByVal Kontonr As String, ByVal Dispo As Decimal)
        m_Kontonr = Kontonr
        m_Dispo = Dispo
        m_Kontostand = 2000
    End Sub
    Sub Buchung(ByVal Betrag As Decimal)
        If Betrag + Kontostand > m_Dispo Then
            m_Kontostand = Betrag + Kontostand
        Else
            Dim Abbrechen As Boolean = True
            RaiseEvent DispoGrenze(Me, Abbrechen)
            If Abbrechen = False Then
            End If
            m_Kontostand = Math.Max(m_Kontostand + Betrag, m_Dispo)
        End If
    End Sub
 
    Sub Ausgabe()
        Dim s As String = "Kontonr: " & Kontonr & ", " _
                          & "   Kontostand: " & Kontostand.ToString(".00") & _
                          "," _
                          & "   Disporahmen: " & Dispo
        WriteLine(s)
    End Sub
 
End Class
 
Class Test
    Shared WithEvents k As Konto
    Shared Sub Main()
        k = New Konto("123", -3000)
 
        With k
            .Ausgabe()
            WriteLine()
            .Buchung(-8000)
            .Ausgabe()
            WriteLine()
            .Buchung(-12000)
            .Ausgabe()
        End With
 
    End Sub
 
    Private Shared Sub k_DispoGrenze(ByVal sender As Object, ByRef Abbrechen As _
      Boolean) Handles k.DispoGrenze
        Dim s As String = _
            "Der gewünschte Betrag kann nicht abgehoben werden," _
            & " da der Dispositionsrahmen überschritten wurde." _
            & vbCrLf & vbCrLf _
            & " Sie können noch " & CType(sender, Konto).Kontostand - CType( _
            sender, Konto).Dispo & " abheben." _
            & vbCrLf _
            & "Betrag abheben (Ja), Abbruch (Nein)."
 
        Dim Antwort As DialogResult
 
        Antwort = MessageBox.Show(s, "Buchung", MessageBoxButtons.YesNo, _
                                  MessageBoxIcon.Error, _
                                  MessageBoxDefaultButton.Button2)
 
        If Antwort = DialogResult.OK Then
            Abbrechen = False
        End If
 
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Buchung simulieren3.951Moglie10.12.13 23:20
Re: Buchung simulieren2.927Manfred X11.12.13 06:51
Re: Buchung simulieren2.760Moglie16.12.13 17:23
Re: Buchung simulieren2.619Manfred X16.12.13 20:16
Re: Buchung simulieren2.742Struppi 201311.01.14 17:43

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-2025 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