Jump to content
Fivewin Brasil

Validar um Texto Digitado pelo Usuário


Theotokos

Recommended Posts

Boa Tarde!!!

Alguem sabe se tem como validar o texto digitado pelo usuário? assim: gostaria de verificar se o usuario digitou algo que tenha sentido... é que tem um campo que precisa preencher com a finalidade do lancamento que esta sendo feito.... e acontece que tem o usuário "espertinho" ao inves de digitar a finalidade certa digita um monte de caracter qlq....

Ex: Deveria digitar  :   Pagamento carreto do Sr. João

     ao invês digita : djksaj dklaskld alksjdlkasj dlkjas lkjdaslkj dlksa

pois limito o numero de caracter já para que o usuario não passe batido.... Valid ( Len(AllTrim(cFinalidade)) > 15 )

obgdão!!! Aguardo!!!

 

Link to comment
Share on other sites

Uma forma seria se tivéssemos como comparar a um banco/array de um dicionario de palavras do nosso idioma.

Não seria 100% mas ajudaria bastante, tipo de um frase com N palavras se 50% ou mais validar nesse dicionário de palavras consideraria como correto.

Seria uma possibilidade, o ruim disto seria aonde encontrar um banco de palavras do nosso idioma.

Fora isto, de momento não pensei em outra forma, mas quem sabe algum outro colega saiba.

Link to comment
Share on other sites

Seria mais ou menos assim:

cadastro de operações=> "Pagamento de Carreto %Nome" // "Despesa com Alimentação %Nome"

"Pagamento de Carreto Sr. João " // "Despesa com Alimentação Supermercado XYZ"

nos lançamentos ao informar a operação o programa passaria a trocar (comando strtran) %Nome com o nome do fornecedor do serviço.

eu uso desta forma e fica mais fácil de ler os relatórios.

Daniel Segura

ciacpd@hotmail.com

daniel_segura@ig.com.br

Link to comment
Share on other sites

Uma forma é Criar um 'HISTORICO DE RESPOSTA', e o usuario apenas completar, conforme o CIACPD indicou, porem não impedirá que o Maldito usuario coloque xxxyyyxxxxx como complemento, porem nesse caso cabe a empresa que contratou esse usuario repreender ele. e não o seu sistema ser penalizado.

Agora para descontrair

Todo profissional tem

MEDICO Tem PACIENTE, ADVOGADO Tem CLIENTE, PREFEITURAS Tem CONTRIBUINTE, CIDADES COM BELEZAS NATURAIS tem TURISTAS

PROGRAMADOR E TRAFICANTE tem USUARIO.

 

 

 

 

 

 

 

Link to comment
Share on other sites

Bom dia,
O interessante é colocar o nome do usuário na tela que está sendo preenchida, e gravar esse nome, aí ele que precisa se entender na empresa, já que o seu sistema, não precisa controlar o que ele escreve, um dicionário, acho que ficaria muito complicado e demorado para a checagem, mas daria para ser feito também

Link to comment
Share on other sites

a todos que responderam meu muito obrigado!!!

e realmente eu gravo o bendito usuário que vez a operação... e tmb acho que a empresa que deveria se entender com o funcionário...

mas aquele negocio, sempre sobra para o programador achar uma solução...

mas valeu a todos, vou tentando....

 

Link to comment
Share on other sites

esse codigo em C# pegue do link que @Edu postou....  será que tem como converter para nosso uso? sem sim alguem habilita, (não sei nada de C#) pode ser interessante para um campo de texto mas longo... uma carta sei lá...

Versão em C#
 
Microsoft.Office.Interop.Word.ApplicationClass objWord = new Microsoft.Office.Interop.Word.ApplicationClass();
//Cria um documento em branco
objWord.Documents.Add();
//Adiciona o texto no novo documento em branco
objWord.Selection.TypeText(this.txtTeste.Text);
//Aciona a ação de verificação ortográfica
objWord.Documents.Item(objWord.Documents.Count).CheckSpelling();
//Retorna o texto corrigido para o textbox
txtTeste.Text = objWord.Documents.Item(objWord.Documents.Count).Content.Text;
//Fecha o documento sem salvar as alterações no documento em branco que foi criado
objWord.Documents.Close(Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges);
//Fecha a instância do word
objWord.Quit();
//Destrói o objeto word
objWord = null;

 

É importante adicionar a referência às bibliotecas do Word
Add Reference > COM > Microsoft Word 12.0 Object Library

E importar o namespace.
Imports Microsoft.Office.Interop.Word

Com isso, seu corretor está implementado.
 

Link to comment
Share on other sites

