Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
20 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 19 Visitantes :: 2 Motores de busca

FAF

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
» Alterar uma palavra num arquivo de texto
Ontem à(s) 12:02 por Teseu

» Buscar endereço por CEP
3/12/2016, 19:59 por pedrossian

» USAR WEBSERVICE NO VFP9
2/12/2016, 09:50 por AJC

» BANIMENTO DE USUARIO
17/11/2016, 08:31 por FAF

» Impressora Ticket
15/11/2016, 09:20 por clima238

» Gráfico
9/11/2016, 10:43 por hidroluz

» TRANSPOR TABELA
9/11/2016, 10:34 por hidroluz

» MUDANÇA DO .DBF PARA POTSGREE
9/11/2016, 09:12 por AJC

» Website com videoaulas sobre linguagens de programação
8/11/2016, 09:56 por JLDR

» Parceria para desenvolvimento de template em Wordpress
7/11/2016, 19:15 por mindix

» Data fica invertida na planilha que é gerada via programa.
27/10/2016, 11:00 por Linghston

» Maximizar report direto do menu
21/10/2016, 20:48 por Rosangela Pires

» Fechar form com tempo
21/10/2016, 10:15 por Rosangela Pires

» URGENTE: Ajuda com impressora ELGIN-L42
14/10/2016, 09:53 por megasoft

» Opções para gerar NF-e
10/10/2016, 09:07 por mavsinfo

» Google Maps
8/10/2016, 15:08 por Rosangela Pires

» Mysql
5/10/2016, 11:22 por Marcos Guedes

» Acessando Banco em MYSQL de um projeto WORDPRESS
3/10/2016, 10:58 por Marcos Guedes

» OPTION SELECT MOSTRAR CAMPOS QUASE PRONTO
26/9/2016, 21:09 por BobKuspe

» Pesquisa em grid
14/9/2016, 09:24 por AJC

Alterar uma palavra num arquivo de texto

5/12/2016, 12:02 por Teseu

Olá prezados colegas de programação!

Este é eu primeiro post no fórum e gostaria de poder …

Comentários: 0

Buscar endereço por CEP

3/12/2016, 19:59 por pedrossian

Caros amigos, meu código para buscar endereço pelo CEP não funciona mais.
Alguém pode me …

Comentários: 0

USAR WEBSERVICE NO VFP9

2/12/2016, 09:50 por AJC

Pessoal, preciso de um material ou livro que me traga instruções como
usar a consumação de …

Comentários: 0

BANIMENTO DE USUARIO

13/11/2016, 16:21 por FAF

A usuária ROSANGELA PIRES ao tentar acessar o Forum obtem sempre a mensagem de BANIMENTO.
A mesma …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 0

Estatísticas
Temos 6962 usuários registrados
O último usuário registrado atende pelo nome de teklainfo

Os nossos membros postaram um total de 17118 mensagens em 2576 assuntos

Duvida com Form - métodos

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido Duvida com Form - métodos

Mensagem por memarques em 28/5/2010, 13:27

caros

Não consegui imaginiar como ...

Imaginem um formulario com um campo onde será digitado um texto que deve existir em uma tabela. Alem desse campo tenho mais 2 a serem preenchidos, por exemplo:

Nome
Endereço
telefone

coloquei um botão de GRAVA e um de ESQUEÇA (abandona a operação), ou seja 2 botões.

Bom, gostaria de quando apos informar o nome, fosse consultada numa tabela sua existencia, então:

No metodo lost focus do NOME, eu verifico se o nome digitado pertence a uma tabela, e dou mensagem se não existir.

Aí tenho 2 problemas:

1 - depois de dar a mensagem de não existir (veja estou no metodo lostfocus) mesmo eu executando um thisform.nome.setfocus logo depois da mensagem, o cursor "pula" para o outro campo, no caso endereço. Eu gostaria que o cursor continuasse no campo Nome. Percebi q qdo executo o thisform.nome.setfocus o nome não volta a ter o foco, já q estou no metodo lostfocus, algum contorno? O que eu fiz foi dar enable = .f. em todos os outros objetos ou um tabstop = .f. nos outros, mas isso não é o q gostaria de fazer.

2- nesse mesmo form eu tenho um botão de esqueça, ou seja imagino que mesmo no meio de alguma informação o operador possa "desistir" de fazer o q estava sendo digitado.

Nesse caso se estiver com uma "meia digitação" ou "digitando" um nome que não existe, qdo clico no botão esqueça, como existe uma verificação no lostfocus do nome, a mensagem de nome não cadastrado aparece de qq forma, já que é verificada se o nome existe numa tabela qdo o campo perde o foco.

Nesse caso, existe como na rotina de verificação do nome saber que o q foi apertado é o "esqueça" e na rotina de lostfocus do nome não fazer a verificação, já q o q vai ser executado será o esqueça?

