Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi CustomConnection - OnNext OnFirst (https://www.delphipraxis.net/40872-customconnection-onnext-onfirst.html)

kati 22. Feb 2005 12:53


CustomConnection - OnNext OnFirst
 
Hallo!

Ich hoffe hier ist jemand der mir helfen kann.

Ich würde gern einen Record in Tabellenform im Rave drucken. Muss ich hierfür die OnFirst und OnNext Ereignisse verwenden, oder geht das auch anders? Wie benutze ich diese Ereignisse? :gruebel:

Würde mich auch sehr über einen Quelltextauszug freuen!

Danke!!

LG kati

Keldorn 22. Feb 2005 19:00

Re: CustomConnection - OnNext OnFirst
 
Hallo

mit Rave arbeite ich noch nicht so lange (1 Woche :oops: ), aber ich versuchs mal:

wenn du die Anzahl der Records schon weißt, ist die Verbindung onopen, getcols und getrows der customcennection nicht schlecht. Die andere Variante wärte onFirst, onNext und onEof um das Ende festzustellen, da bin ich mir aber nicht so sicher. Beispiel zur 1. variante findest du hier im Forum Hier im Forum suchenrave customconnection und hier: http://www.nevrona.com/files/next_steps_with_rave.pdf im 2. Teil des PDF´s. Das ist dort recht gut beschrieben.

Fülle zuerst die 3 Ereignisse (onopen die Anzahl der Einträge, ongetcols die Spalten und getrow die Daten), dann starte dein Programm. Es ist wichtig, das dein Programm beim ersten Designen läuft. Öffne den Rave-Designer, füge mit einem klick auf "View" eine neues Data object hinzu. Wähle "direct dataview" und dann deine Customconnection aus. Hast du das schon gemacht, mußt du evtl das Dataview "refreshen" um die aktuellen Daten zu übernehmen. Rechts bei der Dataview siehst du dann die einzelnen Felder.

Anschließend eine "Region Componente" aus dem Report-Reiter auf die Seite ziehen. Dann ein Databand in die erstellte Region. In diesem Databand erstellst du dann die benötigten Anzeigen (z.B. Datatext oder datamemo), diesen Anzeigen weißt du links im Objektinspektor zuerst das erstellte Dataview und dann das entsprechende Datafield aus. Du kannst auch rechts ein Dataview-eintrag anklicken und mit gedrückter STRG-Taste auf ein BNand ziehen, dann kannst du dir das Einstellen der Data*-Eigenschaften sparen.

Mit einem Klick auf "execute Report" solltest du dann ein Ergebnis sehen.

Ich hoffe da war jetzt kein Blödsinn dabei, ansonsten korrigiert mich bitte :)

Mfg Frank

merlin17 22. Feb 2005 22:42

Re: CustomConnection - OnNext OnFirst
 
Hallo kati
Zitat:

Würde mich auch sehr über einen Quelltextauszug freuen!
here we go:

Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetCols(Connection: TRvCustomConnection);
begin
  Connection.WriteField('LogoBitmap', dtGraphic, 30, '', '');
end;

procedure TForm1.RvCustomConnection1Open(Connection: TRvCustomConnection);
begin
  // some procedures for "extended customConnection.... in this example not always a must
  LogoRow := 1;
end;

procedure TForm1.RvCustomConnection1Next(Connection: TRvCustomConnection);
begin
  inc(LogoRow);
end;

procedure TForm1.RvCustomConnection1EOF(Connection: TRvCustomConnection;
  var Eof: Boolean);
begin
  Eof := (LogoRow > 1);
end;

procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
var
  FileStream: TFileStream;
  MemStream: TMemoryStream;
begin
  try
    MemStream := TMemoryStream.Create;
    try
      MemStream.LoadFromFile(ExtractFilePath(Application.ExeName) +
        'custom.bmp');
      Connection.WriteBlobData(MemStream.Memory^, MemStream.Size);
    finally
      MemStream.Free;
    end;
  finally

  end;
end;
@Frank:
Zitat:

mit Rave arbeite ich noch nicht so lange (1 Woche )
nicht schlecht; da soll noch einer sagen, rave sei komplex bzw. nicht intuitiv :angel:

Zitat:

Das ist dort recht gut beschrieben.
Danke :oops:


:-) thomas, TeamNevrona

kati 23. Feb 2005 07:23

Re: CustomConnection - OnNext OnFirst
 
Danke für eure hilfe!:thumb:

Jetzt funktionierts!!!

LG kati

Keldorn 23. Feb 2005 15:52

Re: CustomConnection - OnNext OnFirst
 
wo liegen da eigentlich die Vorteile/Unterschiede zu onnext? Setzt man besser die Anzahl der Daten in onopen oder prüft man das Ende in onEOF? Der Unterschied ist mir nicht so klar.

Mfg Frank


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