Jump to content

dev botao

função para remover caracteres #10 e #13


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

Recommended Posts

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

Link to comment
Share on other sites

  • Consultores

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.
Link to comment
Share on other sites

  • Consultores

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.
Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.