Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
Delphi 6 Personal
|
Re: drucken
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])]='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
|
|
Zitat
|