vou tentar explicar fazendo um bloco aqui
Código: Selecionar todos
#include 'minigui.ch'
function main()
set deleted on
SET DATE TO BRITISH
SET CENT ON
SET NAVIGATION EXTENDED
Private nNum := spac(03)
Private cNonbre:= spac(09)
Private dData:= date()
private troca := .t.
if !file('cliente.dbf')
aStru := {;
{'NUMERO','C',3,00},;
{"NOME" ,"C",30,00},;
{"DATA" ,"D",8,00}}
DBCREATE( 'cliente.dbf' , aStru)
use cliente.dbf alias cli
for x=1 to 10
append blank
REPLACE NUMERO WITH STRZERO(X,3)
REPLACE NOME WITH "NOME "+STRZERO(X,3)
COMMIT
next
index on numero to cli
set index to cli
else
use cliente.dbf alias cli
set index to cli
endif
Go Top
define Window Form_1 ;
AT 0,0 ;
WIDTH 400 HEIGHT 300 ;
TITLE 'Simulando Problema' MAIN;
on init{|| (form_1.cnonbre.Enabled:=.f.)}
@ 40 ,20 label l1 value "Numero" font "verdana" size 11 bold transparent
@ 40 ,150 getbox Number value nNum;
width 35 height 20 bold pict "999";
valid {||Qualnumero(this.value)}
@ 70 ,20 label l2 value "Nome " font 'verdana' size 11 bold transparent
@ 70 ,150 getbox cNonbre value cNonbre;
width 80 height 20 bold pict '@!' ;
valid {||troca(this.value)}
@ 100,20 label l3 value "Data " font 'verdana' size 11 bold transparent
@ 100 ,150 getbox dData value dData ;
width 100 height 20 bold pict "@D"
end Window
Form_1.Center
Form_1.Activate
Return Nil
Function QualNumero(local1)
Private Altera := " "
local1 := STRZERO(val(local1),3)
select cli
seek local1
if found()
form_1.cNonbre.value:= nome
if troca
if msgyesno("Deseja Trocar o Nome ?","Sim Não",.t.)
Altera = "S"
form_1.cNonbre.Enabled:= .t.
form_1.cNonbre.Setfocus
return .t. // se eu coloco o retur .t. espera a digitação mais
endif // nao volta pra linha 82 para que é o que preciso
// entrar no altera caso "S"
endif // se nao coloco return .t. passa direto pra linha 82
if Altera = "S" // que seria aqui...
msginfo("Segue a Funçao")
endif
return .t.
else
msginfo("nao achou")
return .f.
endif
********************************************
Function troca(local1)
replace cli->nome with local1
return .t.
***********************************************
Att: Nascimento


