Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-08-2004
rogeriobeltran rogeriobeltran is offline
Miembro
 
Registrado: dic 2003
Ubicación: Bucaramanga-Santander-Colombia
Posts: 49
Poder: 0
rogeriobeltran Va por buen camino
Unhappy Dudas con Impresion Directa a Puerto

Hola:

Bueno mi inconveniente es que tengo que imprimir a puerto COM1 un recibo de parqueadero en donde coloco el nombre del parqueadero, el NIT, Direccion, Telefono, Tipo y Placa del Vehiculo y el Valor del Parqueo por hora, además debo adicionar las clausulas del parqueo, estas clausulas esta guardadas en un memo. He probado con Canvas y con Writeln pero estas no me imprimen los valores del memo la forma con writeln es la siguiente
Código:
AssignFile(F,'COM1');
Rewrite(F);

Writeln(F,tEmpresa.FieldByName('NOMBRE').AsString);
Writeln(F,tEmpresa.FieldByName('NIT').AsString);
Writeln(F,tEmpresa.FieldByName('DIRECCION').AsString);
Writeln(F,tEmpresa.FieldByName('TELEFONO').AsString);
Writeln(F,'Tipo: '+TipoVehiculo+' Placa : '+Placa);
Writeln(F,'Entrada : '+FormatDateTime('dd/mm/yyyy hh:mm:ss',tRegistro.FieldByName('FECHAENTRADA').AsDateTime));
Writeln(F,'CLAUSULAS');
tEncabezado.Close;
tEncabezado.Filtered := False;
tEncabezado.Filter := 'CODIGO = ''00''';
tEncabezado.Filtered := True;
tEncabezado.Open;
For i:=0 to DBMemo2.Lines.Count-1 do
   begin
      Cadena := DBMemo1.Lines[i];
      Writeln(F,Cadena);
   end;
CloseFile(F);
y con canvas es:

Código:
 SetMapMode(Printer.Handle,MM_LOMETRIC);
 Printer.BeginDoc; // INICIO UN NUEVO DOCUMENTO
 With Printer.canvas do
  Begin
   Font.Size := 8; //TAMAÑO DE LA LETRA
   Font.Name := 'Courier New';

   Longitud := Length(tEmpresa.FieldByName('NOMBRE').AsString);
   Centro := (600-Longitud) div 2;

   TextOut(10,10,tEmpresa.FieldByName('NOMBRE').AsString);

   Longitud := Length(tEmpresa.FieldByName('NIT').AsString);
   Centro := (600-Longitud) div 2;
   TextOut(10,110,tEmpresa.FieldByName('NIT').AsString);

   Longitud := Length(tEmpresa.FieldByName('DIRECCION').AsString);
   Centro := (600-Longitud) div 2;
   TextOut(10,210,tEmpresa.FieldByName('DIRECCION').AsString);

   Longitud := Length(tEmpresa.FieldByName('TELEFONO').AsString);
   Centro := (600-Longitud) div 2;
   TextOut(10,310,tEmpresa.FieldByName('TELEFONO').AsString);

   TextOut(10,410,'Tipo: '+TipoVehiculo+' Placa : '+Placa);
   TextOut(10,510,'Entrada : '+FormatDateTime('dd/mm/yyyy hh:mm:ss',tRegistro.FieldByName('FECHAENTRADA').AsDateTime));
   TextOut(10,610,'CLAUSULAS');

   For i:=0 to DBMemo2.Lines.Count-1 do
   begin
      Cadena := DBMemo1.Lines[i];
      TextOut(10,10+(I*100),CADENA);
   end;

  end;
  Printer.EndDoc;

Sinceramente esta es la primera vez que trabajo imprimiendo a puerto la impresora que utilizo es una UNISYS EF4272 esta instalada como generica de texto, Trabajo con Delphi 5 e Interbase, el sistema operatvo es windows2000 y win98. Ademas con canvas no se como utilizar correctamente el TextOut(X,Y,Texto), puesto si me paso de 600 en Y me imprimi en la primera linea.

Muchas gracias por su colaboración.

Rogerio
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:22:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi