FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour completar valores y mostrar en un GET
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM

completar valores y mostrar en un GET

Posted: Tue Aug 21, 2012 03:09 PM
Hola.

Tengo varios campos que son del tipo string y con formato "99:99", en la funcion bValid antes de validar
quiero que si se introdujo "7 :" aparezca como 07:00 y después verificar.

Pero cuando hago el get:setText(nuevoValor) no lo hace. que estoy haciendo mal:

Code (fw): Select all Collapse
...
   ::oGet[1]:bValid:= { | oGet | ::completaCeros(oGet) }
   ::oGet[2]:bValid:= { | oGet | ::completaCeros(oGet) }
   ::oGet[3]:bValid:= { | oGet | ::completaCeros(oGet) }
...

METHOD completaCeros(oGet) CLASS TAsistencia
   LOCAL cValor1, cValor2
   LOCAL cValor

   cValor:=AllTrim(oGet:VALUE)

   IF (Len(cValor)>1)
      cValor1:= AllTrim(SubStr(AllTrim(cValor), 1, At(":", AllTrim(cValor))-1))
      cValor1:= PadL(cValor1, 2, "0")

      cValor2:= AllTrim(SubStr(AllTrim(cValor), At(":", AllTrim(cValor))-1))
      cValor2:= Padl(cValor2, 2, "0")

      oGet:settext(cValor1 + ":" + cValor2)

      oGet:refresh()
   ENDIF

   RETURN (.T.)


Alguna ayuda?
gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM

Re: completar valores y mostrar en un GET

Posted: Tue Aug 21, 2012 03:22 PM
goosfancito wrote:Hola.

Tengo varios campos que son del tipo string y con formato "99:99", en la funcion bValid antes de validar
quiero que si se introdujo "7 :" aparezca como 07:00 y después verificar.

Pero cuando hago el get:setText(nuevoValor) no lo hace. que estoy haciendo mal:

Code (fw): Select all Collapse
...
   ::oGet[1]:bValid:= { | oGet | ::completaCeros(oGet) }
   ::oGet[2]:bValid:= { | oGet | ::completaCeros(oGet) }
   ::oGet[3]:bValid:= { | oGet | ::completaCeros(oGet) }
...

METHOD completaCeros(oGet) CLASS TAsistencia
   LOCAL cValor1, cValor2
   LOCAL cValor

   cValor:=AllTrim(oGet:VALUE)

   IF (Len(cValor)>1)
      cValor1:= AllTrim(SubStr(AllTrim(cValor), 1, At(":", AllTrim(cValor))-1))
      cValor1:= PadL(cValor1, 2, "0")

      cValor2:= AllTrim(SubStr(AllTrim(cValor), At(":", AllTrim(cValor))-1))
      cValor2:= Padl(cValor2, 2, "0")   ------------>StrZero(), para que te rellene los ceros que quieras 

      oGet:settext(cValor1 + ":" + cValor2)

      oGet:refresh()
   ENDIF

   RETURN (.T.)


Alguna ayuda?
gracias.



Hola Gosfancito, porque no sustituyes, StrZero(), en lugar de Padl(), a ver si funciona.

Saludos y buen dia .

Atte: Adrian C. C.
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM

Re: completar valores y mostrar en un GET

Posted: Tue Aug 21, 2012 03:28 PM

hola.

Lo que no anda es el "refresco" del oGet o sea Si hago esto: msginfo( cValor1 + cValor2) me muestra el dato, pero oGet:setText(cValor1 + cValor2) no me hace nada.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 632
Joined: Tue Dec 12, 2006 07:34 PM

Re: completar valores y mostrar en un GET

Posted: Tue Aug 21, 2012 03:45 PM
goosfancito wrote:hola.

Lo que no anda es el "refresco" del oGet o sea Si hago esto: msginfo( cValor1 + cValor2) me muestra el dato, pero oGet:setText(cValor1 + cValor2) no me hace nada.



Goosfancito, verifica cada objeto y pruebas si te refresca el valor de retorno, por ejemplo :

oGet[1]:Refresh()

Saludos.
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM

Re: completar valores y mostrar en un GET

Posted: Tue Aug 21, 2012 06:53 PM
Code (fw): Select all Collapse
   oGet:VARPUT( cValor2 )
   oGet:Refresh()


saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 211
Joined: Wed Jul 16, 2008 12:59 PM

Re: completar valores y mostrar en un GET

Posted: Tue Aug 21, 2012 09:43 PM
Hola goosfancito

utiliza cText() en vez de setText(), que tambien te hace el Refresh()


Atentamente,

Rolando.
Cochabamba, Bolivia

Continue the discussion