Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 4656 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

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

  • Consultores
Postado

O melhor método é você limitar o tamanho dos campos antes de passar ao componente. Isso impede que ele utilize mais memória do que o necessário ao criar os registros e você não terá esse problema.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Consultores
Postado

Tudo bem. Você tem razão, pode estar até numa string de 5 caracteres...

Mas não acho que a função do componente deva ser "sanitizar" os dados que eu permito inserir no meu programa. Senão vamos ter que tratar muitos outros dados.

Além do que, não vejo necessidade de inserir quebra de linhas nas descrições dos produtos, endereços, ou algo assim...

Por isso eu sugiro que isso fique no programa e não no componente. Outros usuários podem discordar, e é por isso que temos o fórum. :P

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 4656 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.