[Resolvido] Imprimir em Delphi
Olá Pessoal, estou com um problema no código de impressão no sistema de notas fiscais que estou em desenvolvimento.
Acontece que a estrutura certa a se imprimir é assim
A D G
B E H
C F I
Mas ele esta imprimindo assim:
A
B
C
__D
__E
__F
____G
____H
____I
(Os underlines acima indicam espaço)
Por favor analisem o código e me informem
with XPrint do
begin
for I := 1 to 75 do
begin
if ConverteStrToLog(ArqNF.ReadString('NOTA','Visivel_'+StrZero(I,02),'F')) then
begin
Pos_Campo := I - 1;
Condensado_C := ConverteStrToLog(ArqNF.ReadString('NOTA','Condensado_'+StrZero(I,02),'F'));
linha_C := StrToIntDef(ArqNF.ReadString('NOTA','linha_'+StrZero(I,02),'1'),1);
coluna_C := StrToIntDef(ArqNF.ReadString('NOTA','coluna_'+StrZero(I,02),'1'),1);
if NF_Condensada then
Condensado_C := False;
if (Pos_Campo >= 18) and (Pos_Campo <= 25) then
begin
TabGlobal.DITNF.First;
while not TabGlobal.DITNF.Eof do
begin
TabGlobal.DPRODUTO.Filtro.Text := 'pro_codigo = '+#39+TabGlobal.DITNF.pro_codigo.Conteudo+#39;
TabGlobal.DPRODUTO.AtualizaSql;
TabGlobal.DPRODUTO.First;
if Pos_Campo = 18 then // Código
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DITNF.pro_codigo.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DITNF.pro_codigo.Conteudo);
end
else if Pos_Campo = 19 then // Descricao
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DITNF.pro_descricao.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DITNF.pro_descricao.Conteudo);
end
else if Pos_Campo = 20 then // Qtde
begin
if TabGlobal.DITNF.pro_quantidade.Conteudo > 0 then
if Condensado_c then
impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_quantidade.Conteudo,'ZZZZ9,99'),[comp20])
else
imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_quantidade.Conteudo,'ZZZZ9,99'));
end
else if Pos_Campo = 21 then // UN
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DPRODUTO.uni_codigo.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DPRODUTO.uni_codigo.Conteudo);
end
else if Pos_Campo = 22 then // CT
begin
if Condensado_c then
begin
impf(linha_c,coluna_c-3,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,01,01),[comp20]);
impf(linha_c,coluna_c,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,02,04),[comp20]);
end
else
begin
imp(linha_c,coluna_c-3,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,01,01));
imp(linha_c,coluna_c,Copy(TabGlobal.DPRODUTO.pro_classe_tr.Conteudo,02,04));
end
end
else if Pos_Campo = 23 then // Unitário
begin
if TabGlobal.DITNF.pro_venda.Conteudo > 0 then
if Condensado_c then
impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_venda.Conteudo,'ZZZ.ZZ9,99'),[comp20])
else
imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_venda.Conteudo,'ZZZ.ZZ9,99'));
end
else if Pos_Campo = 24 then // Total
begin
if TabGlobal.DITNF.inf_total.Conteudo > 0 then
if Condensado_c then
impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.inf_total.Conteudo,'ZZZZ.ZZ9,99'),[comp20])
else
imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.inf_total.Conteudo,'ZZZZ.ZZ9,99'));
end
else if Pos_Campo = 25 then // ICMS
begin
if TabGlobal.DITNF.pro_icms.Conteudo > 0 then
if Condensado_c then
impf(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_icms.Conteudo,'Z9,99'),[comp20])
else
imp(linha_c,coluna_c,MascValor(TabGlobal.DITNF.pro_icms.Conteudo,'Z9,99'));
end;
Inc(linha_c);
TabGlobal.DITNF.Next;
end;
end
else if Pos_Campo = 53 then
begin
if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_1.Conteudo) <> '' then
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_1.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_1.Conteudo);
Inc(Linha_c);
end;
if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_2.Conteudo) <> '' then
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_2.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_2.Conteudo);
Inc(Linha_c);
end;
if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_3.Conteudo) <> '' then
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_3.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_3.Conteudo);
Inc(Linha_c);
end;
if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_4.Conteudo) <> '' then
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_4.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_4.Conteudo);
Inc(Linha_c);
end;
if RetiraBrancos(TabGlobal.DNOTA_F.ntf_dados_5.Conteudo) <> '' then
begin
if Condensado_c then
impf(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_5.Conteudo,[comp20])
else
imp(linha_c,coluna_c,TabGlobal.DNOTA_F.ntf_dados_5.Conteudo);
Inc(Linha_c);
end;
end
else
begin
if Condensado_c then
impf(linha_c,coluna_c,DadosNF[Pos_Campo],[comp20])
else
imp(linha_c,coluna_c,DadosNF[Pos_Campo]);
end;
end;
end;
end;
XPrint.fechar;
XPrint.Free;
DadosNF.Free;
ArqNF.Free;Discussão (5)
Carregando comentários...