Registriert seit: 5. Feb 2006
137 Beiträge
Delphi 7 Enterprise
|
mit pdf-Tool nur Teil einen Stringgrid drucken
7. Mai 2006, 03:38
Ich benutze ein externes pdf-Tool zum Ausdrucken von Labels.
Dabei kommt ein Teil der Infos aus einem Stringgrid, der andere Teil von Datenbank-Tabellen.
Ich möchte nun nur die Labels ausdrucken, wo ich im Stringgrid in der 1. Spalte (nicht die fixe Spalte 0) etwas eingetragen habe.
Der Stringgrid hat eine feste Zeile und eine feste Spalte.
Hat jemand eine Idee?
Hier ist der Code:
Delphi-Quellcode:
Delphi-Quellcode:
procedure Tlote.Button1Click(Sender: TObject);
begin
deletetmppdf;
printpdf1.FileName:=gettemppathd+'tmppdf'+Inttostr(random(5000))+'.pdf';
printpdf1.PageWidth:=1224;
printpdf1.PageHeight:=1725;
printpdf1.BeginDoc;
printpdf1.Font.Name:=poTimesBoldItalic;
printpdf1.Font.Size:=24;
//1.Etiquett
printpdf1.TextOut(20,40,'Artigo: '+Artikel.text);
printpdf1.TextOut(170,40,'Côr: '+farbe.text);
printpdf1.TextOut(420,40,'Tam.: '+stringgrid1.cells[2, 1]);
printpdf1.TextOut(20,90,'N.P.: '+order.text);
pdfcodedrucken( 135,72,order.Text,false);
printpdf1.TextOut(280,90,'N°./Lo: '+stringgrid1.cells[0, 1]);
printpdf1.TextOut(420,90,'Peç/Lo: '+stringgrid1.cells[1, 1]);
//2.Etiquett
printpdf1.TextOut(620,40,'Artigo: '+Artikel.text);
printpdf1.TextOut(800,40,'Côr: '+farbe.text);
printpdf1.TextOut(1080,40,'Tam.: '+stringgrid1.cells[2, 2]);
printpdf1.TextOut(620,90,'N.P.: '+order.text);
pdfcodedrucken( 740,72,order.Text,false);
printpdf1.TextOut(900,90,'N°./Lo: '+stringgrid1.cells[0, 2]);
printpdf1.TextOut(1080,90,'Peç/Lo: '+stringgrid1.cells[1, 2]);
printpdf1.LineWidth:=2;
printpdf1.DrawLine(0,120,1224,120);
//3.Etiquett
printpdf1.TextOut(20,160,'Artigo: '+Artikel.text);
printpdf1.TextOut(170,160,'Côr: '+farbe.text);
printpdf1.TextOut(420,160,'Tam.: '+stringgrid1.cells[2, 3]);
printpdf1.TextOut(20,215,'N.P.: '+order.text);
pdfcodedrucken( 135,195,order.Text,false);
printpdf1.TextOut(280,215,'N°./Lo: '+stringgrid1.cells[0, 3]);
printpdf1.TextOut(420,215,'Peç/Lo: '+stringgrid1.cells[1, 3]);
//4.Etiquett
printpdf1.TextOut(620,160,'Artigo: '+Artikel.text);
printpdf1.TextOut(800,160,'Côr: '+farbe.text);
printpdf1.TextOut(1080,160,'Tam.: '+stringgrid1.cells[2, 4]);
printpdf1.TextOut(620,215,'N.P.: '+order.text);
pdfcodedrucken( 740,195,order.Text,false);
printpdf1.TextOut(900,215,'N°./Lo: '+stringgrid1.cells[0, 4]);
printpdf1.TextOut(1080,215,'Peç/Lo: '+stringgrid1.cells[1, 4]);
printpdf1.LineWidth:=2;
printpdf1.DrawLine(0,240,1224,240);
//5.Etiquett
printpdf1.TextOut(20,280,'Artigo: '+Artikel.text);
printpdf1.TextOut(170,280,'Côr: '+farbe.text);
printpdf1.TextOut(420,280,'Tam.: '+stringgrid1.cells[2, 5]);
printpdf1.TextOut(20,325,'N.P.: '+order.text);
pdfcodedrucken( 135,305,order.Text,false);
printpdf1.TextOut(280,325,'N°./Lo: '+stringgrid1.cells[0, 5]);
printpdf1.TextOut(420,325,'Peç/Lo: '+stringgrid1.cells[1, 5]);
//6.Etiquett
printpdf1.TextOut(620,280,'Artigo: '+Artikel.text);
printpdf1.TextOut(800,280,'Côr: '+farbe.text);
printpdf1.TextOut(1080,280,'Tam.: '+stringgrid1.cells[2, 6]);
printpdf1.TextOut(620,325,'N.P.: '+order.text);
pdfcodedrucken( 740,305,order.Text,false);
printpdf1.TextOut(900,325,'N°./Lo: '+stringgrid1.cells[0, 6]);
printpdf1.TextOut(1080,325,'Peç/Lo: '+stringgrid1.cells[1, 6]);
printpdf1.LineWidth:=2;
printpdf1.DrawLine(0,355,1224,355);
//7.Etiquett
printpdf1.TextOut(20,450,'Artigo: '+Artikel.text);
printpdf1.TextOut(170,450,'Côr: '+farbe.text);
printpdf1.TextOut(420,450,'Tam.: '+stringgrid1.cells[2, 7]);
printpdf1.TextOut(20,500,'N.P.: '+order.text);
pdfcodedrucken( 135,480,order.Text,false);
printpdf1.TextOut(280,500,'N°./Lo: '+stringgrid1.cells[0, 7]);
printpdf1.TextOut(420,500,'Peç/Lo: '+stringgrid1.cells[1, 7]);
//8.Etiquett
printpdf1.TextOut(620,450,'Artigo: '+Artikel.text);
printpdf1.TextOut(800,450,'Côr: '+farbe.text);
printpdf1.TextOut(1080,450,'Tam.: '+stringgrid1.cells[2, 8]);
printpdf1.TextOut(620,500,'N.P.: '+order.text);
pdfcodedrucken( 740,480,order.Text,false);
printpdf1.TextOut(900,500,'N°./Lo: '+stringgrid1.cells[0, 8]);
printpdf1.TextOut(1080,500,'Peç/Lo: '+stringgrid1.cells[1, 8]);
printpdf1.LineWidth:=2;
printpdf1.DrawLine(0,530,1224,530);
printpdf1.EndDoc;
ShellExecute(Application.Handle,
'open',
PChar(printpdf1.FileName),
Nil, Nil, SW_NORMAL);
end;
|