VB Kassensystem Fertig doch noch Probleme

  • VB.NET

Es gibt 67 Antworten in diesem Thema. Der letzte Beitrag () ist von dbsystel.

    VB Kassensystem Fertig doch noch Probleme

    Hallo leute.

    ich möchte mich erstmal entschuldigen das ich ein neues theme geöffnet habe doch ich bin beim thema kassensystem erstellen ausversehen auf den button thema erledigt gekommen naja tut mir leid.

    jetzt zu meinem Problem dank eurer hilfe ist das kassensystem fertig ich kan drucken usw.

    jetzt zu meinem problem

    am ande wird die summe der verkauften Artickel in einer listbox also Form1.listbox1.Items.Add(txtOutput.Text) angezeigt!
    ich möchte das wenn ich Auf Button Addieren Klicke Er Mir Die Summe Addiert und Mir das Alles In Listbox Summe anzeigt.



    Doch es Will Nicht Klappen

    Hier mein Code:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Property Sum As String
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. End Sub
    5. Private Sub addieren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Addieren.Click
    6. Hier muss stehen
    7. Listbox1.Items.Addieren =))
    8. summe.Text = (Listbox1.Items.Addieren)
    9. End Sub
    10. Private Sub summe_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles summe.SelectedIndexChanged
    11. End Sub
    12. Private Sub Listbox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles testen.SelectedIndexChanged
    13. End Sub
    14. End Class


    ich hoffe ihr Könnt mir weiterhelfen

    Bin für jede hilfe Offen


    danke Euch :)
    haha danke dir und wie mache ich das ich habe es schon so versucht

    VB.NET-Quellcode

    1. Private Sub addieren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Addieren.Click
    2. Dim Gesamt As Integer
    3. For i As Integer = 1 To listbox1.Items.Count
    4. Gesamt = Gesamt + listbox.Items.Item(i - 1)
    5. Next i
    6. End Sub


    doch
    1. meine zahlen sind Double und daneme steht ein € zeichen
    2. es kommt eine fehlermeldung zitat: "Fehler 1 "Option Strict On" lässt keine Operanden des Typs "Object" für den +-Operator zu."

    und jetzt ?

    und wo kommt da das er die summe in der Listbox 2 einfügen soll?

    ich weiß ich nerve doch es ist wichtig

    danke dir :)
    Bitte eigne dir Groß- und Kleinschreibung und vor allem Interpunktion an. Deine Texte lesen sich schrecklich. Teilweise muss ich die Sätze drei Mal lesen, und bin immer noch nicht sicher, was Du meinst.
    Das hier ist kein Chat, Du kannst dir beim Schreiben Zeit lassen.

    killahiraner schrieb:

    haha danke dir und wie mache ich das ich habe es schon so versucht

    VB.NET-Quellcode

    1. Private Sub addieren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Addieren.Click
    2. Dim Gesamt As Integer
    3. For i As Integer = 1 To listbox1.Items.Count
    4. Gesamt = Gesamt + listbox.Items.Item(i - 1)
    5. Next i
    6. End Sub


    doch
    1. meine zahlen sind Double und daneme steht ein € zeichen



    1. Wenn die Zahlen wirklich Double sind (was ich nicht glaube), warum addierst Du sie zu einer Integer-Zahl (Gesamt)? Das kann schon mal nicht funktionieren.
    2. Da neben den Zahlen ein Euro-Zeichen steht, werden das keine Doubles sein, sondern Strings. Dann müsstest Du zuerst von String in Double konvertieren (das Euro-Zeichen vorher wegschneiden), und dann addieren.
    3. Du solltest deine Objekte und Variablen mit sinnvollen Namen versehen, so dass man auch im Code erkennt, welche Aufgabe sie haben. „Listbox1“ oder „i“ taugen nichts als Namen.
    4. Da die Eigenschaft „Count“ ein nullbasierter Index ist, muss man ihn in Schleifen oft dekrementieren. Man macht das aber nicht in der Schleife, sondern in der Schleifen-Definition:

    Statt

    VB.NET-Quellcode

    1. For i As Integer = 1 To listbox1.Items.Count
    2. Gesamt = Gesamt + listbox.Items.Item(i - 1)
    3. Next i


    Lieber so:

    VB.NET-Quellcode

    1. For index As Integer = 0 To listbox1.Items.Count - 1
    2. Gesamt = Gesamt + listbox.Items.Item(index)
    3. End For


    So kannst Du beim Debuggen auch direkt sehen, bei welchem Index die Schleife gerade ist.
    zu 2.: Ich glaub, er verwendet zur Anzeige ein DGV, wassich ihm mal gebastelt habe, und da habich die Spalte als Währung formatiert.
    Von daher kann schon sein, dasses Doubles sind.

    Aber weiter scheinter mein Datenmodell ja nicht zu verwenden. Denn wennichmich recht erinnere, war da ja schon eine Summenberechnung enthalten, und er müsste die Summe nur abrufen.
    Hey danke Leute, :P

    tut mir echt leid mit den ganzen PM´s ;( .

    Ich danke euch das ihr mir geholfen habt.

    Ich habe es Zwar geschaft alles zu Addieren, doch trotzdem möchte ich für meine Nachgänger antwort geben.

    GambaJo schrieb:

    1. Wenn die Zahlen wirklich Double sind (was ich nicht glaube), warum addierst Du sie zu einer Integer-Zahl (Gesamt)? Das kann schon mal nicht funktionieren
    Ja Die Zahlen sind Double, doch wenn ich anstatt von Integer Double hinschreiben Kommt eine Fehlermeldung Das ich nicht von Integer in Double Konventieren kann.

    GambaJo schrieb:

    3. Du solltest deine Objekte und Variablen mit sinnvollen Namen versehen, so dass man auch im Code erkennt, welche Aufgabe sie haben. „Listbox1“ oder „i“ taugen nichts als Namen.
    Ich habe sie normalerweise mit sinvollen Namen versehen, doch ich wollte euch nur ein Kleines Beispiel geben sry nochmal :)

    GambaJo schrieb:

    So kannst Du beim Debuggen auch direkt sehen, bei welchem Index die Schleife gerade ist.
    Supper wieder etwas Neues gelernt. :)

    ErfinderDesRades schrieb:

    Aber weiter scheinter mein Datenmodell ja nicht zu verwenden. Denn wennichmich recht erinnere, war da ja schon eine Summenberechnung enthalten, und er müsste die Summe nur abrufen.
    Hallo ErfinderFesRades :),

    Ich habe die Idee deines Datenmodell´s mit Dodos zusammengefügt.
    So habe ich Das Kassensystem das mit Touchscreent funktioniert (Dodo)
    und ein "Bonjournal" welches mir zeigt was alles verkauft wurde (Deine Idee) :)

    Nochmal Ich bin Jeden von euch Dankbar das Ihr mir Geholfen habt.
    :thumbsup:

    Ich hoffe das Wenn irgendwelche Fehler oder Probleme duftreten ich euch trotz meiner PM Attacke :love:
    doch nach Rat fragen kann.


    danke euch :thumbsup:
    Hallo Leute,

    Hier zum nächsten Problem

    ich würde gerne eine kleine Rechnung vornehmen.

    unzwar:

    Ich will, dass VB mir die zahl in der Textbox1 mal 0.19 nimmt und das Ergebniss - 50 % nimmt.
    Es klappt nicht so wie ich es will.
    Das einzige was klappt ist, textbox1 mal 0.19

    aber eine kombination klappt nicht

    hier der code der nicht Klappt:

    VB.NET-Quellcode

    1. summe.Items.Add("total: = " & CDbl(TextBox1.Text) * 0.19 - 50%).ToString("C")




    Es wird dauernd eine falsche Zahl Herrausgegeben


    ich danke im Vorraus :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „killahiraner“ ()

    woher soll der Compiler denn wissen, dass er 50% des Wertes aus der Textbox nehmen soll? Das musst du schon selbst berechnen. Also zum Beispiel

    VB.NET-Quellcode

    1. CDbl(TextBox1.Text) * 0.19 - CDbl(TextBox1.Text)*0.5

    Skybird schrieb:

    Das sind ja Ubisoftmethoden hier !

    killahiraner schrieb:

    hey danke für dein beispiel aber das geht nicht.


    Warum gleich so detailliert?

    Fehlermeldung? Gibt es überhaupt eine?
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.

    killahiraner schrieb:

    Ja Die Zahlen sind Double, doch wenn ich anstatt von Integer Double hinschreiben Kommt eine Fehlermeldung Das ich nicht von Integer in Double Konventieren kann.


    Ich weiß nicht, was Du da sonst noch gemacht hast.
    Das .NET FW ist aber typensicher (sofern Strict On an ist). Das bedeutet, man kann nicht einfach eine Variable eines bestimmten Typs in eine andere Variable eines anderen Typs rein packen, ohne sie zu konvertieren.

    Wenn Du zwei Double-Zahlen hast, und sie z.B. addierst, kommt wieder eine Double-Zahl raus. Und oben hast Du diese Summe versucht in eine Integer-Variable zu packen. Das geht nicht. Wäre sicher auch nicht erwünscht, selbst wenn es gehen würde, da die Werte anscheinend Geldbeträge darstellen sollen.

    5,51 € +5,51 € = 11,02 €

    Würdest Du das Ergebnis in Integer packen (vorausgesetzt das ginge), dann würde die Integer-Variable 11 € enthalten, da sie ja keine Nachkommastellen darstellen kann.

    GambaJo schrieb:

    Würdest Du das Ergebnis in Integer packen (vorausgesetzt das ginge), dann würde die Integer-Variable 11 € enthalten, da sie ja keine Nachkommastellen darstellen kann.

    Es sei denn, man nimmt die Cent-Beträge als Integer, was aber auch nicht gut ist wegen der Meerschweinchensteuer und der Rundung dazu.

    vb-checker schrieb:


    VB.NET-Quellcode

    1. CDbl(TextBox1.Text) * 0.19 - (CDbl(TextBox1.Text) * 0.19)*0.5
    Was soll den das?
    Rechne mit Zahlen (Double), speichere Zahlen ab und zeige in der Ausgabe einen String an.
    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!

    hallo leute

    Hallo Leute,

    Ich Danke euch für eure hilfe.
    Bis jetzt funktioniert alles supper nur 1 sache hindert mich das projekt zu beenden.

    unzwar:

    mein Kassenbon wird supper mit dem drucker den ich zuhause habe gedruckt.
    Aber ich habe mir einen bonducker zugelegt da der ja nicht als standarddrucker erkannt wird kann ich den kassenbon nicht drucken

    der drucker hat eine serielle schnittstelle und ist an ein usb converteer angeschlossen.
    ich weiß nur nicht wie ich meinem button sagen kann sende den inhallt meiner richtextbox an dem drucker der am "Com1" angeschlossen ist

    ich weiß nur den anfang :D

    VB.NET-Quellcode

    1. Serialport1.open()


    ich hoffe ihr könnt mir weiterhelfen ;(

    Danke im Vorraus :)
    Hast du den Drucker installiert, oder nur angeschlossen?

    Wenn er installiert ist, dann kannst du ihn ansprechen wie jeden
    anderen Drucker auch.

    Wenn du ihn nur angschlossen hast, dann wirst du tatsächlich
    über die serielle Schnittstelle arbeiten müssen. Dann wird es
    aber auch schwieriger Grafik zu drucken. Also z.B. ein Logo.
    Hallo Lightsource der drucker ist nur angeschlossen und nicht installiert ja ich muss über die serielle schnittstelle gehen eine grafik wird nicht gedruckt ist nur text


    der in einer richtextbox geschrieben ist


    ich weiß nur nicht genau wie ich das bewerkställigen soll hoffe du kannst mir helfen danke dir

    :)