Ver Mensaje Individual
  #2  
Antiguo 24-02-2005
lroblesco lroblesco is offline
Miembro
 
Registrado: ene 2005
Ubicación: Baja California Sur, Mexico
Posts: 77
Reputación: 20
lroblesco Va por buen camino
Objeto Printer

Esta es una manera de hacerla. Puedes poner una condicion antes de mandar imprimir. Creas una archivo ini con estas caracteristicas
[IMPRESORAS]
ETIQUETAS=SP40
LISTADO_STOCKS=Lexmark Optra W810
A3=SuperLexmark

Código:
 ...
const
  PrintersIni = 'c:\ImpJulia\Printers.ini';
.....

function TBaseListado.GetImpresora(Impresora: string) : integer;
var
  Ini : TIniFile;
  Imp : string;
  i : integer;
begin
  if FileExists(PrintersIni) then
  begin
    Ini := TIniFile.Create(PrintersIni);
    Imp := Ini.ReadString('IMPRESORAS', Impresora, '');
    Ini.Free;
  end;

  if Imp = '' then
    Result := -1
  else
  begin
    // buscamos la impresora en las instaladas y devolvemos su índice
    for i := 0 to Printer.Printers.Count - 1 do
      if Pos(Imp, Printer.Printers[i]) <> 0 then Break;
    Result := i;
  end;
end;
Y luego, desde algún lugar y, antes de hacer el Print
Código:
 var
  Indice: integer;
begin
  .....
  Indice := GetImpresora('A3');
  if Indice <> -1 then
    Report.PrinterSettings.PrinterIndex := Indice;
esto fue publicado por cadetill espero y te sirva.
Saludos Cachanilla
__________________
No siempre el mas veloz es el que gana la carrera
Responder Con Cita