Alguma idéia como fazer isso?

Espero ter explicado ... Obrigado

Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por m@r<3|o em 28/5/2010, 13:55

amigo,
voce passa os campos facilmente com Enter ou Tab

no menu abre um form e click em view, Tab Order, Assign Interacti....
la voce clica conforme quer deixar seus campos em order

e o que pretende poderia ser feito um controle mostra_dados onde trataria se vazio ou se inibido

vendo por um lado mais complicado

vc ta falando em tratar string com mensgagem box conforme tecla digitada ?

ou vc quer criar um Menu - Form - New Method ... e fazer verificacao nesse text ?

o que voce faz no valid voce faz no lostfocus

e tb setfocus nao funciona no valid doi textbox, por isso acho que tem que reorganizar os campos

Abs
Marcelo Fazan

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 28/5/2010, 14:14

Marcelo

Seguinte: Tenho uma validação num campo texto: "tem q existir numa tabela".

Como fazer para clicar um botão de "Sair" por exemplo sem q essa validação aconteça? "Essa é minha pergunta resumida"

Obrigado
Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por Marcos Guedes em 28/5/2010, 14:33

[Você precisa estar registrado e conectado para ver este link.] escreveu:caros

Não consegui imaginiar como ...

Imaginem um formulario com um campo onde será digitado um texto que deve existir em uma tabela. Alem desse campo tenho mais 2 a serem preenchidos, por exemplo:

Nome
Endereço
telefone

coloquei um botão de GRAVA e um de ESQUEÇA (abandona a operação), ou seja 2 botões.

Bom, gostaria de quando apos informar o nome, fosse consultada numa tabela sua existencia, então:

No metodo lost focus do NOME, eu verifico se o nome digitado pertence a uma tabela, e dou mensagem se não existir.

Aí tenho 2 problemas:

1 - depois de dar a mensagem de não existir (veja estou no metodo lostfocus) mesmo eu executando um thisform.nome.setfocus logo depois da mensagem, o cursor "pula" para o outro campo, no caso endereço. Eu gostaria que o cursor continuasse no campo Nome. Percebi q qdo executo o thisform.nome.setfocus o nome não volta a ter o foco, já q estou no metodo lostfocus, algum contorno? O que eu fiz foi dar enable = .f. em todos os outros objetos ou um tabstop = .f. nos outros, mas isso não é o q gostaria de fazer.

2- nesse mesmo form eu tenho um botão de esqueça, ou seja imagino que mesmo no meio de alguma informação o operador possa "desistir" de fazer o q estava sendo digitado.

Nesse caso se estiver com uma "meia digitação" ou "digitando" um nome que não existe, qdo clico no botão esqueça, como existe uma verificação no lostfocus do nome, a mensagem de nome não cadastrado aparece de qq forma, já que é verificada se o nome existe numa tabela qdo o campo perde o foco.

Nesse caso, existe como na rotina de verificação do nome saber que o q foi apertado é o "esqueça" e na rotina de lostfocus do nome não fazer a verificação, já q o q vai ser executado será o esqueça?

Alguma idéia como fazer isso?

Espero ter explicado ... Obrigado

Mauro
Se o nome deve estar contido numa tabela, então porque não os inclui num combobox, ao invés de solicitar digitação do usuário?

Ou, talvez, colocar os dados num outro form, carregados por um Grid, onde poderá ser selecionada a opção desejada...

???

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por m@r<3|o em 28/5/2010, 15:16

se a palavra for
texto marcelo - for digitada marce entao ... nao acontecer

Código:
IF THIS.PARENT.TEXT1.VALUE = "MARCELO"
EXECUTA
ELSE
THIS.PARENT.TEXT1.VALUE = ""
THIS.PARENT.TEXT1.SETFOCUS
RETURN 0 
ENDIF
o comando é return 0

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 28/5/2010, 20:08

Marcos

A pergunta q fiz foi "conceitual". O exemplo que dei foi um jeito q achei para ser entendida a questão.

Imagine que eu esteja num formulário com varios campos com validações. No meio de uma entrada (que não completei ainda) resolvo "desistir" da operação, por exemplo do cadastro de um cliente. Vamos supor "por exemplo" que o campo não possa estar vazio.

No meio de completar o cadastro resolvo desistir, mas no campo q estou tem uma validação através do método lostfocus. O que queria saber/entender é como eu consigo executar um click num botão "sair" sem que estas validação aconteçam, mesmo pq estou desistindo da operação.

Do jeito que fiz, qdo clico no botão sair a validação no campo é executada, pq o campo perde o foco. A pergunta é: como posso passar a validação (e por exemplo não aconteça a mensagem de alguma coisa errada - através da rotina de validação no lostfocus)

Obrigado
Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 28/5/2010, 20:11

Marcelo

