Nota Fiscal - Erro de Logica

Delphi

26/03/2003

Oi pessoal!

Estou com um probleminha bem chato!
Estou tentando fazer a rotina para gravar os Códigos de classificação fiscal
para os itens de uma nota fiscal (tipo: a, b, c) em um Array
(ACodigoClassificacaoFiscal[cont]) conforme a classificação fiscal de cada
um (presente no array AClassificacaoFiscal[cont]).
Ok... o caso eh que para isso preciso gravar outros dois arrays que servirão
como ´legenda´ (CodigoFiscal[ContFiscal] e Fiscal[ContFiscal]). Os valores
não podem repetir em nenhum destes 2 arrays de legenda, portanto soh
aumentarão quando for verificado um item com a classificação fiscal
diferente de todas as outras.

O caso eh que quando eu executo o programa ele motra os valores do primeiro
item da nota e depois mostra valores em branco (nauqlas showmessages);

por que isto estah acontecendo¿
como posso ajeitar isto¿
ai vai meu codigo

{laço que percorre os itens da nota}
while ContFiscal {contador da ´legenda´}< ItensPorNota do
begin

{atribui o valor ´A´ a primeira posição do array de codigos da legenda }
if ContFiscal = 0 then
begin
CodigoFiscal[ContFiscal]:=´A´;
Fiscal[ContFiscal]:=AClassificacaoFiscal[cont];
end;

{laço para a verificação de se a classificação fiscal do array de itens da nota existe no array da legenda}
for Zero:=0 to ContFiscal do
begin
if AClassificacaoFiscal[cont] = Fiscal[Zero] then
begin
ACodigoClassificacaoFiscal[cont]:=CodigoFiscal[Zero];
CFExiste:=True;
break;
end
else
begin
CFExiste:=False;
end;
end;

{Se não existir no array então grava-lo como o proximo item}
if (CodigoFiscal[ContFiscal+1] = ´´) and (CFExiste=False) then
begin

ShowMessage(IntToStr(ContFiscal));

CodigoFiscal[ContFiscal]:=chr(ord(CodigoFiscal[ContFiscal-1])+1);
Fiscal[ContFiscal]:=AClassificacaoFiscal[cont];
end;
ContFiscal:=ContFiscal+1;

ShowMessage(CodigoFiscal[ContFiscal-1]);
ShowMessage(Fiscal[ContFiscal-1]);
end;
-----------------

Valeu!!!

Aquele Abraço!!!

Tiago


Anonymous

Anonymous

Curtidas 0
POSTAR