Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Datensätze drucken ohne Reports (https://www.delphipraxis.net/11664-datensaetze-drucken-ohne-reports.html)

macht 11. Nov 2003 14:44


Datensätze drucken ohne Reports
 
Hallo,
meine Ziel ist es in einer Datenbankanwendung einzelne Datensätze oder auch mehrer auf einmal zu drucken. Soll nicht spektakulär aussehen, ein einfaches Fenster mit "Drucke Datensatz von -- bis -- " reicht schon. Gibt es einen Weg um Reports zu vermeiden ?

Erscheint mir nämlich sehr kompliziert, da Quickreport bei mir auch nicht so recht laufen will, obwohl es bei Delphi 7 ja dabei hätte sein müssen , oder ?

Vielen Dank schonmal

mikhal 11. Nov 2003 17:33

Re: Datensätze drucken ohne Reports
 
Die QuickReports sind auch bei Delphi 7 dabei - aber gut versteckt!

Schau mal bei den Demos im Verzeichnis QuickRpt, da liegt auch ein Textfile, in dem steht, wie man die Quickreports installiert!

Grüße
Mikhal

Regionost 11. Nov 2003 23:07

Re: Datensätze drucken ohne Reports
 
Hay
Ich bin bereits an der Arbeit einen Print Editor zu bauen. Doch es wird noch einige Zeit in anspruch nehmen, da ich noch an einem Projekt arbeite. Ich hab auch das Problem mit dem QReport.

eddy 12. Nov 2003 15:05

Re: Datensätze drucken ohne Reports
 
Hallo,

ganz einfach:

Code:
 
if PrintDialog1.Execute then begin
  AssignPrn(PrintText);  {Zuweisung von PrintText an den Drucker}
  Rewrite(PrintText);    {Erzeugen und Öffnen der Ausgabedatei}
  Printer.Canvas.Font := Memo1.Font;{Zuweisung der eingestellten Schriftart an die Leinwand}
  //Schreiben des Inhalts von Memo1 in das Druckerobjekt
  for i := 0 to Memo1.Lines.Count - 1
    do Writeln(PrintText, space(leftmargin) + Memo1.Lines[i]);
  CloseFile(PrintText); //Schließen der Druckervariablen
end;
Ich nutze das zwar nicht für das Drucken von Datensätzen, sondern für die Ausgabe der in einem Memo angezeigten Struktur einer Datenbank.

Vielleicht genügt es ja Deinen Ansprüchen oder liefert eine passende Idee.

mfg
eddy

macht 13. Nov 2003 14:24

Re: Datensätze drucken ohne Reports
 
Hallo, erstmal vielen Dank für eure Hilfe.

Die Quickreportdemos laufen beide nicht bei mir, wäre ja auch nicht das Problem wenn man wenigstens den Code übernehmen könnte. Leider viel zu kompliziert.
Eddy, dein Code wäre hilfreich, leider muss ich vom User abfragen welche Datensätze er drucken möchte, also von x bis y oder ähnlich. Da ich auch einem kreativen Nullpunkt angelangt bin, bitte ich um einen Denkanstoß.
Kann mir jemand einen Link zu einem Beispiel-Code zeigen oder ein Beispielprogramm schicken das nichts anderes tut als Daten aus einer Datenbank in einen Report darzustellen ? Umso simpler umso besser.

Vielen Dank schon mal,
macht

eddy 13. Nov 2003 17:00

Re: Datensätze drucken ohne Reports
 
Hallo macht,

"um so simpler um so besser"?!

Drucken hat nichts mehr mit simpel zu tun. Eine einfache Adreßdatenbank hat die Felder Name1, Name2, Name3, Strasse, Plz, Ort und evtl. noch Tel und Fax. Alles vom Typ ftString, gesamt ca. 240 Zeichen. Um die unformatiert in eine Zeile zu drucken, also ganz, ganz einfach, dann geht das eh bloß noch mit einem Laserdruckt 1200 dpi mit Schriftgröße 4. Nur wer soll das Zeug dann noch lesen, oder A3 Quer mit normaler Schrift.

Vielleicht solltest Du Dir doch noch ein paar Gedanken darüber machen, welche Daten Du in welcher Anordnung, in welcher Schrift und in wievielen Zeilen drucken willst. Wenn Du das weißt, dann machst Du Dir ein Unterprogramm, das genau einen Satz so verarbeitet, daß auf dem Papier (oder in einem Memo - womit wir wieder bei dem einfachen Ausdruck wären) das steht, was Du darstellen willst, und wenn das dann funktioniert, bastelst Du noch eine UP, das den Nutzer fragt, von welchen bis zu welchem Satz er drucken will, und baust das erste UP in eine entsprechende Schleife ein.

Eines bleibt Dir in keinem Fall erspart, Denken, Tippen, Testen.

mfg
eddy

macht 14. Nov 2003 13:58

Re: Datensätze drucken ohne Reports
 
Hallo, vielen Dank für deine Antwort.

Klingt gut, aber an sich zu umständlich. Am einfachsten / besten wäre es den Inhalt des DBGRIDS zu drucken, am besten genau so wie er da steht, inkl. Schriftgröße etc.
Der Anwender kann mittels Eingabemaske entscheiden wieviele / welche Datensätze dort angezeigt werden, und hat damit eigentlich schon das gewünschte Ergebis , nur leider noch nicht auf A4. Ich stelle mir diesen Weg als nicht sehr umständlich vor, aber höchstwahrscheinlich liege ich falsch oder ?

Vielen Dank,
macht


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz