Ver Mensaje Individual
  #2  
Antiguo 18-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
te refieres a que defines un report (en diseño) en A3 y lo visualizas (en ejecución) en A4 por ejemplo? si es así es que la impresira que tienes seleccionada por defecto no admite papel A3

Solución: create un archivo INI donde guardar la impresora de A3 y, antes de lanzar el listado, asigna esta impresora

Código:
// ejemplo de llamada
Report.PrinterSettings.PrinterIndex := GetImpresora('A3');

// función
function TBaseLlistatL.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
    for i := 0 to Printer.Printers.Count - 1 do
      if Pos(Imp, Printer.Printers[i]) <> 0 then Break;
    Result := i;
  end;
end;
Espero te sirva

Última edición por __cadetill fecha: 18-09-2003 a las 09:47:44.
Responder Con Cita