Page 1 of 1

posición inicial en un get vacio con picture

Posted: Sat Mar 05, 2022 3:23 am
by carlos vargas
Estimado Antonio,
he notado que en los get cuando esta vacio (no tiene texto), y lo seleccionamos con el raton dando click en cualquier parte del get, se posiciona en la primera posición,
(lo cual es lo correcto), pero si el get tiene un picture por ejemplo "@R 9999-9999" la posición se mantiene donde demos el click con el raton. aun cuando no hay dato, solo por estar el template.
por loque si el usuario inicia a introducir datos queda feisimo.:-)

salu2

Re: posición inicial en un get vacio con picture

Posted: Sat Mar 05, 2022 8:10 am
by Antonio Linares
Estimado Carlos,

Supongo que estás editando un valor numérico. Estas líneas en tget.prg controlan ese comportamiento:

Code: Select all | Expand

     if ::oGet:Type != "N" .and. ::nPos == 1
         ::oGet:Home()
         ::SetPos( ::oGet:Pos )
      else
         if ::oGet:type == "N" .and. ::lRightToLeft
            ::SetPos( ::nNumLen )
            ::Refresh()
         else
            ::oGet:Pos = ::nPos
         endif
      endif

al ser numérico pasa por el else y ahí no se hace el ::oGet:Home(). Prueba a hacer ::oGet:Home() en ambos casos

Re: posición inicial en un get vacio con picture

Posted: Sat Mar 05, 2022 6:54 pm
by carlos vargas
Gracias Antonio, reviso, realmente es un get de texto (numero de mobil) con un picture "R 9999-9999" por lo que solo acepta numeros, NO es numerico. :-)
revisare....

Re: posición inicial en un get vacio con picture

Posted: Sun Mar 06, 2022 7:56 pm
by carlos vargas
Gracias antonio, por la sugerencia, asi quedo:

Code: Select all | Expand


      if ::oGet:Type != "N" .and. ::nPos == 1
         ::oGet:Home()
         ::SetPos( ::oGet:Pos )
      else
         if ::oGet:type == "N" .and. ::lRightToLeft
            ::SetPos( ::nNumLen )
            ::Refresh()
         else
            if ::oGet:Type == "C" .and. Empty( ::Value() )
               ::oGet:Home()
               ::SetPos( ::oGet:Pos )
            else
               ::oGet:Pos = ::nPos
            endif
         endif
      endif