[firebase-br] Achar Codigo Válido em String[RESOLVIDO]

Zottis bzottis em ig.com.br
Sex Jan 6 12:09:58 -03 2012


Pessoal, resolvi a questão fazendo assim( Pelo Delphi):

Fiz um While not  tabela.eof do.......

E em cada registro adaptei o código abaixo.
Deu certinho



procedure TForm1.btn2Click(Sender: TObject);
var
   frase  : string;
   posI,aux, i, tam : integer;
begin

 edt1.text  :=
'0107202-0107275-0107247-0107246-0107236-0107264-0107257-0105044-0098413-010
5039-0105855-0107251-0108124-0107214-0107282-1-123-123456-187-1';
  frase    := edtLacres.Text;
   tam := length(frase);
    posI   := 1;

    mmo1.Lines.Clear;

   for i:= 1 to tam do
   begin

     if frase[i] = '-' then
      begin
         aux   := (i) - posI ;
         mmo1.Lines.Add(Copy(edtLacres.Text, posI , aux )  + '       -  PosI
= '+inttostr(posI) + '   PosF = '+inttostr(i-1));

         posI  := i +1;
      end;

   end;
         aux   := (i) - posI ;
         mmo1.Lines.Add(Copy(edtLacres.Text, posI , aux )  + '       -  PosI
= '+inttostr(posI) + '   PosF = '+inttostr(i-1));

         posI  := i +1;


end;

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Felipe Aron
Enviada em: quinta-feira, 5 de janeiro de 2012 10:43
Para: FireBase
Assunto: Re: [firebase-br] Achar Codigo Válido em String

Crie um Store Procedure onde irá percorrer essa String-Lacre pegando todos
os valores separados por "-" e para cada valor será armazenada num Array de
Strings.

A partir dai  só percorrer o Array e fazer oq precisa com cada código....


Em 5 de janeiro de 2012 10:38, <acf em andreconrado.net> escreveu:

> Bom dia Zottis,
>
> A partir da versão fb 2.1 foi adicionada a função POSITION(<sub-texto> 
> in
> <texto>)
>
> Eu usaria esta função:
>
> select F.cod_far_mtr, F.data_cad,f.lacre_numero,
>       substring(F.lacre_numero from 1 for POSITION('-' IN
> F.lacre_numero)-1) campo1,
>       substring(F.lacre_numero from 7 for POSITION('-' IN
> F.lacre_numero)-1) campo2,
>       ...
>       substring(F.lacre_numero from 115 for POSITION('-' IN
> F.lacre_numero)-1) campo20
>
>
> Supondo que todos os grupos possuem o mesmo tamanho.
>
> É possível simplificar usando SP ou EB.
>
> Abraços,
> Conrado.
>
>
>
> Citando Zottis <bzottis em ig.com.br>:
>
>
>  Pessoal, tenho uma tabela com um campo de lacres com 120 caracteres,
>>
>> Com uma estrutura assim:
>>
>>
>>
>> 86056-85337-86098-86100-86023-**85385-86074-86046-86008-86043.**... 
>> até
>> 120
>> caracteres
>>
>>
>>
>> Mas também neste mesmo campo, tem assim:
>>
>> 0111173-0111165-0111139-**0111192-0111164-0111130-**0111117-0111184
>>
>>
>>
>> Como faço para cadastrar em uma tabela este s lacres/
>>
>>
>>
>> Olhando as mensagens antigas, consigo pegar os lacres assim
>>
>> select F.cod_far_mtr, F.data_cad,f.lacre_numero,
>>
>>       substring(F.lacre_numero from 1 for 5) campo1,
>>
>>       substring(F.lacre_numero from 7 for 5) campo2,
>>
>>       substring(F.lacre_numero from 13 for 5) campo3,
>>
>>       substring(F.lacre_numero from 19 for 5)campo4,
>>
>>       substring(F.lacre_numero from 25 for 5)campo5,
>>
>>       substring(F.lacre_numero from 31 for 5)campo6,
>>
>>       substring(F.lacre_numero from 37 for 5)campo7,
>>
>>       substring(F.lacre_numero from 43 for 5)campo8,
>>
>>       substring(F.lacre_numero from 49 for 5)campo9,
>>
>>       substring(F.lacre_numero from 55 for 5)campo10,
>>
>>       substring(F.lacre_numero from 61 for 5)campo11,
>>
>>       substring(F.lacre_numero from 67 for 5)campo12,
>>
>>       substring(F.lacre_numero from 73 for 5)campo13,
>>
>>       substring(F.lacre_numero from 79 for 5)campo14,
>>
>>       substring(F.lacre_numero from 85 for 5)campo15,
>>
>>       substring(F.lacre_numero from 91 for 5)campo16,
>>
>>       substring(F.lacre_numero from 97 for 5)campo17,
>>
>>       substring(F.lacre_numero from 103 for 5)campo18,
>>
>>       substring(F.lacre_numero from 109 for 5)campo19,
>>
>>       substring(F.lacre_numero from 115 for 5)campo20
>>
>> mas como saber se é com 5 caracteres ou 7?
>>
>>
>>
>>
>>
>> Desde já agradeço
>>
>> ______________________________**________________
>> 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<http://www.firebas
>> e.com.br/fb/artigo.php?id=1107> Para consultar mensagens antigas: 
>> http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>>
>>
>
>
> André Conrado
> +55 21 88406232
>
> http://andreconrado.net
>
> "Posso todas as coisas naquele que me fortalece" Filipenses 4:13
>
>
>
> ______________________________**________________
> 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<http://www.firebase
> .com.br/fb/artigo.php?id=1107> Para consultar mensagens antigas: 
> http://firebase.com.br/**pesquisa<http://firebase.com.br/pesquisa>
>



--
Analista-Programador
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.net)
______________________________________________
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://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista