utlrasen.tato Aprendiz

Registrado: Quarta-Feira, 11 de Janeiro de 2012 Mensagens: 112 Localização: jundiai-sp
|
Enviada: Seg Fev 18, 2013 7:50 pm Assunto: imprimir sequencia de etiqueta |
|
|
boa noite amigos
novamente esto necessitando de ajuda dos amigos desse forum que tem cido de grande importancia para o desenvolvimento do meu sistema.
tenho uma rotina de impressao automatica de etiquetas para impressora argox os-214 que ate funciona legal, mas o grande problema pra min tem sido o seguinte: essa rotina faz com que as impressoes de 5 etiquetas do mesmo codigo para um formulario de duas colunas ao inves de sair duas impressoes de duas colunas e mais uma, sai uma debaixo da outra, alguem saberia de dizer onde estou errando na minha rotina! e aproveitando como faço para fazer com que a impressora argox faça avanço e retroceda no final de cada fim de impressao
segue a rotina:
Código: | procedure TFrm_CadProduto.bt_salvaClick(Sender: TObject);
Var
i, QtdeEtiquetas:Integer;
cod,descricao,valor,qtde:PAnsiChar;
cod2,descricao2,valor2,qtde2:PAnsiChar;
begin
dbedit6.Text:=med_dataA.Text;
dbedit1.text:= label10.caption;
dbedit7.text:= mk_imagem.text;
Dm_BD.Ds_Prod.post;
Dm_BD.Ds_Prod.ApplyUpdates(-1);
Application.ProcessMessages;
Dm_BD.Ds_Prod.Open;
Close;
If Application.MessageBox('Deseja Imprimir as ETIQUETAS agora ?','Confirmação',MB_ICONQUESTION+MB_YESNO+MB_DEFBUTTON2)=idyes then
Begin
QtdeEtiquetas := (Dm_BD.Ds_ProdQtde_Atual).asInteger;
For i := 1 to QtdeEtiquetas do
begin
//**************** LIMPAR MEMORIA *********************//
cod:=PAnsiChar(Dm_BD.Ds_ProdCOD_BARRAS.AsString);
descricao:=PAnsiChar(Dm_BD.Ds_ProdDESCRICAO.AsString);
valor:=PAnsiChar('Valor 3x de R$ '+formatCurr('###0.00',Strtocurr(Dm_BD.Ds_ProdVALOR_PROMOCAO.AsString)));
{ Dm_BD.Ds_Prod.Next; }
cod2:=PAnsiChar(Dm_BD.Ds_ProdCOD_BARRAS.AsString);
descricao2:=PAnsiChar(Dm_BD.Ds_ProdDESCRICAO.AsString);
valor2:=PAnsiChar('Valor 3x de R$ '+formatCurr('###0.00',Strtocurr(Dm_BD.Ds_ProdVALOR_PROMOCAO.AsString)));
{ Dm_BD.Ds_Prod.Next;}
A_createPrn(FRM_LOGIN.PORTA,'');
//for i := 1 to StrToInt(edit1.Text) do begin
A_Clear_Memory;
// Primeira etiqueta
A_Prn_Barcode(20,02,1, 'E', 1, 1, 30, 'n', 1, cod);
A_Prn_Barcode(140,02,1, 'E', 1, 1, 30, 'n', 1, cod2);
{ A_Prn_Barcode(260,02,1, 'E', 1, 1, 25, 'n', 1, cod2);}
// Segunda
A_Prn_Text (20,39,1,1,1,1,1,'n',2,valor);
A_Prn_Text (140,39,1,1,1,1,1,'n',2,valor2);
{ A_Prn_Text (260,39,1,1,1,1,1,'n',2,valor2); }
// Terceira
A_Prn_Text (20,48,1,1,1,1,1,'n',2,descricao);
A_Prn_Text (140,48,1,1,1,1,1,'n',2,Descricao2);
{ A_Prn_Text (260,48,1,1,1,1,1,'n',2,Descricao2);}
// ***************************************
A_Print_Out(1,1, 1, 1); // Chamo ao final de cada etiqueta preenchida
A_Clear_Memory;
cod:='';
descricao:='';
valor:='';
qtde:='';
cod2:='';
descricao2:='';
valor2:='';
qtde2:='';
A_ClosePrn;
//********************************* etiqueta 2 direita
end;
Dm_BD.Ds_Prod.Open;
Close;
end else
Dm_BD.Ds_Prod.Open;
Close;
END; |
|
|