Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ein StringGrid mit RaveReport aus drucken? (https://www.delphipraxis.net/107539-ein-stringgrid-mit-ravereport-aus-drucken.html)

merlin17 30. Jan 2008 15:25

Re: ein StringGrid mit RaveReport aus drucken?
 
Du brauchst dich nicht entschuldigen! Und ich gebe zu: Rave ist nicht eine von den leichten
Delphi-Komponenten, insbesondere die Lernkurve ist sehr steil ....
aber auf der nevrona.com/rave-seite, bereich tips&tricks findest du weitere lessons/tutorials! :cheers:


:-) thomas, TeamNevrona

Code 30. Jan 2008 17:13

Re: ein StringGrid mit RaveReport aus drucken?
 
Ich bin's nochmal. Ich wollte versuchsweise ein Memo ausdrucken.
Wieso klappt dieser Code nicht?
Delphi-Quellcode:
procedure TForm3.Button2Click(Sender: TObject);
begin
  RvProject1.ProjectFile := ExtractFilePath(Application.ExeName)+'Project1.rav';
  RvProject1.Execute;
end;

procedure TForm3.RvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin
RvCustomConnection1.WriteField('Text',dtString,50,'','');
end;

procedure TForm3.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
Var
I:Integer;
begin
  with connection do
    begin
       for I := 0 to Memo1.Lines.Count - 1 do WriteStrData(Memo1.Lines[I],'');
    end;
end;

procedure TForm3.RvCustomConnection1Open(Connection: TRvCustomConnection);
begin
Connection.DataRows := Memo1.Lines.Count - 1;
end;
Auf der Form habe ich ein Memo, RvCustomConnection und RvProject.

Gruß
Klaus

merlin17 1. Feb 2008 09:03

Re: ein StringGrid mit RaveReport aus drucken?
 
warum dtString für ein Memofeld :gruebel:
so wie nachfolgendes Schnipsel sollte es besser gehen...
btw: ist eigentlich ein neues Thema..... :dp:

:-) thomas, TeamNevrona

Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetCols(
  Connection: TRvCustomConnection);
begin
  Connection.WriteField('FieldText1', dtString, 30, '', '');
  Connection.WriteField('FieldMemo1', dtMemo, 30, '', '');
end;

procedure TForm1.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
var
  s: string;
  Buffer: PChar;
begin
  s := 'Meine Info für das Textfeld';
  Connection.WriteStrData('', S);
  GetMem(Buffer, Length(Memo1.Text) + 1);
  StrCopy(Buffer, PChar(Memo1.Text));
  Connection.WriteBlobData(Buffer^, Length(Memo1.Text));
  FreeMem(Buffer);
end;

Code 1. Feb 2008 11:25

Re: ein StringGrid mit RaveReport aus drucken?
 
Zitat:

Zitat von merlin17
warum dtString für ein Memofeld :gruebel:
so wie nachfolgendes Schnipsel sollte es besser gehen...

Hi,

Auch mit Deinem Beispiel klappt es nicht richtig. Von dem Memo wird nur immer die erste Zeile ganz oft ausgedruckt. (Ich hatte das Memo mal gefüllt).

Und
Delphi-Quellcode:
procedure TForm3.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
var
  s: string;
  Buffer: PChar;
  I:Integer;
begin
For I := 0 To Memo1.Lines.Count - 1 do
begin
  s := Memo1.Lines[I];
  Connection.WriteStrData('', S);
  GetMem(Buffer, Length(Memo1.Text) + 1);
  StrCopy(Buffer, PChar(Memo1.Text));
  Connection.WriteBlobData(Buffer^, Length(Memo1.Text));
  FreeMem(Buffer);
end;
geht wieder nicht. Das gleiche Problem habe ich auch bei einem StringGrid.

Gruß
Klaus

merlin17 1. Feb 2008 12:51

Re: ein StringGrid mit RaveReport aus drucken?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe einmal eine miniprojekt aufgezogen, siehe quelltext unten;
in das MEMO1-Feld aus wikipedia einen längeren Text kopiert und
dann dann kam der Report (page-orientiert!, wollte hier nicht mit
Regionen oder Bänder etc.etc. arbeiten, hat mit dem Übergabeproblem nichts
zu tun) sogar über mehrere Seiten (wie lange eben der Memo-inhalt ist) in der Preview...


:-) thomas, TeamNevrona



Delphi-Quellcode:

procedure TForm17.Button1Click(Sender: TObject);
begin
RvProject1.Execute;
end;

procedure TForm17.RvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin
 Connection.WriteField('FieldText1', dtString, 30, '', '');
  Connection.WriteField('FieldMemo1', dtMemo, 30, '', '');
end;

procedure TForm17.RvCustomConnection1GetRow(Connection: TRvCustomConnection);
var
  s: string;
  Buffer: PChar;
begin
  s := 'Meine Info für das Textfeld';
  Connection.WriteStrData('', S);
  GetMem(Buffer, Length(Memo1.Text) + 1);
  StrCopy(Buffer, PChar(Memo1.Text));
  Connection.WriteBlobData(Buffer^, Length(Memo1.Text));
  FreeMem(Buffer);
end;

procedure TForm17.RvCustomConnection1Open(Connection: TRvCustomConnection);
begin
Connection.DataRows := 1;
end;

end.

Code 1. Feb 2008 15:23

Re: ein StringGrid mit RaveReport aus drucken?
 
Hi,

danke Dir Thomas. Es hat an der *.rav gelegen. Ich hatte das Memo-Feld im Report falsch benannt. Man schaut zigmal auf einer Sache und bemerkt so banale Sachen nicht. Bitte entschuldige.

Gruß
Klaus

merlin17 1. Feb 2008 15:40

Re: ein StringGrid mit RaveReport aus drucken?
 
Klaus,

wichtig ist, dass es klappt ... weiterhin viel Spass mit Rave Reports!! :cheers:


;-) thomas, TeamNevrona


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

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