FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Problemas con edici贸n
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM
Problemas con edici贸n
Posted: Fri Oct 19, 2007 02:41 PM

Tengo el siguiente c贸digo

/******/
Local nValor := 0
Local oGet
Local oDlg
Local lSalgo := .f.

Define Dialog oDlg From 10, 10 To 50, 180 Pixel Style nOr( WS_POPUP, WS_THICKFRAME )

  @ 06, 05 Say 'Ingrese Valor' Of oDlg Size 50, 10 Pixel
  @ 05, 40 Get oGet Var nValor Size 35, 10 Pixel Of oDlg Picture '999999.99'
  oGet : bKeyDown := { | nKey | If( nKey == VK_RETURN, ( If( nValor != 0, ( lSalgo := .t., oDlg : End() ), BorraRubroDeCarga( oDlg, oGet, @lSalgo, @nValor ) ) ), If( nKey == VK_ESCAPE, BorraRubroDeCarga( oDlg, oGet, @lSalgo, @nValor ), ) ) }

Activate Dialog oDlg Centered Valid lSalgo
Return nValor

                    Function BorraRubroDeCarga( oDlg, oGet, lSalgo )

If( !MsgNoYes( ' 驴 Desea cancelar la operaci贸n ? ', 'Atenci贸n' ) )
oGet : SetFocus()
Return 0
End
lSalgo := .t.
oDlg : End()
Return 0

Si ingreso un valor = 0, el sistema me dice si quiero cancelar la operaci贸n. Si le digo que no e ingreso un valor # 0, supuestamente el programa deber铆a validarme el get y continuar. Pero me vuelve a preguntar si quiero cancelar la operaci贸n. Si le digo que no y vuelvo a pulsar enter ah铆 si me lo valida. Espero haber sido claro. Que estoy haciendo Mal ????
Muchas gracias a todos

Posts: 114
Joined: Fri Nov 24, 2006 09:03 PM
Problemas con edici贸n
Posted: Fri Oct 19, 2007 04:14 PM

asi deberia ser:

oGet : bKeyDown := { | nKey | If( nKey == VK_RETURN, ;
If( nValor != 0, (lSalgo:=.t., oDlg:End()), ;
BorraRubroDeCarga(oDlg, oGet,@lSalgo,@nValor)),nValor:=Val(Chr(nKey)) ) }

Jaime

Continue the discussion