Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mit Rave drucken - aber wie? (https://www.delphipraxis.net/106631-mit-rave-drucken-aber-wie.html)

Fritz01 14. Jan 2008 10:01

Datenbank: Absolute Database • Zugriff über: ABSTable, DataSource

Mit Rave drucken - aber wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin, moin,
habe aus meinem Prog. versch. Daten (siehe Anhang) auf dem Bildschirm. Diese sollen nun mit Rave gedruckt werden. Mit onBtnClick erscheint das Druckmenue. Hier kann man alles, was dazu erforderlich ist einstellen und dann soll von dort auch gedruckt werden. Soweit geht das auch (ohne drucken) alles.
Aber, gedruckt wird bisher nur eine .rav Datei, die inRvProject.ProjectFile angegeben ist.
Nun mein Problem: Wie bringe ich meine Daten entsprechend formattiert auf’s Papier?
Dazu benötige ich mal wieder Hilfe. Danke
Fritz

Poolspieler 14. Jan 2008 12:39

Re: Mit Rave drucken - aber wie?
 
Hi,
hast Du auf die RvProject-Komponente schon doppelt geklickt und im Rave-Editor ein Rave-Projekt mit der Maske und den Datenverbindungen, etc. erstellt?
Dateiendung .rav

Wenn das geschehen ist, dann stellst Du in der RvProject-Komponente die Eigenschaft ProjectFile auf das im Raveeditor erzeugte Raveprojekt ein - pass auf, nimm keine absoluten Pfade dabei... Das Raveprojekt muss dann natürlich im selben Verzeichnis wie die EXE liegen...
Jetzt kannst Du mit
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
RvProject1.Execute;
end;
den Druck starten. Dann kommt ein Fenster, auf dem Du preview oder den Drucker auswählen kannst...

Falls Du weiter Probleme hast, kann ich ein kurzes Beispielprojekt hier anhängen...

Gruß,
Poolspieler

Fritz01 14. Jan 2008 13:11

Re: Mit Rave drucken - aber wie?
 
Hallo Poolspieler,
danke für die Antwort.
Zitat:

hast Du auf die RvProject-Komponente schon doppelt geklickt und im Rave-Editor ein Rave-Projekt mit der Maske und den Datenverbindungen, etc. erstellt?
Dateiendung .rav
NEIN! habe ich nicht, wie geht das? Muß da für jeden möglichen Audruck mit dem Designer was estellt werden?
Das was man auf dem Bild im Anhang sieht sind ausgesuchte Daten aus einer ABS-DatenTabelle, jeweils in Label.Caption. Die Label liegen in einer ScollBox. Ich nahm an, man könnte nun von der einen SrollBox in die Vorschau-ScrollBox kopieren und dann von dort drucken.
Die Rave-Dokumentation ist nur sehr dürftig, und ähnliches habe ich bei meiner Suche nicht gefunden.
Für eine kl. Demo wäre ich sehr dankbar.
Fritz

Poolspieler 14. Jan 2008 13:37

Re: Mit Rave drucken - aber wie?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich muss gestehen, dass ich ABS-DatenTabellen nicht kenne...
Ein Rave-Projekt mit einer richtigen Datenquelle habe ich gerade nicht zur Hand.

Ich habe Dir aber zumindest ein Beispiel ohne aktive Datenquelle erstellt.
Du müßtest dort im Raveeditor als nächstes ein Dataview erstellen und die Dataelemente mit der Datenquelle verknüpfen.

Vielleicht reicht es Dir aber auch, direkt auf die Canvas mit printer zu drucken - dazu ist im Programm auch ein simples Beispiel...

Beste Grüße,

Poolspieler

Fritz01 14. Jan 2008 16:13

Re: Mit Rave drucken - aber wie?
 
Hallo Poolspieler,
danke für die Demo, hilft mir aber nicht weiter.
Soweit war ich mit Rave auch schon.
Zitat:

Du müßtest dort im Raveeditor als nächstes ein Dataview erstellen und die Dataelemente mit der Datenquelle verknüpfen.
Aber genau darum geht es ja, hier komme ich nicht weiter. Da habe ich auch bei www.nevrona.com nichts gesehen. Diesbezüglich wäre ich um eine Demo oder Anleitung dankbar. Wie kriege ich diese Daten in eine .rav-Datei?
Mit den besten Grüßen aus Ahlhorn
Fritz

grenzgaenger 14. Jan 2008 22:13

Re: Mit Rave drucken - aber wie?
 
Wie wäre es mit Codebasedprinting? Da kannste direkt aus deinem Progy heraus drucken ... :-)

