AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriff auf dynamisch erstellte Komponente

Ein Thema von wendelin · begonnen am 18. Jul 2011 · letzter Beitrag vom 21. Jul 2011
Antwort Antwort
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#1

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 19. Jul 2011, 07:28
Bitte Quellcode wegen der Lesbarkeit mit zutreffendem Delphi- oder Code-Tag klammern, dann bleibt die Formatierung im wesentlichen erhalten. Dafür gibts im Bearbeitungsformular auch Schaltflächen.

Den QReport hab ich nicht installiert, aber im Prinzip sollte es doch so funktionieren:
Delphi-Quellcode:
procedure TGridReport.MyDetailBeforePrint({...});
begin
  {...}
end;

// Ereignisbehandlung zuweisen
GridRep.Bands.DetailBand.BeforePrint := MyDetailBeforePrint;
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 19. Jul 2011, 22:04
Hallo Omata,

ich meine damit: Tabellierpaper bedeutet das die ZEILEN im Report der besseren Lesbarkeit halber alternierend z.B. in weiss - grün - weiss -
grün u.s.w. dargestellt werden s.u. Natürlich kann auch eine andere
Farbkombination gewählt werden.

begin
If GridReport.DetailBandXXX.Color = clWhite THEN
GridReport.DetailBandXXX.Color := clMoneyGreen ELSE
GridReport.DetailBandXXX.Color := clWhite;
end;
Dennoch vielen Dank für die schnelle Bearbeitung
Wolfgang
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 19. Jul 2011, 22:38
Hallo FredlFesl

mag zwar ein guter Tipp sein, ist mir aber deutlich zu teuer!
599 - 1999 $ !!
Habe schon mit RaveReport gearbeitet, benötige ich nicht, da zu
komplex und für meine Anforderungen überdimensioniert.

Dennoch danke für die schnelle Bearbeitung.
P.S. Was bedeutet das : &%&$%"§$" ??
Wolfgang
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 19. Jul 2011, 23:00
Hallo Blup,

Vielen Dank für die schnelle Antwort, aber so geht es leider nicht.
Vielleicht stelle ich mich aber auch nur doof an.
Kannst Du Deinen Vorschlag etwas näher erläutern ?
Wolfgang
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#5

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 20. Jul 2011, 07:02
Hallo wendelin,

Ich implementiere alternierende Zeilen immer mit
Delphi-Quellcode:
If Odd (MyDataset.Recno) Then
  Band.Color := clWhite
else
  Band.Color := clGray;
Das Bild hängt schief.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.487 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 20. Jul 2011, 07:30
..., aber so geht es leider nicht.
Vielleicht stelle ich mich aber auch nur doof an.
Kannst Du Deinen Vorschlag etwas näher erläutern ?
Was genau geht nicht und warum nicht?

Ich versuchs mal etwas konkreter darzustellen:
Delphi-Quellcode:
type
  TGridReport = class(TForm)
    GridRep: TQuickRep;
    procedure GridRepPreview(Grid : TDBGrid);

    procedure GridRepBeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean); // <- muss im Objektinspektor dem Ereignis des Reports "BeforePrint" zugewiesen sein

    procedure MyDetailBeforePrint({...}); // <- wird erst zur Laufzeit zugewiesen

{...}
  end;

implementation

procedure TGridReport.GridRepBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
  // dem DetailBand Ereignisbehandlung zuweisen
  GridRep.Bands.DetailBand.BeforePrint := MyDetailBeforePrint;
end;

procedure TGridReport.MyDetailBeforePrint({...});
begin
  {...}
end;
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#7

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 20. Jul 2011, 19:41
Hallo Blup, vielen Dank für Deine Mühe,
aber ich glaube,dass ich mich sehr... anstelle.

type
TGridReport = class(TForm)
GridRep: TQuickRep;
procedure GridRepPreview(Grid : TDBGrid);
procedure GridRepBeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
procedure MyDetailBeforePrint({...}); // <--- müssen hier Param. rein und wenn ja, welche ? *
*
procedure TGridReport.GridRepBeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
// dem DetailBand Ereignisbehandlung zuweisen
GridRep.Bands.DetailBand.BeforePrint := MyDetailBeforePrint({...}); // <--- müssen hier Param. rein und wenn ja, welche ?
// Error Zeile.188
end;

procedure TGridReport.MyDetailBeforePrint({...}); // müssen hier Param. rein und wenn ja, welche ?
begin
If GridReport.DetailBand.Color = clWhite THEN // error Z. 193
GridReport.DetailBand.Color := clMoneyGreen ELSE
GridReport.DetailBand.Color := clWhite;
end;
Ich schick die mal die Fehlerliste des Compilers:

[Error] DBQRGridReport.pas(188): Incompatible types: 'TQRBandBeforePrintEvent' and 'procedure, untyped pointer or untyped parameter'
[Error] DBQRGridReport.pas(193): Undeclared identifier: 'DetailBand'
[Error] DBQRGridReport.pas(193): 'THEN' expected but identifier 'Color' found
Wolfgang
  Mit Zitat antworten Zitat
wendelin

Registriert seit: 29. Dez 2010
Ort: Nürnberg
126 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Zugriff auf dynamisch erstellte Komponente

  Alt 20. Jul 2011, 19:52
Hallo FredlFesl,

Danke für Deine schnelle Antwort, aber es liegt NICHT an der
alternierenden Farbauswahl, sondern daran,das der Compiler die Komponente "Band".Property nicht erkennt. Ist ja auch logisch, da diese erst zur Laufzeit erzeugt wird und im interface NICHT deklariert ist.

If Odd (MyDataset.Recno) Then
Band.Color := clWhite
else
Band.Color := clGray;
Wolfgang
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 Uhr.
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