Einzelnen Beitrag anzeigen

tom_po

Registriert seit: 5. Feb 2006
137 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: mit pdf-Tool nur Teil einen Stringgrid drucken

  Alt 8. Mai 2006, 10: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;
Miniaturansicht angehängter Grafiken
arbeitskarte-neu1_157.jpg  
  Mit Zitat antworten Zitat