Vou testar esse return 0, no caso do setfocus. Volto a postar, obrigado

Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por hugo em 28/5/2010, 21:44

faca condicao na validacao do lost focus

portugol:

se ultima acao # de clique no botao sair
.....validacao
fim do se

obs. no visual foxpro nao sei fazer isto, mais no foxpro dos usao assim!

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 28/5/2010, 21:49

Hugo

Exatamente o que eu quero ... "MAS" (aqui a pergunta deste imbecil q voz escreve) ...

como testar ... "ultima acao # de clique no botao sair"

Existe alguma função que retorne a ultima acão ???

Obrigado
Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por hugo em 28/5/2010, 22:04

procure no help do vfp por

Click Event

valeu

_________________
"A tristeza é a falta de alegria, mais sem ela eu não poderia entender a alegria do fato de que a felicidade existe!"
Helio Leites - [Você precisa estar registrado e conectado para ver este link.]

hugo
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 28/5/2010, 22:56

Hugo

O "evento click" dispara um trigger qdo vc por exemplo "clika" num botão ... ok .. kkk É o que usamos rotineiramente nos nossos programas.

O que não estou conseguindo (mesmo depois de ler sobre o evento no help) como saber na função lostfocus de um objeto (no caso um label) o "evento Click" aconteceu no botão "SAIR", se eu conseguisse aí eu deixaria o lostfocus passar, mesmo com algum problema, já que o form vai ser fechado, por exemplo.

Valeu, obrigado de novo
Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por Marcos Guedes em 28/5/2010, 22:57

[Você precisa estar registrado e conectado para ver este link.] escreveu:Marcos

A pergunta q fiz foi "conceitual". O exemplo que dei foi um jeito q achei para ser entendida a questão.

Imagine que eu esteja num formulário com varios campos com validações. No meio de uma entrada (que não completei ainda) resolvo "desistir" da operação, por exemplo do cadastro de um cliente. Vamos supor "por exemplo" que o campo não possa estar vazio.

No meio de completar o cadastro resolvo desistir, mas no campo q estou tem uma validação através do método lostfocus. O que queria saber/entender é como eu consigo executar um click num botão "sair" sem que estas validação aconteçam, mesmo pq estou desistindo da operação.

Do jeito que fiz, qdo clico no botão sair a validação no campo é executada, pq o campo perde o foco. A pergunta é: como posso passar a validação (e por exemplo não aconteça a mensagem de alguma coisa errada - através da rotina de validação no lostfocus)

Obrigado
Mauro
Você, aparentemente, está com o mesmo problema do clodoaldo.
Dê uma olhada na solução deste tópico:
- [Você precisa estar registrado e conectado para ver este link.]

Resolve?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por m@r<3|o em 28/5/2010, 23:33

entendi amiguinho, o errado esta assim
o que quer fazer nao é no lostfocus
mais sim pro proprio valid voce procura e ja confere,
algo como
Código:
if ! empty
    if seek
        else
    endif
else

endif

essa estrutura voce tem que fazer no valid

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por m@r<3|o em 28/5/2010, 23:40

o returno tem algo assim ,

quando voce quer finalizar uma execucao , coloco return 0
ou se for pra continuar algo como uma mensagem dentro de um if
ai coloco return, tem que ver a necessidade,

algo assim

Código:
if !empty( this.value )
        if seek( this.value, "cadclie1")
           thisformset.mostra_dados( .t.,.t. )          
             IF cadclie.clie_ativo = "ATIVO  "  && sempre o numero de casas pra fechar as aspas é o numero do valor C(99)tabela 
                   = MESSAGEBOX(" CLIENTE ATIVO",64,"Aviso")
                    RETURN
                  ENDIF
     ELSE
     thisformset.mostra_dados( .F., .t. )
   endif
else 
          return 0   
ENDIF


voce quer buscar ? Letra por Letra
voce quer buscar na tabela e preencher o final ?
voce esta usando uma grid ?
isso é um form de cadastro ou consulta ?

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 28/5/2010, 23:52

Marcos

O exemplo do clodoaldo é legal. Com o evento mouse in e out no botão sair dá para contornar na boa .... Fiquei até vermelho de vergonha ... kkk

Resolve sim a questão.

Obrigado

Marcelo

Entendi sua colocação ... vou bater um pouco sua idéia, obrigado


Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por m@r<3|o em 29/5/2010, 00:15

como resolveu ?
tem como colar

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 31/5/2010, 09:48

Marcelo

O "meu" problema:

Um campo que eu não queria que fosse deixado "vazio". Então no metodo "lostfocus" eu coloquei:

Código:
IF LEN(ALLTRIM(thisform.wCodigo.Value)) = 0
   MESSAGEBOX("Codigo Vazio !!")
   RETURN 0
ENDIF

