Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Kassenbon mit Fast Report (https://www.delphipraxis.net/174854-kassenbon-mit-fast-report.html)

ByTheTime 14. Mai 2013 13:37

Kassenbon mit Fast Report
 
Hallo,
ich muss einen Bondrucker programmieren um Kassenzettel auszudrucken. Dazu scheint Fast Report ganz gut zu sein. Habe noch nie damit gearbeitet und suche jetzt Hilfe. Habe die Edition, die bei XE2 dabei war, die Embarcadero Edition.
Das Programm zieht per "Bon-HotKey" sich aus einer Datenbank die zuletzt getäigt(en) Buchung(en), z.B. "Apfel, 1€" usw. Natürlich holt es sich auch aus der DB den Namen der Filiale, Adresse usw. Das ganze funktioniert auch super. Zumindestens in einem Memo. Ich habe auch schon die Date und Time Variablen in Fast Report entdeckt. Allerdings versteh ich nicht, wie ich jetzt einen Datensatz, bzw. eine Variable mit dem Inhalt des Datensatzes auf den Bon bekomme. Da schaint es ja auch Variablen zu geben, bzw. wie spreche ich mein Report an? Es gibt ja auch die Eigenschaft DataSet. Vllt. geht es ja damit einfach. Achja, die Daten zieht sich das Programm aus der guten, alten BDE :lol: Ich denke damit ist die Eigenschaft DataSet schon garnicht mehr von belang.

Danke,
Lukas

Furtbichler 15. Mai 2013 06:58

AW: Kassenbon mit Fast Report
 
Sind bei Fastreport keine Demos dabei? Gibt es auf www.fast-report.com Demos?

Um direkt Tabellendaten auszudrucken, kannst Du ein TfrxDataset mit einem Dataset verbinden und hast dann im Designer Zugriff daraus. Du kannst auch Variablen definieren (z.B. Filiale, Adresse usw.) oder ein TfrxUserDataset verwenden, wenn Du eigene Liste ausgeben willst.

ByTheTime 15. Mai 2013 20:48

AW: Kassenbon mit Fast Report
 
Ja, aber die Demos sind komisch. Aber ich bin schon weiter gekommen, habe das jetzt erst mit dem FastReport DataSet verstanden. Muss man sich erstmal dran gewöhnen...

Medium 16. Mai 2013 00:49

AW: Kassenbon mit Fast Report
 
Ich mutmaße hier ein Missverständnis bzgl. des Konzeptes von Reports, bzw. die Verwendung von Datasets darin. Diese sind dazu da, um von Delphi aus angeforderte Antworten auf eine Datenbankabfrage in den Report zu übergeben, der daraufhin in der Regel so gebaut wird, dass er eine aufbereitete Liste der jeweiligen Datensätze in dem Dataset ausgibt. Das ist quasi die "Brot und Butter"-Funktion von Reports. Es lassen sich jedoch auch einzelne Variablen für den Report definieren, die dann aus Delphi einzeln mit Werten versorgt werden. Dabei geht jedoch verloren, dass der Report eine angepasst lange Liste aus diesen erstellt.

Wenn die Daten also nicht mit einer DB-Komponente (an die ein TDataset-Nachfahre angeknurpselt ist) stammen, jedoch listenartig und variabel in der Satz-Anzahl sind, wäre der sinnigste Weg wohl ein Memory-Dataset, dass man aus Delphiu heraus dann befüllt. Einzelne Variablen im Report sind eher für wirklich nur ein einziges Mal (bzw. eben nicht listenartig) auftauchende Dinge gedacht, die zudem nicht aus einer DB stammen, sondern vom Programm gebildet werden.

blondervolker 16. Mai 2013 05:52

AW: Kassenbon mit Fast Report
 
Hast'e wenigstens mal in die "DEUTSCHE ANLEITUNG"reingeschnarcht?
Da ist Schritt für Schritt incl.Bildchen alles dabei.:cyclops:

Im Ordner Demos findet man ein wunderchönes Beispiel:Fastreports/Demos/Main!
Das sollte für den Anfang mehr als gut sein.:-D

hstreicher 19. Mai 2013 09:36

AW: Kassenbon mit Fast Report
 
nur mal so Angemerkt

Kassensysteme sind im allgemeinen auf Stromsparen und Lüfterlosen Betrieb ausgelegte PC's mit schwacher Hardware (wozu auch)
und dann bringt dir eine (gefühlte) ewige dauerne Aufbereitung von einem Resourcenfresser wie Fastreport nur Ärger
du willst da nicht im Laden stehen wenn da eine Schlange an der Kasse steht weil Sie auf deinen Kassenbon warten
außerdem wirst du mit FR und Co Probleme haben die Sonderfunktionen eines Kassendruckers auszulösen
(Papierabschneiden und Kassenfach öffnen)

Ein Kassenbon besteht aus 4 Teile
Kopfzeile
Positionen
Summe(n)
Fusszeile

das lässt sich wunderbar mit ein paar wenigen Zeile Pascal machen,

Die gängisten Kassendrucker basieren auf dem ESC/POS Standard von Epson
Such mal danach

Im Windows Bereich werden für die Sonderfunktionen besondere Druckerzeichensätze angeboten
die über ein Zeichen in einer bestimmten Schriftart und Größe diese Funktionen ausloesen

mfg Hannes

haentschman 19. Mai 2013 09:48

AW: Kassenbon mit Fast Report
 
Moin...
Zitat:

und dann bringt dir eine (gefühlte) ewige dauerne Aufbereitung von einem Resourcenfresser wie Fastreport nur Ärger
...ich weis ja nicht wie ihr darauf kommt. In den letzten Tagen geht es ständig darum. :roll:

Aus meiner Praxis:
- Kassenbon mit Kassendrucker. (Die Entertaste oder Maustaste ist noch nicht richtig oben, da fängt er schon an zu drucken).
- Das Öffnen der Schublade ist nicht Aufgabe des Reports sondern der Software! :roll:

- Komplexer Report mit mehr als 10 Datenmengen, komplexen Darstellungen (Optik), mehreren Subreports -> Ergebnis (je nach Daten) bis zu 20 Seiten... das ganze wird erstellt in gefühlt 500 ms.

Zitat:

Resourcenfresser
...mach selbst und besser!

[/mein Senf]

Sir Rufo 19. Mai 2013 09:54

AW: Kassenbon mit Fast Report
 
@haentschman :thumb:

... und das Abschneiden kann auch separat aufgerufen werden ;)

ByTheTime 19. Mai 2013 17:24

AW: Kassenbon mit Fast Report
 
Okay, danke erstmal für die ganzen Antworten :) Aber ich will jetzt hier nicht diskutieren, wie sinnvoll das mit Fastreport ist, habe einen Bondrucker und muss nur noch ein Programm schreiben, das aus einer bestehenden Datenbank die letzte Buchung nimmt und abdruckt. Das funktioniert jetzt auch wunderbar. Ich hatte nur Probleme damit, wie das mit dem frxDataSet zusammenhäng und hab dann da irgendwie nur Müll rausbekommen. Aber jetzt funzt es, der Bondrucker druckt per HotKey den letzen Einkauf, und schneidet das Zettelchen schön braf ab. Und die Kasse wird auch geöffnet ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 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