AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wie würdet Ihr das lösen? (Kassenprogramm)
Thema durchsuchen
Ansicht
Themen-Optionen

Wie würdet Ihr das lösen? (Kassenprogramm)

Ein Thema von DoktorD · begonnen am 2. Okt 2006 · letzter Beitrag vom 3. Okt 2006
Antwort Antwort
DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#1

Wie würdet Ihr das lösen? (Kassenprogramm)

  Alt 2. Okt 2006, 18:06
Hi. Schreibe zur Zeit an einem Kassenprogramm. D.h. ich habe auf verschiedene Tasten der Tastatur Artikel liegen, denen ein bestimmter Preis zugeordnet ist.

Jetzt will ich dass so haben, dass bei einem Tastendruck in einer Tabelle? die Produkte mit Anzahl (das Produkt kann mehrmals ausgewählt werden) erscheinen. Die ganzen Produkte sollen dann untereinander stehen und zum schluss der Gesamtpreis in einem Label ausgegeben werden.

Habt Ihr dafür irgendeinen Vorschlag. Ich hab noch nie was mit Tabellen gemacht.

Achsoo. Es muss nichts abgespeichert werden. Nach dem drücken von "Enter" soll alles gelöscht werden.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Wie würdet Ihr das lösen? (Kassenprogramm)

  Alt 3. Okt 2006, 11:34
Hi,
dein Problem besteht eigentlich aus mind. zwei Teilproblemen:
  1. Du möchtest eine Ausgabe (als Tabelle)
  2. Du musst die gewählten Artikel (+ Anzahl) zwischenspeichern

Die Darstellung ist dabei relativ einfach möglich. Du kannst jede Komponente nehmen, die dir eine Tabelle anzeigt. Da gibt es z.B. ein TStringGrid oder auch ein TListView, die kämen da gut in Frage. Die Tabelle musst du nun einfach nur regelmässig (beim ändern deiner Auswahl) aktualisieren. Damit wären wir schon bei Punkt 2, du musst dir also irgendwie merken, was "im Warenkorb liegt".
An sich bietet sich etwas wie eine Liste an, da du eine variable Anzahl von Produkten hast. Jedes Produkt wird sicherlich eine ID haben, du musst die ja irgendwie unterscheiden können. Du brauchst also eine Liste, die alle Produkte die gekauft wurden und dessen Anzahl abspeichert. Wird eine Taste ein zweites mal gedrückt, kannst du durch die Liste laufen und erkennst anhand der ID ob das Produkt schon im Warenkorb liegt (Anzahl erhöhen) oder nicht (hinzufügen).
Um zu prüfen ob ein Produkt in der Liste ist, kannst du einfach alle Elemente der Liste betrachten (bei einer Einkaufsliste dürften so wenig verschiedene Produkte vorhanden sein << 1000), dass dies schnell möglich ist. An sich kannst du aber auch auf eine Map zurückgreifen. Hier wird eine Funktion verwendet, die eine ID auf einen eindeutigen Platz abbildet, somit ist der Aufwand des Findens eines Produktes nun konstant (sonst linear). Im Falle einer Kasse dürfte es (wie gesagt) noch nicht ins Gewicht Fallen.

Was Listen angeht, so kannst du auf TList zurückgreifen, wenn du mit Records arbeitest oder auf eine TObjectList wenn du mit Klassen/Objekten arbeitest. Letzteres würde ich dir eher empfehlen, da die gespeicherten Instanzen auch aut. wieder freigegeben werden (können).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz