Ver Mensaje Individual
  #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
Reputación: 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