Registriert seit: 5. Feb 2006
137 Beiträge
Delphi 7 Enterprise
|
Re: mit pdf-Tool nur Teil einen Stringgrid drucken
8. Mai 2006, 11:29
bin jetzt selbst einen Schritt weiter gekommen, habe vor artikel, farbe usw. lote gesetzt, jetzt kommen die Daten, bis auf lote.order.text kommt nur beim ersten label dann nicht mehr, siehe Bild arbeitskarten-neu1.jpg
musste auch die Position des Barcodes anpassen, habe ich das richtig gemacht?
der Code sieht jetzt so aus:
Delphi-Quellcode:
const
ptArtikel: TPoint = (X: 0; Y: 0);
ptFarbe: TPoint = (X: 150; Y: 0);
ptColumn2: TPoint = (X: 400; Y: 0);
ptOrder: TPoint = (X: 0; Y: 50);
ptCode: TPoint = (X: 250; Y: 50);
ptColumn0: TPoint = (X: 260; Y: 50);
ptColumn1: TPoint = (X: 400; Y: 50);
var
iRow, iLabel: Integer;
pdf: TCanvas;
Artikel, Farbe, Order: TEdit;
begin
deletetmppdf;
with printpdf1 do
begin
FileName:=gettemppathd+'tmppdf'+Inttostr(random(5000))+'.pdf';
PageWidth:=1224;
PageHeight:=1725;
BeginDoc;
Font.Name:=poTimesBoldItalic;
Font.Size:=24;
end;
iLabel := 0;
with StringGrid1, printpdf1 do
for iRow := 0 to 7 do
if Trim(Cells[1, iRow+1]) <> '' then
//if Trim(Cells[FixedCols, iRow]) <> '' then
begin
with LabelToPage(ptArtikel, iLabel) do
TextOut(X, Y, 'Artigo: ' + lote.Artikel.Text);
with LabelToPage(ptFarbe, iLabel) do
TextOut(X, Y, 'Côr: ' + lote.Farbe.Text);
with LabelToPage(ptColumn2, iLabel) do
TextOut(X, Y, 'Tam.: ' + Cells[2, FixedRows + iRow]);
with LabelToPage(ptArtikel, iLabel) do
TextOut(20,90,'N.P.: '+lote.order.text);
with LabelToPage(ptArtikel, iLabel) do
pdfcodedrucken(X+120, Y+30, lote.Order.Text, False);
with LabelToPage(ptColumn0, iLabel) do
TextOut(X, Y, 'N°./Lo: ' + Cells[0, FixedRows + iRow]);
with LabelToPage(ptColumn1, iLabel) do
TextOut(X, Y, 'Peç/Lo: ' + Cells[1, FixedRows + iRow]);
Inc(iLabel);
end;
with printpdf1 do
begin
LineWidth := 2;
DrawLine(0, 530, 1224, 530);
EndDoc;
end;
ShellExecute(Application.Handle, 'open', PChar(printpdf1.FileName), nil, nil, SW_NORMAL);
end;
|