Registriert seit: 24. Aug 2007
Ort: Bochum
167 Beiträge
Delphi 2007 Professional
|
StrinGrid mit Linien über Ravereport ausdrucken.
3. Feb 2008, 19:17
Hallo Alle.
Ich möchte ein StrinGrid mit Linien mit dem Ravereport ausdrucken. Im Prinzip klappt das ganze, nur der Text ist nicht da wo er hingehört.
Ich benutze diesen Code. Was mache ich da falsch, ich komme nicht darauf.
Delphi-Quellcode:
procedure TForm4.RvSystem1Print(Sender: TObject);
var
I: Integer;
RP1: TBaseReport;
procedure PHeader;
begin
with RP1 do
begin
Home;
// *** Seiteneinstellung
SectionLeft := 0.5;
SectionRight := PageWidth - 0.5;
SectionTop := 1.0;
SectionBottom := PageHeight - 1.5;
SetFont ('Arial', 16);
FontColor := clNavy;
Bold := True;
PrintCenter ('Raumverwaltung', PageWidth / 2);
Bold := False;
NewLine;
NewLine;
SetFont ('Arial', 12);
FontColor := clBlack;
ClearTabs;
SetTab (SectionLeft, pjCenter, 1.0, 5, BoxLineAll, 5);
SetTab (SectionLeft, pjCenter, 2.2, 5, BoxLineAll, 5);
SetTab (SectionLeft, pjCenter, 3.4, 5, BoxLineAll, 5);
SetTab (SectionLeft, pjCenter, 4.6, 5, BoxLineAll, 5);
SetTab (SectionLeft, pjCenter, 5.8, 5, BoxLineAll, 5);
SetTab (SectionLeft, pjCenter, 7.0, 5, BoxLineAll, 5);
SetTab (NA, pjCenter, PageWidth - 2, 5, BoxLineAll, 5);
Bold := True;
PrintTab ('Raum');
PrintTab ('belegt');
PrintTab ('von');
PrintTab ('bis');
PrintTab ('als');
PrintTab ('Bemerkung');
Bold := False;
NewLine;
end;
end;
begin
RP1 := Sender as TBaseReport;
with RP1 do
begin
PHeader; // *** Seitenkopf
for I := 1 to StringGrid1.RowCount - 1 do
begin
if LinesLeft < 5 then // Neue Seite
begin
NewPage;
PHeader;
end;
PrintTab (StringGrid1.Cells[1,I]);
PrintTab (StringGrid1.Cells[2,I]);
PrintTab (StringGrid1.Cells[3,I]);
PrintTab (StringGrid1.Cells[4,I]);
PrintTab (StringGrid1.Cells[5,I]);
PrintTab (StringGrid1.Cells[6,I]);
NewLine;
end;
end;
end;
|