Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi drucken (https://www.delphipraxis.net/19527-drucken.html)

Remote1 5. Apr 2004 07:50


drucken
 
kann man erst ganz unten auf dem blatt etwas angeben zum drucken und dann oben weiter machen oder muss das der reihe nach von oben nach unten erfolgen

ich meine, ich hab das problem mit den seitenzahlen, da ich die gleich zu beginn der seite ganz unten angebe
hab mir gedacht dass das egal ist, da es ja sowieso als datenpaket weggeht, aber beim druck klappts dann doch net (außer bei acrobat --> sprich als pdf drucken/erstellen)

Ghostwalker 5. Apr 2004 09:04

Re: drucken
 
Verrat doch mal wie/mit was du druckst.:)

Remote1 5. Apr 2004 14:07

Re: drucken
 
gedruckt hatte ich da auf nen laserdrucker

Delphi-Quellcode:
procedure daten_drucken(titel,pfad:string; obj:TKomponenten);  //Ersatzmünzen des 1.WK - 1 Pfennig (J.300)
var i,k:integer;
    ok:boolean;
    ini:tmeminifile;
    section,value:tstringlist;
begin
try
 section:=tstringlist.Create;
 value:=tstringlist.Create;
 if fileexists(extractfilepath(application.ExeName)+pfad)
     then ini:=tmeminifile.Create(extractfilepath(application.ExeName)+pfad)
     else
      begin
       application.MessageBox(pchar('Es ist ein Fehler beim Drucken der Datei'+#10#13+'"\...'+pfad+'"'+#10#13+'aufgetreten'),'Fehler',mb_ok+mb_iconerror);
       exit;
      end;
 ini.ReadSections(section);
 ini.ReadSectionValues(section.Strings[0],value);
 with printer do
  begin
   ppos:=ppos-200;
   printcheck(0);
   canvas.Font.Height:=50;
   canvas.TextOut(200,ppos+50,titel);
   canvas.MoveTo(200,ppos-5);
   canvas.lineto(200+canvas.TextWidth(titel),ppos-5);
   for i:=1 to value.Count do
          canvas.TextOut(300+i*80,ppos-50,copy(value.Names[i-1],1,length(value.Names[i-1])-2));
   for i:=1 to section.Count do
    begin
     printcheck(-50-(80*i));
     ini.ReadSectionValues(section.Strings[i-1],value);
     canvas.TextOut(200,ppos-50-(80*i),section.Strings[i-1]);
     for k:=1 to value.Count do
      begin
       if value.Names[k-1][length(value.Names[k-1])]='1' then
          begin
             if obj[i].mycheckbox[k].Checked
                 then ok:=true
                 else ok:=false;
           pcheck(300+(k*80),ppos-60-(80*i),ok);
          end;
      end;
    end;
  end;
finally
ppos:=ppos-50-(80*i);
ini.UpdateFile;
ini.Free;
section.Free;
value.Free;
end;
end;
bei pcheck(..) werden entsprechend den datensätzen chckboxes gezeichnet
bei printcheck(...) wird überprüft ob neue seite oder nicht und dann auch die seite mit angegeben


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz