Pessoal em alguns registros como o 0450 que uso um campo com mais de 500 carateres na minha tabela eu estava com erros pois era gerado registros dessa forma no Sped Fiscal
|0450|8|
IMEI 356518043204693|
O validador acusa erro pois a descrição foi para outra linha e deu numero de registros diferente do Layout definido assim resolvi acrescentar o seguinte codigo na unit
function DeleteLineBreaks(const S: string): string;
var Source, SourceEnd: PChar;
begin
Source := Pointer(S) ;
SourceEnd := Source + Length(S);
while Source < SourceEnd do begin
case Source^ of
#10: Source^ := #32;
#13: Source^ := #32;
end;
Inc(Source) ;
end;
Result := S;
End;
e dentro das functions como RFill, LFill, DFill
eu coloquei
Value := DeleteLineBreaks(Value);
Não analisei se gera algum outro problema
gostaria que os amigos dessem uma olhada.
Grato.
ACBrTXTClass.pas