[firebase-br] OFF-Toppic - Delphi - Função SplitString

Henrique Ribeiro kikeribeiro em gmail.com
Ter Dez 18 15:20:38 -03 2018


Boa tarde pessoALL,

Eu vou repassar para os colegas como ficou a situação após conseguir
finalizar. Lá vai:

procedure TfNFe.Button13Click(Sender: TObject);
var
  strLinha: Pchar;
  arr, arr2: TStringlist;
  y: integer;
begin
  arr := TStringList.Create; // Cria o array
  arr2 := TStringList.Create; // Cria o array
  strLinha := pChar(edit2.text); //Pega o conteúdo do Edit2 e joga na
variável em pChar

  // divide o pChar em arrays, alocando em memória
  ExtractStrings(['$', '#', '%', '$'], [' '], strLinha, arr);
  y := 2;

// divide cada array gerado acima, um de cada vez alocando em memória
  while y <= arr.Count - 1 do // enquanto tiver arrays
    begin
      ExtractStrings(['*', '|'], [' '], pChar(arr[y]), arr2);
      y := y + 1;
      arr2.Clear;
    end;
end;

Muito obrigado novamente a todos.
[ ]'s
Henrique

Em seg, 17 de dez de 2018 às 10:28, Henrique Ribeiro <kikeribeiro em gmail.com>
escreveu:

> Muito obrigado pela ajuda e pela atenção.
> Desejo uma semana linda e um Natal repleto de paz para todos vcs.
>
> Em Sex, 14 de dez de 2018 11:35, Gladiston Santana <gladiston em vidy.com.br
> escreveu:
>
>> Hehe, meio OFF, mas estude a propriedade chamada Commatext no
>> TStringList.
>> Quando perceber como utiizá-la, verá uma maneira bem eficiente para
>> importar e exportar dados com delimitadores sem muito esforço!
>>
>> []´s
>>
>> Em qui, 13 de dez de 2018 às 16:27, Henrique Ribeiro <
>> kikeribeiro em gmail.com>
>> escreveu:
>>
>> > Boa tarde colegas,
>> >
>> > Desde já, eu agradeço qualquer tipo de ajuda que possam me dar.
>> > Muito obrigado mesmo.
>> >
>> > No Delphi 7 (única versão que tenho) não existe a função "SplitString"
>> que
>> > existe em versões superiores.
>> >
>> > Estou tentando resolver uma situação mas estou meio perdido porque acabo
>> > gerando resultados inesperados.
>> >
>> > É referente a rotina de leitura de uma string com dados de boletos que
>> > gerei.
>> > Vou compartilhar com vocês:
>> >
>> > Na string abaixo:
>> >
>> >
>> ##OK*|*|2*|*|##OK*|*|1*|00000000000000000000000000000000000000000000000*|
>> >
>> >
>> https://faturas.iugu.com/41e48012-45f1-47d2-8ad9-c5751e9e8075-ab5f*|41E4801245F147D28AD9C5751E9E8075%%OK*|*|2*|00000000000000000000000000000000000000000000000*|https://faturas.iugu.com/b761961a-fd83-4dd8-976c-e5689c507019-511c*|B761961AFD834DD8976CE5689C507019%%OK*|*|3*|00000000000000000000000000000000000000000000000*|https://faturas.iugu.com/7be4f119-5d2e-41fd-b0d9-42951c0d54f2-88ba*|7BE4F1195D2E41FDB0D942951C0D54F2%%OK*|*|4*|00000000000000000000000000000000000000000000000*|https://faturas.iugu.com/51221b70-0e4d-47b9-a5f5-60676302b145-cbd9*|51221B700E4D47B9A5F560676302B145##
>> >
>> > Eu preciso:
>> > 1- efetuar um Split por ##
>> > 2 - vai retornar um array com 4 itens
>> > 2.1 - o primeiro e o último vou descartar, pq estão vazios
>> > 2.2 - o segundo são os dados da fatura
>> > 2.3 - o terceiro dos boletos
>> > 6 - com o de boletos, efetuar outro Split por "$$"
>> > 7 - se tiver mais de um boleto, como no caso acima, vai gerar um array
>> com
>> > cada um dos boletos
>> > 7.1 - tendo mais de um boleto, preciso executar outro Split por "*|" pra
>> > pegar os itens
>> >
>> > Muito obrigado novamente.
>> > Desejo sucesso e prosperidade a todos vocês.
>> >
>> > Att,
>> > Henrique
>> >
>> > Graça a vós e paz da parte daquele que é, e que era, e que há de vir
>> > (Apocalipse
>> > 1:4 <https://www.bibliaonline.com.br/acf/ap/1/4+#v4>).
>> > Pois ainda em bem pouco tempo aquele que há de vir virá, e não
>> > tardará.  (Hebreus
>> > 10:37) <https://www.bibliaonline.com.br/acf/hb/10/37+#v37>
>> > ______________________________________________
>> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> > Para saber como gerenciar/excluir seu cadastro na lista, use:
>> > http://www.firebase.com.br/fb/artigo.php?id=1107
>> > Para consultar mensagens antigas:
>> > http://www.firebase.com.br/pesquisa_lista.html
>> >
>>
>>
>> --
>> A Vidy possui um Sistema de Gestão da Qualidade estruturado e com
>> Certificação ISO 9001 há mais de 10 anos, mantendo seu foco na Qualidade e
>> na Melhoria Continua.
>>
>> Em março de2018 migramos com sucesso para a nova versão da ISO 9001.
>>
>> Somos a única Empresa Brasileira de Engenharia de Laboratórios com
>> certificação com o Escopo Completo; desde Projetos, Engenharia,
>> Construção,
>> Fabricação e Instalação de Laboratórios.
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas:
>> http://www.firebase.com.br/pesquisa_lista.html
>>
>

-- 




As informações existentes nessa mensagem e nos arquivos anexados são para
uso restrito, sendo seu sigilo protegido por lei. Caso não seja
destinatário, saiba que leitura, divulgação ou cópia são proibidas. Favor
apagar as informações e notificar o remetente. O uso impróprio será tratado
conforme as normas da empresa e a legislação em vigor.

The information contained in this message and in the attached files are
restricted, and its confidentiality protected by law. In case you are not
the addressee, be aware that the reading, spreading and copy of this message
is unauthorized. Please, delete this message and notify the sender. The
improper use o f this information will be treated according the company's
internal rules and legal laws.

Graça a vós e paz da parte daquele que é, e que era, e que há de vir
(Apocalipse
1:4 <https://www.bibliaonline.com.br/acf/ap/1/4+#v4>).
Pois ainda em bem pouco tempo aquele que há de vir virá, e não
tardará.  (Hebreus
10:37) <https://www.bibliaonline.com.br/acf/hb/10/37+#v37>



Mais detalhes sobre a lista de discussão lista