Einzelnen Beitrag anzeigen

Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#1

RBuilder - Image - Platzhalter

  Alt 24. Jul 2012, 12:20
Ich benutze Grade den RBuilder und möchte folgendes:

Der User legt über den Designer ein Template an und speichert es.
Auf dem Template legt der User so viele Images und Labels an wie er möchte.
Ein Label gehört immer zu einem Image. Die Namen werden nicht verändert, also noch per Default:
Image1,Label1,Image2,Label2... etc Die Position kann der User frei bestimmen und das Template dann speichern.

Soweit kein Problem. Jetzt möchte Ich aber in einem Event der Reihe nach aus einer ObjectList mit Blöcken welche aus je einem Label+Image bestehen die Platzhalter auf dem Template füllen.

Ich bin grade ein bisschen Ratlos wie Ich auf meine Platzhalter zugreifen kann.

Das ist mein Block
Delphi-Quellcode:
  
TBlock = class(TPersistent)
  private
    FImage : TBitmap;
    FText : String;
Dann meine Blockliste in einer anderen Klasse
  FBlocks : TObjectList; meine noch unvollständige "Generierungs-Prozedur" wo Ich das Template befüllen möchte:

Delphi-Quellcode:
// ReportUnit ist meine Eigene gekapselte Klasse
procedure TReportUnit.Generate;
var
  Template : TppReportTemplate;
  I: Integer;
begin
  Template := TppReportTemplate.Create(nil);
  // benutzerdialog für template laden öffnen
  Template.ShowFileOpenDialog;
  // wenn noch ein Template geladen ist, dann alte Template Freigeben
  if Assigned(FReport.Template) then
    FReport.Template.Free;
  // neues Template zuweisen
  FReport.Template := Template;

  // Template mit Daten füllen wenn entsprechende Platzhalter auf dem Template liegen
  // Der Reihe nach Image1,2,3,...n
  // Der Reihe nach Label1,2,3,...n
  // Wenn noch Daten da sind, aber keine Platzhalten, dann Abbruch
  // Wenn noch Platzhalter da sind aber keine Daten, dann Abbruch

  // FBlocks repräsentiert die Daten
  for I := 0 to FBlocks.Count - 1 do
  begin
    // Die Frage ist jetzt Wie Ich die Platzhalter auf FReport anspreche, hab sie mal
    // ImageI und Text I genannt
    ImageI := TBlock(FBlocks.Items[I]).FImage;
    TextI := TBlock(FBlocks.Items[I]).FText;
    
  end;

end;
vielen dank im vorraus

Habe noch ein Bild beigefügt an dem man sieht wie das Report Template immoment noch ausshen könnte
Miniaturansicht angehängter Grafiken
unbenannt.jpg  
Die Leiter der Entwicklungsabteilung dreht total am Mausrad!

Geändert von Jonas Shinaniganz (24. Jul 2012 um 12:27 Uhr)
  Mit Zitat antworten Zitat