PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 24 → Wx - Função StringsFindCompare - Find in 2 strings values and compare exist value equal - Busca em 2 strings valores e compara se existe um valor igual respeitando o separador.
Wx - Função StringsFindCompare - Find in 2 strings values and compare exist value equal - Busca em 2 strings valores e compara se existe um valor igual respeitando o separador.
Iniciado por BOLLER, nov., 12 2019 3:00 PM - Sem resposta
Membro registado
3.000 mensagems
Popularité : +89 (91 votes)
Publicado em novembro, 12 2019 - 3:00 PM
Wx - Função StringsFindCompare - Find in 2 strings values and compare exist value equal - Busca em 2 strings valores e compara se existe um valor igual respeitando o separador.

Procedure StringsFindCompare(S1_Maior,Separador,S2_Menor)
//10;9;8;1 ; 1
ok is boolean

IF S1_Maior <> "" AND S2_Menor <> "" AND Separador <> "" AND Length(Separador) = 1

n is int = 0

nQtdeSeparadores is int = 0

SeparadorPesquisado is string = Middle(S1_Maior,Length(S1_Maior),1)

IF SeparadorPesquisado = Separador THEN
nQtdeSeparadores = StringCount(S1_Maior,Separador,IgnoreCase) //Não precisa compensar ultimo valor é o separador
ELSE
nQtdeSeparadores = StringCount(S1_Maior,Separador,IgnoreCase) + 1 //Compensar ultimo valor se nao tiver no final o separador
END

LOOP(nQtdeSeparadores)

n++

valorExtraido is string = ExtractString(S1_Maior,n,Separador,FromBeginning)

IF valorExtraido = S2_Menor AND Length(valorExtraido) = Length(S2_Menor)
ok = True
BREAK
ELSE
ok = False
END

END

ELSE IF Length(Separador) > 1

toast("Impossível usar um separador com mais de um caracter, use ; ou , ou pipe |")

ELSE

toast("Impossível comparar se não tiver 2 strings")

END

RESULT ok


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/