Só que eu também tenho um botão de "SAIR". Qdo fosse clicado eu não gostaria que a mensagem aparecesse.

Então:

criei uma variável: flag_ok_sai (inicializo ela com "N")

no Metodo lost locus coloquei:

Código:
IF flag_ok_sai = "S"
   RETURN
ENDIF

IF LEN(ALLTRIM(thisform.wCodigo.Value)) = 0
   MESSAGEBOX("Codigo Vazio !!")
   RETURN
ENDIF

nos metodos MousdeLeave e MouseEnter do botão "sai"r coloquei:

MouseLeave
Código:
flag_ok_sai = "N"

Mouse Enter
Código:
flag_ok_sai = "S"

O que acontece?

Claro que "antes" do botão sair se clicado o mouse tem q estar no campo de atuação do botão. Quando o mouse estiver em cima "Entrar" no campo a flag via "S", qdo o botão do sair for clicado o lostfocus do campo codigo não dará a mensagem e a rotina de sair (on-Click) do botão sair será executada.

Isso só não é perfeito. Mas nesse caso para mim foi ok.

Algumas observações:

1- se o botão sair for selecionado via "Tab" a coisa não rola (claro). No meu caso o tab para os botões estão como .f.

2- se o mouse for "descançado" em cima do botão sair (o "sair" não for clicado) e vc estiver no campo wCodigo, se der o tab o metodo lostfocus vai deixar sair pq a flag vai estar ok, pq o mouse "entrou" no campo do botão, mesmo ele não sendo disparado.

Como disse no meu caso eu contornei, mas precisaria focar mais um pouco para resolver 100% isso.

Abraço
Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por m@r<3|o em 31/5/2010, 10:20

ja vi sobre flag .... mais na versao posteriores do fox,
existem outros meios mais comuns

exemplo acho que surti a mesma coisa que fez
fazendo ....

valid no codigo

Código:
IF empty(thisform.wCodigo.Value)
MESSAGEBOX("Codigo Vazio !!")
RETURN
ENDIF

botao sair

Código:
IF empty(thisform.wCodigo.Value)
MESSAGEBOX("Codigo Vazio !!")
ENDIF

eu geralmente o que fez no sair eu faço no gravar


mais legal seu codigo
Abs

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 31/5/2010, 10:42

Marcelo

Então: O que eu queria eu que QDO o botão sair fosse clicado "NÃO" aparecesse a mensagem. No seu exemplo, a mensagem irá aparecer, quer seja pelo valid do wCodigo, ou peli click do "SAIR". Ño meu "desenho" o botão sair é "ABORTAR". Como posso abortar a operação se a mensagem fica aparecendo ... entendeu o q EU queria?

Sou da velha guarda. Qdo comecei com o "CLIPPER" não existia o empty() .. kkk (imagina a qtas décadas !!!), por isso "AINDA" tenho a "mania" de usar len(alltrim()) .. kkkk (já que programo pouco)

Abraço
Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por Marcos Guedes em 31/5/2010, 10:55

marcelofazan escreveu:ja vi sobre flag .... mais na versao posteriores do fox,
existem outros meios mais comuns

exemplo acho que surti a mesma coisa que fez
fazendo ....

valid no codigo

Código:
IF empty(thisform.wCodigo.Value)
MESSAGEBOX("Codigo Vazio !!")
RETURN
ENDIF

botao sair

Código:
IF empty(thisform.wCodigo.Value)
MESSAGEBOX("Codigo Vazio !!")
ENDIF

eu geralmente o que fez no sair eu faço no gravar


mais legal seu codigo
Abs
Marcelo, todos os eventos são ativados respeitando uma ordem hierárquica.

O botão sair irá funcionar, se o usuário não estiver com o foco no controle textbox (ou outro com funcionalidade no método valid).

Mas se o usuário estiver posicionado no textbox (como é o caso de nosso amigo), antes de executar o método click do botão, ele deverá executar o valid do textbox. Pois antes de o botão receber o foco, o textbox deverá perder o foco completamente, ou seja, deverá executar os métodos lostfocus e valid, antes de perder o foco.

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por memarques em 31/5/2010, 11:11

Blz Marcos, obrigado.

"Alguem" .. kkk melhorou meu post colocando o que era codigo como codigo ... THKx, vou ver como se faz isso, sorry ... Depois que aprender, "JURO" que colocarei sempre assim ... kkkk

Mauro

memarques
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por Marcos Guedes em 31/5/2010, 11:32

A moderação do fórum está sempre melhorando o visual das mensagens para
atender melhor os leitores.
Smile

Dá uma olhada nestes tópicos:
- [Você precisa estar registrado e conectado para ver este link.]
- [Você precisa estar registrado e conectado para ver este link.]

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Resolvido Re: Duvida com Form - métodos

Mensagem por Conteúdo patrocinado Hoje à(s) 18:54


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum