Theotokos Posted March 2, 2017 Report Share Posted March 2, 2017 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!!! Quote Link to comment Share on other sites More sharing options...
fladimir Posted March 2, 2017 Report Share Posted March 2, 2017 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. Quote Link to comment Share on other sites More sharing options...
CIACPD Posted March 2, 2017 Report Share Posted March 2, 2017 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 Theotokos 1 Quote Link to comment Share on other sites More sharing options...
marcioe Posted March 3, 2017 Report Share Posted March 3, 2017 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 Já PROGRAMADOR E TRAFICANTE tem USUARIO. Theotokos and CIACPD 2 Quote Link to comment Share on other sites More sharing options...
vagner Posted March 3, 2017 Report Share Posted March 3, 2017 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 Jorge Andrade 1 Quote Link to comment Share on other sites More sharing options...
aferra Posted March 3, 2017 Report Share Posted March 3, 2017 perfeito Vagner, acho a mesma coisa....ferro na pessoa. Jorge Andrade 1 Quote Link to comment Share on other sites More sharing options...
Edu Posted March 3, 2017 Report Share Posted March 3, 2017 Há a possibilidade de utilizar o corretor ortográfico do MS Word. Veja: http://rafaelfranklinmaia.blogspot.com.br/2009/10/corretor-ortografico-do-word-em.html Quote Link to comment Share on other sites More sharing options...
Theotokos Posted March 3, 2017 Author Report Share Posted March 3, 2017 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.... Quote Link to comment Share on other sites More sharing options...
Theotokos Posted March 3, 2017 Author Report Share Posted March 3, 2017 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 WordAdd Reference > COM > Microsoft Word 12.0 Object LibraryE importar o namespace.Imports Microsoft.Office.Interop.WordCom isso, seu corretor está implementado. Quote Link to comment Share on other sites More sharing options...
fladimir Posted March 3, 2017 Report Share Posted March 3, 2017 Não seria semelhante a esta postagem? Quote Link to comment Share on other sites More sharing options...
evandro Posted March 4, 2017 Report Share Posted March 4, 2017 Olá, Uma boa alternativa seria usar as Expressões Regulares ( RegExp ). Bem interessante e funcional. Quote Link to comment Share on other sites More sharing options...
Edu Posted March 6, 2017 Report Share Posted March 6, 2017 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 Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted March 6, 2017 Report Share Posted March 6, 2017 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, Quote Link to comment Share on other sites More sharing options...
mkyx Posted March 7, 2017 Report Share Posted March 7, 2017 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. Theotokos 1 Quote Link to comment Share on other sites More sharing options...
evandro Posted March 7, 2017 Report Share Posted March 7, 2017 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. Theotokos 1 Quote Link to comment Share on other sites More sharing options...
Theotokos Posted March 7, 2017 Author Report Share Posted March 7, 2017 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) Quote Link to comment Share on other sites More sharing options...
Theotokos Posted March 7, 2017 Author Report Share Posted March 7, 2017 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???? Quote Link to comment Share on other sites More sharing options...
evandro Posted March 8, 2017 Report Share Posted March 8, 2017 Olá, Não tenho esta rotina. Como estamos começando a estudar as RegExps, acho que seria uma boa opção. Uma alternativa para dar eficácia à rotina do Mkyx. http://regexr.com/ é bem legal. 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.