Eu fiz uns testes com o MS Word e funcionou! Porém a janela que abre as sugestões perde o foco. Se alquém quiser contribuir...

Segue o código.

 

********************************************************************************
Function CorretorOrtografico()
    * Integração com corretor ortografico do MS Word
    
    Local cText:= SPACE(100)
    Local objWord, oDlg
    
    
    define dialog oDlg Resource "CORRETOR" TITLE "Corretor Ortográfico"
    
    redefine get oGet10 VAR cText ID 10 of oDlg UPDATE
    
    * verificar ortografia
    redefine button oBt20 ID 20 of oDlg ACTION( CheckSpelling(@cText), oGet10:Refresh() )
    
    * sair
    redefine button oBt21 ID 21 of oDlg ACTION oDlg:End()
    
    activate dialog oDlg Centered
    
return nil

********************************************************************************    
Function CheckSpelling(cText)    
        
    objWord:= CreateObject("Word.Application")
   
//    objWord:Visible:= .f.
   
    * Cria um documento em branco
    objWord:Documents:Add()

    * Adiciona o texto no novo documento em branco
    objWord:Selection:TypeText(cText)

    * Aciona a ação de verificação ortográfica
    objWord:Documents:Item(objWord:Documents:Count):CheckSpelling()

    * Retorna o texto corrigido para o textbox
    cText := objWord:Documents:Item(objWord:Documents:Count):Content:Text

    * Fecha o documento sem salvar as alterações no documento em branco que foi criado
    objWord:Documents:Close(0)


    * Fecha a instância do word
    objWord:Quit()

    * Destrói o objeto word
    objWord := Nil
    
return nil

Link to comment
Share on other sites

 

Bom dia,
O interessante é colocar o nome do usuário na tela que está sendo preenchida, e gravar esse nome, aí ele que precisa se entender na empresa, já que o seu sistema, não precisa controlar o que ele escreve, um dicionário, acho que ficaria muito complicado e demorado para a checagem, mas daria para ser feito também

Também acho que a responsabilidade seja do usuário, mas não deixa de ser interessante este corretor, porém, não sei se alguns sabem, mas a frase no boleto "Texto de responsabilidade do beneficiário/emitente" exigido pela Febraban, não foi colocado por simples capricho, mas pq houve abusos.

Me lembro de quando analista de uma determinado banco, um programador de uma empresa cliente, enviou um boleto com tudo que era possível para expressar a sua bronca em desenvolver o boleto, o banco processou e gerou os boletos de volta e por azar dele, estes foram parar nas mãos do chefe. A empresa quis processar o banco, que se defendeu com esta justificativa e solicitou a Febraban, alterar o layout do boleto, colocando esta informação..

Livre arbítrio é salutar, mas para quem sabe usá-lo.

 

[]s,

 

Link to comment
Share on other sites

eu criei um função, que separa as palavras de uma frase, e depois faz uma separação silábica de cada palavra, agora estou inserindo uma analise que cada silaba, para ver se tem ou faz algum sentido em português.

A partir daí, pode-se definir se o texto digitado, tem sentido ou não.

Se é isto que você precisa, depois vou postar aqui no grupo, o fonte dessa função.

 

Link to comment
Share on other sites

Olá,

eu criei um função, que separa as palavras de uma frase, e depois faz uma separação silábica de cada palavra, agora estou inserindo uma analise que cada silaba, para ver se tem ou faz algum sentido em português.

A sugestão que fiz foi por este caminho, fazendo esta separação via REGExp. O corretor do Word não vai barrar vai apontar que tem algum erro.

Link to comment
Share on other sites

 

eu criei um função, que separa as palavras de uma frase, e depois faz uma separação silábica de cada palavra, agora estou inserindo uma analise que cada silaba, para ver se tem ou faz algum sentido em português.

A partir daí, pode-se definir se o texto digitado, tem sentido ou não.

Se é isto que você precisa, depois vou postar aqui no grupo, o fonte dessa função.

 

Isso ai mesmo meu caro!!! é justamente o que preciso... validar o que o bendito do USB digitou se tem sentido... para não sair digitando qlq coisa... Vlw Aguardo(amos)

Link to comment
Share on other sites

 

Olá,


eu criei um função, que separa as palavras de uma frase, e depois faz uma separação silábica de cada palavra, agora estou inserindo uma analise que cada silaba, para ver se tem ou faz algum sentido em português.

A sugestão que fiz foi por este caminho, fazendo esta separação via REGExp. O corretor do Word não vai barrar vai apontar que tem algum erro.

Olá @evandro não sei se vc pode, mas vou perguntar.... rsrsrs

pode compartilhar conosco????

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...