unit impresor;

interface
uses Printers,conver,Dialogos;
var
col,ren,renglondeinicio:integer;

procedure iniciaimpresora(etique1,etique2:string;renglon:word);
procedure finalizaimpresora(eticargos,etiabonos,etisaldo:string;mensaje:Char);
procedure imprime(x,salto:integer;texto,formateo:string;tipo:char);
procedure salta;
implementation


procedure salta;
begin
renglondeinicio:=renglondeinicio+1;
end;

procedure imprime(x,salto:integer;texto,formateo:string;tipo:char);
var
tipodeletra:string[50];
begin
tipodeletra:=Printer.Canvas.Font.Name;

case tipo of


'c':Printer.Canvas.TextOut(x*col,renglondeinicio*ren,texto);

'f':begin
{    MuestraMensaje(formateo);}
    Printer.Canvas.Font.Name:='Courier';
    if formateo='' then formateo:='#,###,###';
    if formateo[length(formateo)-2]='.' then
    Printer.Canvas.TextOut(x*col,renglondeinicio*ren,convierte('#,###,##0.00',texto,'$'))
    else
    Printer.Canvas.TextOut(x*col,renglondeinicio*ren,convierte('#,###,###',texto,''));
    end;

'd':Printer.Canvas.TextOut(x*col,renglondeinicio*ren,texto);
end;
Printer.Canvas.Font.Name:=tipodeletra;
if salto=1 then
renglondeinicio:=renglondeinicio+1;
{**************checa la posicion de la pagina*****}
if renglondeinicio>=70 then
begin
renglondeinicio:=2;
Printer.NewPage;
end;
end;

procedure iniciaimpresora(etique1,etique2:string;renglon:word);
begin
Printer.BeginDoc;
Printer.Canvas.Font.Name:='System';
Printer.Canvas.Font.Size:=10;
col:=Trunc(Printer.PageWidth/80);
ren:=Trunc(Printer.PageHeight/70);

renglondeinicio:=renglon;
if etique1<>'' then imprime(1,1,etique1,'','c');
if etique2<>'' then imprime(1,1,etique2,'','c');
{FormaCxCDetalle.Show;}

end;

procedure finalizaimpresora(eticargos,etiabonos,etisaldo:string;mensaje:Char);
begin
Printer.Canvas.Font.Name:='Courier';
if eticargos<>'' then imprime(55,1,eticargos,'','c');
if etiabonos<>'' then imprime(55,1,etiabonos,'','c');
if etisaldo<>'' then imprime(55,1,etisaldo,'','c');
Printer.Canvas.Font.Name:='System';
Printer.EndDoc;
if mensaje='s' then
MuestraMensaje('La Impresión ha finalizado');
{TablaClientes.CancelRange;}

end;


end.
