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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2007
monicasierrar monicasierrar is offline
Miembro
 
Registrado: may 2003
Posts: 11
Poder: 0
monicasierrar Va por buen camino
Angry Impresión en red

Hola a todos.

Realicé una aplicación con delphi6, Ib 6.0 y utilizo como reporteador a RBuilder. El problema que tengo es que solo me está imprimiendo en la primera impresora que instalé, una samsung ML-2060 y desde un solo equipo, el primero que instale la aplicación. Cuando ejecuto la aplicación en otro equipo y quiero mandar a otra impresora que está en red, una ML-1060, ni a ninguna otra, no imprime nada. Pero si imprime desde word, página de pruebas, etc.

Alguna idea?
__________________
Mónica
Responder Con Cita
  #2  
Antiguo 25-11-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Hola
Cita:
Empezado por monicasierrar Ver Mensaje
Hola a todos.

Realicé una aplicación con delphi6, Ib 6.0 y utilizo como reporteador a RBuilder. El problema que tengo es que solo me está imprimiendo en la primera impresora que instalé, una samsung ML-2060 y desde un solo equipo, el primero que instale la aplicación. Cuando ejecuto la aplicación en otro equipo y quiero mandar a otra impresora que está en red, una ML-1060, ni a ninguna otra, no imprime nada. Pero si imprime desde word, página de pruebas, etc.

Alguna idea?
Tendrás que decirle al generador cual es la impresora que deseas utilizar.

Aquí tienes un ejemplo de asignación de impresoras http://www.clubdelphi.com/foros/showthread.php?t=50498, para ello deberás hacer un bucle hasta encontrar la impresora "por defecto" del ordenador en cuestión o la que deseas. En el foro he visto varios ejemplos de como hacerlo.

Saludos
salvica

Edito: No me fijé que unos posts más abajo hay un ejemplo de como buscar impresoras, exactamente aquí http://www.clubdelphi.com/foros/showthread.php?t=50659

Última edición por salvica fecha: 25-11-2007 a las 00:46:12.
Responder Con Cita
  #3  
Antiguo 27-11-2007
monicasierrar monicasierrar is offline
Miembro
 
Registrado: may 2003
Posts: 11
Poder: 0
monicasierrar Va por buen camino
Unhappy Sin solución

Hola. Muchas gracias por colaborarme.

Resulta que hice lo que tu me sugeriste, cargue en un combo box el listado de las impresoras, seleccióno en la que voy a imprimir, con RBuilder, asigno el nombre de la impresora

procedure TrptBalanceGral2007.ReporteBeforePrint(Sender: TObject);
begin
Reporte.PrinterSetup.PrinterName := NombreImpresora;
end;

Y nada, la primera vez trata de coger el papel, pero después ni se mueve la impresora.

Alguna otra idea,

Nuevamente gracias.

Mónica:
__________________
Mónica
Responder Con Cita
  #4  
Antiguo 28-11-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Cita:
Empezado por monicasierrar Ver Mensaje
Hola. Muchas gracias por colaborarme.
Resulta que hice lo que tu me sugeriste, cargue en un combo box el listado de las impresoras, seleccióno en la que voy a imprimir, con RBuilder, asigno el nombre de la impresora
Código Delphi [-]
procedure TrptBalanceGral2007.ReporteBeforePrint(Sender: TObject);
begin
  Reporte.PrinterSetup.PrinterName := NombreImpresora;
end;
Y nada, la primera vez trata de coger el papel, pero después ni se mueve la impresora.

Alguna otra idea,

Nuevamente gracias.

Mónica:
No lo estás haciendo bien, más o menos seria así:
Código Delphi [-]
Uses 
.... 
....   
Printers;  

function  AsignarImpresora:integer;
var
  ComboBox : TComboBox;
  NumItem  : integer;
Begin
{ creamos el combox para las impresoras existentes }
  ComboBox := TComboBox.Create( nil );
  with ComboBox do
       try
         Visible := false; //---------------------------> ocultamos el combobox
         Parent  := rptBalanceGral2007; //--------------> asignamos a "quién pertenece"
         Clear; //--------------------------------------> inicializamos por si existe algo (no es necesario)
         AddStrings(Printer.Printers); //---------------> cargamos las impresoras del sistema
         NumItem  := Items.IndexOf('PDF Creator'); //---> buscamos la impresora a utilizar
        { Asignamos el indice de  la impresora }
          with rptBalanceGral2007 do
               Reporte.PrinterSettings.PrinterIndex := NumItem
       finally
         Free; //---------------------------------------> eliminamos el combobox
       end;
  Result := NumItem;
End;

procedure TrptBalanceGral2007.ReporteBeforePrint(Sender: TObject);
begin
  if( AsignarImpresora=-1 ) //-------------------------> comprobamos si asignamos la impresora
      then ShowMessage( 'Impresora no encontrada' );
end;
Esto lo he hecho de memoria, pero como ejemplo vale
Saludos
salvica
Responder Con Cita
  #5  
Antiguo 28-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
¿no se puede resumir en esto otro?

Código Delphi [-]
NumItem  := Printer.Printers.IndexOf('PDF Creator'); 
if NumItem = -1 then
  ShowMessage('error no encontrada la impresora 'PDF Creator')

Printers es de tipo TString y ya tiene el "IndexOf"


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 28-11-2007
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
¿no se puede resumir en esto otro?

Código Delphi [-]NumItem := Printer.Printers.IndexOf('PDF Creator');
if NumItem = -1 then ShowMessage('error no encontrada la impresora 'PDF Creator')


Printers es de tipo TString y ya tiene el "IndexOf"


Saludos
Hola Lepe, es mejor y más corto pero así daba a entender la diferencia entre lo que hace monicasierrar y el porqué de la búsqueda de la impresora (que no lo tiene muy claro)

Saludos
salvica
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problema de impresion Detener la Impresion Gangster Impresión 2 26-01-2007 19:22:12
Impresion en A5 igest2000 Impresión 1 03-02-2005 18:24:30
Impresion pablo Impresión 6 03-01-2004 16:05:19
Impresión marianaf Impresión 1 20-11-2003 23:07:16
impresion marianaf Impresión 2 24-10-2003 12:46:21


La franja horaria es GMT +2. Ahora son las 11:48:29.


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