Variablen suchen

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von VBHunter.

    Variablen suchen

    Hi,

    Ich habe meherere Variablen z.b. so

    VB.NET-Quellcode

    1. Dim Bananen As Integer 'für die Menge der Bananen im Regal
    2. Dim Äpfel As Integer
    3. Dim Birnen As Integer
    4. '...etc


    Kunden kommen in den Laden und kaufen Produkte z.b. 10 Bananen.

    Hier ein UC

    VB.NET-Quellcode

    1. Me.Customer = Customer
    2. Me.Cash = Cash
    3. Me.Item = Item
    4. Me.ItemCount = ItemCount
    5. Label2.Text = Customer.Name
    6. Label1.Text = Cash.ID.ToString("Kasse ###,#0")
    7. Label3.Text = ItemCount.ToString("## x")
    8. Label4.Text = Item.Description
    9. Label5.Text = GetCartValue.ToString("C")


    jetzt soll per klick auf dem Button überprüft werden ob genug Bananen im Regal sind ... nur wie weiß das Programm welche Variable er untersuchen soll bei Item.Description

    eigendlich müsste ja eine If anweisung stattfinden ...

    hier mein versuch :/

    das ist bei Klick

    VB.NET-Quellcode

    1. Dim Dc = DirectCast(DirectCast(sender, Button).Parent, KundenDisplay)
    2. RegalanfrageName = Dc.Item.Description
    3. RegalanfrageZahl = Dc.ItemCount
    4. If Dc.Item.Description = RegalanfrageName Then
    5. If Dc.ItemCount > RegalanfrageZahl Then
    6. MessageBox.Show("Du hast nicht genug " & Dc.Item.Description & " im Regal um die Ware zu verkaufen.", "Information", MessageBoxButtons.OK)
    7. Else
    8. MessageBox.Show("Der Kunde wird jetzt abkassiert und kostet dich " & Dc.ItemCount & " x " & Dc.Item.Description & " .", "Information", MessageBoxButtons.OK)
    9. If Dc.Item.Description = RegalanfrageName Then
    10. If Dc.ItemCount <= RegalanfrageZahl Then
    11. MessageBox.Show("Test geht.", "Information", MessageBoxButtons.OK)
    12. 'hier muss irgendwas rein, nur was ? Die Zahl der erstellten Produkte minus der Vorhandenen Zahl im Regal
    13. End If
    14. Else
    15. Guthaben += Dc.GetCartValue
    16. UpdateMoneyStockDisplay()
    17. Punkte += Dc.ItemCount * 2
    18. lbl_Punkte.Text = Punkte.ToString
    19. RemoveHandler Dc.Button1.Click, AddressOf Abkassieren
    20. Dc.Parent.Controls.Remove(Dc)
    21. End If
    22. End If
    23. End If


    Keine Ahnung wie ich auf das RegalanfrageName und RegalanfrageZahl kam ...

    hoffe mir kann einer weiterhelfen und versteht halbwegs was ich meine.
    @VBHunter Das ist Spagetti-Code.
    Arbeite objektorientiert.
    Mach Dir ein Datenmodell.
    Trenne GUI und Daten. Mit Daten wird gerechnet, die GUI zeigt Daten an und lässt sie editieren.
    ====
    Beispiel:
    Mach Dir eine Basisklasse z.B. ObstGemüse mit Membern wie Preis, Anzahl_vorhanden, Anzahl_Warenkorb, Anbieter, Konfektionierung und so.
    Gib dieser Klasse ein Event, wenn eine Mindestanzahl unterschritten wird.
    Mach Dir abgeleitete Klassen Äpfel, Gurken usw. wo ggf, noch Spezialinformationen abgelegt werden.
    Mach Dir geeignete Formatierungsroutinen zur Anzeige.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!