Thema: Delphi drucken

Einzelnen Beitrag anzeigen

Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#3

Re: drucken

  Alt 5. Apr 2004, 15:07
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])]='1then
          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
  Mit Zitat antworten Zitat