PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → 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.
Débuté par BOLLER, 12 nov. 2019 15:00 - Aucune réponse
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 12 novembre 2019 - 15:00
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/