/////////////////////////////////////////////// /////////////////////
// Wuhan Explore Computer Studio //
//http://tansuo.51.net//
/////////////////////////////////////////////// /////////////////////
// Agregar para personalizar la especificación de papel
// Papername: nombre de papel personalizado
// Paperwidth: el ancho del papel, en unidades de 0.1 mm
// longitud de papel: la altura del papel, en unidades de 0.1 mm
Proceduretdm.AddCustOmpaper (constpapername: string; PaperWidth, PaperLength: Integer);
varilla
Printdevice, printdriver, printport: array [0..255] ofchar;
Hdmode: Thandle;
hprinter: Thandle;
Forminfo: tforminfo1;
Comenzar
Impresora.getprinter (printdevice, printDriver, printport, hdmode);
OpenPrinter (PrintDevice, Hprinter, nil);
ifhprinter = 0then
RaiseException.create ('¡Unir la impresora fallida!');
conforminfodo
Comenzar
Banderas: = form_user;
pname: = pchar (papername);
Size.cx:=paperwidth*100;
Size.cy:=paperLength*100;
ImageAleAREA.left: = 0;
ImageAblearea.top:=0;
ImageApLearea.Right: = PaperWidth*100;
ImageAleAREA.BOTTOM: = PaperLength*100;
fin;
// Modificar el tipo de papel, si no, agregar otros nuevos
ifNotsetForm (hprinter, pchar (papername), 1,@forminfo) entonces
AddForm (hprinter, 1,@forminfo);
ClosePrinter (HPrinter);
fin;
// eliminar el documento de especificación personalizado
// Papername: nombre de papel personalizado
Proceduretdm.deletecustompaper (constpapername: string);
varilla
Printdevice, printdriver, printport: array [0..255] ofchar;
Hdmode: Thandle;
hprinter: Thandle;
Comenzar
Impresora.getprinter (printdevice, printDriver, printport, hdmode);
OpenPrinter (PrintDevice, Hprinter, nil);
ifhprinter = 0then
RaiseException.create ('¡Unir la impresora fallida!');
Deleteform (hprinter, pchar (papername));
ClosePrinter (HPrinter);
fin;