einfach die TRvSystem auf dein Formular ziehen, ein OnPrint Ereignis erzeugen und dort deinen Code zum Drucken reinschreiben ...

z.b.
Delphi-Quellcode:
procedure TForm1.RvSystem1Print(Sender: TObject);
var
 x: tbasereport;
begin
 x := tbasereport(sender);
 x.Units := unMM;
 x.Rectangle(10,10,40,20);
end;

procedure TForm1.sButton1Click(Sender: TObject);
begin
 rvsystem1.Execute;
end;
Beispiele gibts unter unter und eine Anleitung zum CodeBasedPrinting unter

<HTH>

mquadrat 15. Jan 2008 11:08

Re: Mit Rave drucken - aber wie?
 
Ich würde da auch auf Code-Based-Printing gehen. Diese Baumstruktur wird man denk ich im Designer nicht hinbekommen.

Fritz01 15. Jan 2008 19:24

Re: Mit Rave drucken - aber wie?
 
Hallo,
dank Euch für die Antworten. Es wird wohl am Ende auf CodeBasedPrintig herauslaufen.
Werde mir auch die Beispiele ansehen.

@ grenzgaenger,
habe da entsprechend Deinem Beispiel mal getestet, 'gedruckt' wird da nur ein leeres Blatt.
Zitat:

einfach die TRvSystem auf dein Formular ziehen, ein OnPrint Ereignis erzeugen und dort deinen Code zum Drucken reinschreiben ...
Du sprichst ein großes Wort gelassen aus! Ein onPrint Ereignis erzeugen Wie?
Code zum Drucken reinschreiben Was?
Wenn ich das wüßte wäre ich bestimmt schon ein Stück weiter.
Wie erzeugt man ein onPrint Ereignis und was muß da an Code zum Drucken rein?
Da wäre ich um ein Beispiel dankbar.
Danke und einen schönen Abend
Fritz

grenzgaenger 15. Jan 2008 22:40

Re: Mit Rave drucken - aber wie?
 
einfach die komponente RVSystem auf dem formular markieren, in den object inspektor unter ereignisse ... doppelklick auf onprint. ein beispiel hab ich auf meinen letzen beitrag gebracht hier. aber auch den link zu ein paar beispielen angehängt. ausserdem sind einige beispiele im RAVE verzeichnis unter RAVE/DEMOS vorhanden. ich find es mit den CodeBasedPrinting unkomplizierter und mit mehr freiheiten, einen report zu erstellen. aber für einen anwender ist das natürlich nix ... der braucht was zum rumklicken... ;-) <HTH>

grenzgaenger 15. Jan 2008 22:45

Re: Mit Rave drucken - aber wie?
 
Zitat:

Zitat von Fritz01
Hallo,
dank Euch für die Antworten. Es wird wohl am Ende auf CodeBasedPrintig herauslaufen.
Werde mir auch die Beispiele ansehen.

@ grenzgaenger,
habe da entsprechend Deinem Beispiel mal getestet, 'gedruckt' wird da nur ein leeres Blatt.

so sollte es nicht sein. der code, zeichnet ein rechteck auf das blatt...

... hier noch 'n kleines erweitertes beispiel:
Delphi-Quellcode:
procedure TForm1.RvSystem1Print(Sender: TObject);
var
  x: tbasereport;
begin
  x := tbasereport(sender);
  x.Units := unMM;
  x.Rectangle(10,10,40,20);
  x.Fontname := 'Arial';
  x.FontSize := 24;
  x.FontColor := clBlue;
  x.PrintXY(10, 30, 'hier ist eine ausgabe');
  x.Println(', hier gehts gleich weiter ...');
  x.Println('und hier noch was mit zeilenvorschub');
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 Uhr.
Seite 1 von 2  1 2      

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