Einzelnen Beitrag anzeigen

Keldorn

Registriert seit: 6. Mär 2003
Ort: Meißen
876 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

[Rave] Dynamische Bandhöhe

  Alt 5. Mai 2005, 12:26
Hallo

Ich habe einen Report mit 2 Bändern. Im ersten wird eine Tabelle angezeigt, im zweiten ein dazugehöriges Diagramm (TChart in Verbindung mit Metafile). Die Anzahl der Tabellenzeilen variiert, ich möchte aber, das das Diagramm immer den restlichen unteren Teil der Seite ausfüllt, egal wie groß die Tabelle ist.
Es gibt leider kein expandparent wie beim Datamemo und bei der Bandeinstellung finde ich auch nichts passendes.

Ich habe es erstmal so gelöst:
Delphi-Quellcode:
Onbeforeprint des [b]Metafiles[/b]:
DataBand_diagramm.height:=Region1.height-DataBand_diagramm.top;
Metafile-Eigenschaften: Anchors: beide stretched, Matzchseide=msinside

Was ich nicht verstehe:
- gleicher Code im onbeforeprint des databandes: nicht passiert, das Metafile bleibt in der Höhe gleich
- DataBand_diagramm.height:=Region1.height-DataBandoben.height;-> die Diagrammbandhöhe ist viel zu groß, obwohl doch eigentlich das gleiche rauskommen müßte

- die eingestellten Höhe-werte in den events und im OI sind unterschiedlicher Auffassung bezüglich des Wertes. In den Events ist z.B. eine Höhe von 5 um ein vielfaches größer als eine eingestellte Höhe von 5 im OI. Liegt vielleicht an inch-cm? In events kann ich nicht rechnen, s.u..
- Ich bin nicht in der Lage, irgendwelche Rechenoperationen mit Kommazahlen in den events durchzuführen
DataBand_diagramm.height:=Region1.height-DataBand_diagramm.top-2; Funktioniert, bei:
DataBand_diagramm.height:=Region1.height-DataBand_diagramm.top-0,2; Kann ich das event nicht compilieren , Fehlermeldung: „General Compiler-Error – Zugriffsverletzung bei Adresse 01B0E3AC in Modul ‚RVEngine60.bpl’. Lesen von Adresse 00000008“


Gäbe es auch eine Lösung ohne Events? Ich möchte die nicht nutzen, da ich schon mal kräftig damit auf die Nase gefallen bin (innerhalb eines events ein DataviewFeld ausgewertet, anschließend das dataview umbenannt, Rave kommt damit nicht klar und es kommt eine nichtsagende AV und man sucht sich duselig nach dem Fehler).

Danke

Frank

Lükes Grundlage der Programmierung:
Es wird nicht funktionieren
(Murphy)
  Mit Zitat antworten Zitat