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 02-07-2003
charly charly is offline
Miembro
 
Registrado: may 2003
Posts: 36
Poder: 0
charly Va por buen camino
problemas con FastReport

Hola a tod@s.

Uso FastReport en mi aplicación y hay ocasiones en la cuales me pasa lo siguiente:

Tengo un formato de etiqueta que se imprime en una impresora Eltron, que esta conectada a un servidor de impresion (no a un ordenador fisico, sino a una IP), y en ocasiones me cambia el formato del papel saliendo mal las impresión. Lo curioso es que si apago la impresora y la vuelvo a encender ya salen bien.

He creado dos combos, uno con las impresoras y otro con los formatos de papel, ademas un campo para indicar el numero de copias.

Alguien a tenido el mismo problema?

Les pego el codigo que uso, asi de paso a alguien le puede servir algo:


private
{ Private declarations }
aFormato:array of integer;
procedure Accion(nAccion:integer);
public
{ Public declarations }
end;

var
FLstEtiquetas: TFLstEtiquetas;
FImprimir: TFLstEtiquetas;
nEmpresaLocal,nEjercicioLocal,nCanalLocal:integer;
cSerieLocal,cTipoDocLocal,cTituloLocal:string;
nDesde,nHasta: integer;

function ImprimirEtiquetas(padre:TComponent):boolean;

implementation

uses FR_Prntr,UDMMain, UvGlobales, UFormGest, UFBuscar, UVarios,
UUtiles, UDMCargas, UDMLstPal;

{$R *.dfm}

function ImprimirEtiquetas(padre:TComponent):boolean;
begin

FImprimir := TFLstEtiquetas.Create(padre);
FImprimir.ShowModal;

Result := True;
end;

procedure TFLstEtiquetas.FormCreate(Sender: TObject);
var n:integer;
begin
// rellenamos el ComboBox de impresoras
CBImpresora.Items := printer.Printers ;

CBImpresora.ItemIndex := 0;

SetLength(aFormato,Prn.PaperNames.Count);
for n := 0 to Prn.PaperNames.Count - 1 do
begin
// Añadimos los formatos
CBFormato.Items.Add(Prn.PaperNames.Strings[n]);
// indice del formato dentro de windows
aFormato[n] := Prn.PaperSizes[n];

if AnsiUpperCase(Prn.PaperNames.Strings[n]) = AnsiUpperCase('Etiqueta Embalaje 10 x 6.5') then
begin
CBFormato.ItemIndex := n;
end;
end;

// buscamos la impresora por defecto
for n := 0 to CBImpresora.Items.Count - 1 do
begin
if CBImpresora.Items.Strings[n] = 'Eltron TigerWriter 4' then
CBImpresora.ItemIndex := n;
end;

end;

procedure TFLstEtiquetas.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;

procedure TFLstEtiquetas.BitBtn2Click(Sender: TObject);
begin
Close;
end;

procedure TFLstEtiquetas.Accion(nAccion:integer);
var cListado,cSQL:string;
nCopia, n:integer;
begin
with DMCargas do
begin
PanelEst.Color := clYellow;
PanelEst.Font.Color := clBlack;
PanelEst.Caption := 'Imprimiendo';
QDocCargas.First;
QDocCargas.DisableControls;
AbreData( TDMLstPal, DMLstPal );
with DMLstPal do
begin
frEtiquetas.LoadFromFile(cDirApp+'\Listados\Logistica\Etiquetas_Bultos.frf');
frEtiquetas.Pages.Pages[0].pgSize := aFormato[CBFormato.ItemIndex]; //nFormato;
frEtiquetas.DefaultCopies := nCopia;
frEtiquetas.ChangePrinter(printer.PrinterIndex,CBImpresora.ItemIndex);
frEtiquetas.PrepareReport;
end;

while not QDocCargas.Eof do
begin
if ((QDocCargasALBARAN.Value > 0) and (QDocCargasMARCA.Value = 1)) and
(QDocCargasBULTOS.Value > 0) then
DMLstPal.ImprimeEtiquetaBulto(QDocCargasEMPRESA.Value,
QDocCargasEJERCICIO.Value,
QDocCargasCANAL.Value,
QDocCargasNUMERO.Value,
QDocCargasALBARAN.Value,
nAccion,
QDocCargasSERIE_ALBARAN.Value);
QDocCargas.Next;
end;
CierraData( DMLstPal );
QDocCargas.First;
QDocCargas.EnableControls;

PanelEst.Color := clSilver;
PanelEst.Font.Color := clBlack;
PanelEst.Caption := 'Espera';
end;

end;

procedure TFLstEtiquetas.TBImprimirClick(Sender: TObject);
begin
Accion(2)
end;

procedure TFLstEtiquetas.TBSalirClick(Sender: TObject);
begin
Close;
end;

procedure TFLstEtiquetas.TBDisenoClick(Sender: TObject);
begin
if ValidaAccesoProceso(-10) then
Accion(3)
else
Aviso('ACCESO NO AUTORIZADO','',1,false);
end;

procedure TFLstEtiquetas.TBVisualizarClick(Sender: TObject);
begin
Accion(1)
end;

end.

Un saludo.
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 10:01:51.


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