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 [Rave] Dynamische Bandhöhe (https://www.delphipraxis.net/45389-%5Brave%5D-dynamische-bandhoehe.html)

Keldorn 5. Mai 2005 11:26


[Rave] Dynamische Bandhöhe
 
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
Delphi-Quellcode:
DataBand_diagramm.height:=Region1.height-DataBand_diagramm.top-2;
Funktioniert, bei:
Delphi-Quellcode:
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

Keldorn 10. Jun 2005 20:04

Re: [Rave] Dynamische Bandhöhe
 
*push*
keiner eine idee? :cry:

Mfg Frank

merlin17 14. Jun 2005 16:36

Re: [Rave] Dynamische Bandhöhe
 
Zitat:

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“
evtl. einmal 0.2 probieren :oops: (Nevrona ist in Arizona)??

Zitat:

Gäbe es auch eine Lösung ohne Events?
hmmm, ich kann mir deinen Report noch nicht ganz vorstellen, kannst du mir evtl. mal eine NDR-Datei schicken (eMail siehe Signatur)?
evtl. kombinierte Band- und SeitenReport ......

:-) thomas, TeamNevrona

Keldorn 14. Jun 2005 19:49

Re: [Rave] Dynamische Bandhöhe
 
Zitat:

Zitat von merlin17
evtl. einmal 0.2 probieren :oops: (Nevrona ist in Arizona)??

Natürlich ;).
Zitat:

ungültiger Gleitkommawert
Aber ich habs nochmal probiert: 0.2 geht, wenn ich in der Ländereinstellung in Windows den Punkt und nicht das Komma als Dezimaltrennzeichen einstelle. Dann wirds compiliert. Aber ich werde das bestimmt nicht nur für Rave ändern ;). Und wie sich das auf anderen Rechnern auswirkt, auf denen das Programm letztenendes laufen soll, habe ich auch noch nicht getestet.

Zitat:

kannst du mir evtl. mal eine NDR-Datei schicken (eMail siehe Signatur)?
evtl. kombinierte Band- und SeitenReport ......
Mail ist raus

Danke Frank

merlin17 15. Jun 2005 19:55

Re: [Rave] Dynamische Bandhöhe
 
Hallo,

Zitat:

Aber ich habs nochmal probiert: 0.2 geht, wenn ich in der Ländereinstellung in Windows den Punkt und nicht das Komma als Dezimaltrennzeichen einstelle. Dann wirds compiliert. Aber ich werde das bestimmt nicht nur für Rave ändern . Und wie sich das auf anderen Rechnern auswirkt, auf denen das Programm letztenendes laufen soll, habe ich auch noch nicht getestet.
danke für den Hinweis, werde ich gleich mal bei mir ausprobieren; ich würde in der Systemeinstellung auch nichts ändern <g>

die NDR schaue ich mir am Freitag/Samstag an!


:-) thomas

merlin17 27. Jun 2005 07:46

Re: [Rave] Dynamische Bandhöhe
 
Hallo,

habe mir endlich die NDR angeschaut :oops:
Ich würde (so aus der Ferne) das Diagramm direkt auf die Seite plazieren, die Region
quasi oberhalb der Grafik "beenden".

wg. dem dot-Problem bin ich noch nicht mit den Nevronies weitergekommen, da dort Rave 6.04 BEX
absolute Priorität im Moment hat.


:-) thomas

Keldorn 3. Jul 2005 16:55

Re: [Rave] Dynamische Bandhöhe
 
Zitat:

Zitat von merlin17
Ich würde (so aus der Ferne) das Diagramm direkt auf die Seite plazieren, die Region
quasi oberhalb der Grafik "beenden".

Hallo, hmmm :gruebel: dann steh ich aber noch mehr auf dem Schlauch. Wie gesagt, die Anzahl der Zeilen variiert, also ich weiß damit auch nicht, wie groß die region sein müßte. Mache ich die Region zu klein, habe ich dann einen Teil der Tabellenzeilen auf der neuen nächsten Seite und das ist nicht unbedingt was ich will.
Wie kann ich dann die Regiongröße automatisch so anpassen, das das Tabellenband draufpaßt?

Zitat:

wg. dem dot-Problem bin ich noch nicht mit den Nevronies weitergekommen, da dort Rave 6.04 BEX
absolute Priorität im Moment hat.
das macht nichts, ich bin geduldig ;)


Mfg Frank


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