Página 1 de 1
Alterar SET CONFIRM dentro do GET
Enviado: 27 Mai 2013 13:15
por acelconsultoria
Olá, pessoal do fórum.
Gostaria de saber se há uma forma de alterar o SET CONFIRM dentro de uma sequência de GETs.
Por exemplo:
Código: Selecionar todos
Function MeusGets()
Set Confirm On
Codigo := 0
Nome := Space(40)
Cidade := Space(25)
Obs1 := Space(50)
Obs2 := Space(50)
Obs3 := Space(50)
@ 01,01 GET CODIGO
@ 02,01 GET NOME
@ 03,01 GET CIDADE
/// ==> Aqui, eu deveria desligar o SET CONFIRM
@ 05,01 GET OBS1
@ 06,01 GET OBS2
@ 07,01 GET OBS3
READ
... continua ...
Sugestões

Alterar SET CONFIRM dentro do GET
Enviado: 27 Mai 2013 14:32
por asimoes
Não sei o que está acontecendo, fiz esse código para tentar uma solução pro SET CONFIRM
Compilei com harbour e não está funcionando o SET CONFIRM ON teclando enter passa pro próximo get,
alguém sabe o que é isso?
Estranho é que compilei este código com clipper (5.2e) e também não funcionou o SET CONFIRM ON
Código: Selecionar todos
FUNCTION MAIN
SET CONFIRM ON
CLS
cGet1:=Space(8)
cGet2:=Space(8)
@ 10,00 SAY "GET 1" GET cGet1
@ 11,00 SAY "GET 2" GET cGet2
READ
RETURN Nil
Alterar SET CONFIRM dentro do GET
Enviado: 27 Mai 2013 15:17
por Pablo César
asimoes escreveu:Compilei com harbour e não está funcionando o SET CONFIRM ON teclando enter passa pro próximo get, alguém sabe o que é isso?
O
SET CONFIRM ON tanto no Harbour como no Clipper é para que após o prenchimento durante a digitação do usuário de determinado GET, precise de um ENTER para passar pro próximo GET. Portanto Alexandre, o ENTER sempre será atendido na navegação entre GETs.
acelconsultoria escreveu:Gostaria de saber se há uma forma de alterar o SET CONFIRM dentro de uma sequência de GETs.
Nesse GET que você deseja que o usuário precise dar um ENTER, adicione um WHEN chamando a uma função que dê o
SET CONFIRM ON e ainda nesse mesmo GET adicione um VALID que chame uma função onde irá retornar o
SET CONFIRM OFF.
Não testei mas creio que irá funcionar, sim !
Alterar SET CONFIRM dentro do GET
Enviado: 27 Mai 2013 15:26
por asimoes
Isso mesmo Pablo, tinha me esquecido desse detalhe, preenchendo todo o get só passa para o próximo get teclando enter.
Código: Selecionar todos
FUNCTION MAIN
CLS
cGet1:=Space(8)
cGet2:=Space(8)
cGet3:=Space(8)
@ 10,00 SAY "GET 1" GET cGet1 WHEN CONFIRMA(.T.)
@ 11,00 SAY "GET 2" GET cGet2 WHEN CONFIRMA(.F.)
@ 12,00 SAY "GET 3" GET cGet3 WHEN CONFIRMA(.F.)
READ
RETURN Nil
FUNCTION CONFIRMA(lConfirma)
IF lConfirma
SET CONFIRM ON
ELSE
SET CONFIRM OFF
ENDIF
RETURN.T.
Alterar SET CONFIRM dentro do GET
Enviado: 27 Mai 2013 15:34
por alxsts
Olá!
Segue outra forma de se obter o resultado desejado:
Código: Selecionar todos
#include "set.ch"
Function MeusGets()
altd()
Set Confirm On
Codigo := 0
Nome := Space(40)
Cidade := Space(25)
Obs1 := Space(50)
Obs2 := Space(50)
Obs3 := Space(50)
@ 01,01 GET CODIGO
@ 02,01 GET NOME
@ 03,01 GET CIDADE VALID { || ValType( Set( _SET_CONFIRM, .F. ) ) == "L" } // Desativa o Set Confirm no post block do get (Valid)
/// ==> Aqui, eu deveria desligar o SET CONFIRM
@ 05,01 GET OBS1
@ 06,01 GET OBS2
@ 07,01 GET OBS3
READ