marcioe Posted December 18, 2023 Report Share Posted December 18, 2023 Olá amigos, tudo bem com voces ? Espero que sim Imagina a String T_NOME := 'JOSE DA SILVA 1234456' OU T_NOME := '32523 MARIA DA SILVA' Preciso de aceitar no máximo 2 números dentro da string, caso o usuario digitar mais de 2 conforma acima, seja cortado Tipo T_NOME := 'JOSE DA SILVA 12' OU T_NOME := '32 MARIA DA SILVA' Só Aceitar 2 numeros por string Quote Link to comment Share on other sites More sharing options...
Theotokos Posted December 18, 2023 Report Share Posted December 18, 2023 talves no valid consiga fazer uma rotina pra verificar a string e então corrigir Function VerString(cStr) Local cStrNova := "" Local nCt := 0 For n1 := 1 To Len(AllTrim(cStr)) If !IsAlpha( SubStr(cStr,n1,1) ) nCt++ EndIf If nCt <= 3 cStrNova += SubStr(cStr,n1,1) EndIf Next n1 Return(cStrNova) Quote Link to comment Share on other sites More sharing options...
Theotokos Posted December 18, 2023 Report Share Posted December 18, 2023 corrigindo a rotina Function VerString(cStr) Local cStrNova := "" Local nCt := 0 For n1 := 1 To Len(AllTrim(cStr)) If !IsAlpha( SubStr(cStr,n1,1) ) nCt++ If nCt <= 3 cStrNova += SubStr(cStr,n1,1) EndIf Else cStrNova += SubStr(cStr,n1,1) EndIf Next n1 ? cStrNova Return(cStrNova) Quote Link to comment Share on other sites More sharing options...
rochinha Posted December 27, 2023 Report Share Posted December 27, 2023 Amiguinhos, Quando você diz aceitar signinifca usar GET para tal entrada? Basta adicionar o PICTURE "99XXXXXXXXXXXXXXXXXXXX" como parâmetro do GET. O X representa a quantidade de caracteres que poderão ser inputados. Acrescente uma Tooltip avisando como preencher tal campo. Quote Link to comment Share on other sites More sharing options...
marcioe Posted December 27, 2023 Author Report Share Posted December 27, 2023 Opa, olá a todos, mas essa informação vem de um celular, e no APP não tem essa trava, então o dado é inserido na nossa base de dados, mas vamos rodar um "tratamento" e ajustar. Obrigado rochinha 1 Quote Link to comment Share on other sites More sharing options...
emotta Posted December 27, 2023 Report Share Posted December 27, 2023 Marcio, esse tipo de situação se resolve com expressão regular. Infelizmente não vou conseguir te ajudar muito pois esse é um assunto que não domino, nas poucas vezes que precisei eu estudei o assunto, resolvi e como uso muito pouco acabo esquecendo como funciona de fato. Já usei pra validar email (por exemplo) e algumas outras coisas pontuais. Se quiser estudar o assunto pesquise sobre a função HB_RegExAll, ou pesquise sobre expressão regular, esse é um conceito que existe em todas as linguagens que programação. Veja tb o link abaixo no wikipedia explicando o que é: Expressão regular – Wikipédia, a enciclopédia livre (wikipedia.org) rochinha 1 Quote Link to comment Share on other sites More sharing options...
marcioe Posted January 4 Author Report Share Posted January 4 Pessoal, quase que ficou 100% porem esta comendo os espaços em branco veja Quote Link to comment Share on other sites More sharing options...
kapiaba Posted January 5 Report Share Posted January 5 Mostre o código FINAL. Quote Link to comment Share on other sites More sharing options...
marcioe Posted January 30 Author Report Share Posted January 30 bom dia pessoal, ainda não deu certo Quote Link to comment Share on other sites More sharing options...
Theotokos Posted January 30 Report Share Posted January 30 Em 04/01/2024 at 19:01, marcioe disse: Pessoal, quase que ficou 100% porem esta comendo os espaços em branco veja Function VerString(cStr) Local cStrNova := "" Local nCt := 0 For n1 := 1 To Len(AllTrim(cStr)) If !IsAlpha( SubStr(cStr,n1,1) ) .And. !Empty(SubStr(cStr,n1,1)) nCt++ If nCt <= 3 cStrNova += SubStr(cStr,n1,1) EndIf Else cStrNova += SubStr(cStr,n1,1) EndIf Next n1 ? cStrNova Return(cStrNova) ? VerString("001432 DAIANE 5555 OLIVEIRA UBÁ") Quote Link to comment Share on other sites More sharing options...
marcioe Posted January 30 Author Report Share Posted January 30 top, deu certo Theotokos and rochinha 1 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.