Page 1 of 1

Marcar Contenido de 1 GET

PostPosted: Sat May 25, 2024 5:24 pm
by José Camilo
Buenas tardes !!
Necesito que al ingresar a un GET con contenido todo el contenido quede "seleccionado" de manera que al oprimir cualquier letra dicho contenido se borre y quede lo nuevo que escribo.
Como se puede realizar?

Gracias

Re: Marcar Contenido de 1 GET

PostPosted: Sat May 25, 2024 5:47 pm
by karinha

Re: Marcar Contenido de 1 GET

PostPosted: Sat May 25, 2024 6:18 pm
by José Camilo
Gracias Joao!!!
Pero no me funciona.
lo mio es un get comun, no multiline ni memo.
gracias igual.

Re: Marcar Contenido de 1 GET

PostPosted: Sat May 25, 2024 9:03 pm
by cmsoft
Hola Jose Camilo:
Puedes hacer
Code: Select all  Expand view

REDEFINE GET oGet VAR cTexto   ID 1001  OF oDlg
oGet:bGotFocus :={|| oGet:SelectAll()}
 

Esto hará que cada vez que el control get tome el foco, se seleccione todo, y si escribes un texto nuevo se sobreescriba

Re: Marcar Contenido de 1 GET

PostPosted: Sat May 25, 2024 9:49 pm
by José Camilo
Gracias Cesar !!!
perfecto.

Re: Marcar Contenido de 1 GET

PostPosted: Sun May 26, 2024 4:17 am
by Armando
José Camilo:

El comportamiento natural de un GET es que cuando toma el foco, aunque el cursor se posiciona al principio,
al momento de iniciar a teclear, el contenido anterior es sustituido por lo nuevo que se esta tecleando.

Pero, imaginemos que solo quieres cambiar el último carácter, al momento de mover el cursor a la posición
a sustituir, el comportamiento del párrafo anterior se anula. En otras palabras, el movimiento del cursor anula
el comportamiento inicial.

Solo debes usar un PICTURE como este Picture "@K", échale un ojito a los PICTURE

Saludos

Re: Marcar Contenido de 1 GET

PostPosted: Mon May 27, 2024 7:32 am
by paquitohm
Armando wrote:José Camilo:
El comportamiento natural de un GET es que cuando toma el foco, aunque el cursor se posiciona al principio,
al momento de iniciar a teclear, el contenido anterior es sustituido por lo nuevo que se esta tecleando.
Saludos


IMHO ese es un comportamiento peligroso. Cualquier tecla borrará el contenido. Puede dar lugar a muchas modificaciones indebidas de datos

Re: Marcar Contenido de 1 GET

PostPosted: Mon May 27, 2024 1:46 pm
by karinha
Paquito, Armando tiene razón.

Code: Select all  Expand view

// C:\FWH\SAMPLES\SILVGETC.PRG

#include 'fivewin.ch'

FUNCTION Main()

   LOCAL oDlg, oGet, oBtn
   LOCAL lTest := .T.
   LOCAL nDimX := SPACE(60)

   SET _3DLOOK ON
   SET CONFIRM ON

   nDimX := "JOSE CAMILO, PAQUITOHM AND FIVEWIN THE BEST IN PICTURE"

   DEFINE DIALOG oDlg TITLE "A simple GET" FROM 2, 2 TO 11, 60

   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   @ 1.5, 2 GET oGet VAR nDimX SIZE 200, 12 OF oDlg PICTURE "@K!" ;
      VALID( LIMPIA_GET_SIL( oGet ) )

   oGet:bGotFocus := {|| oGet:SelectAll() }

   @ 2.5, 4 BUTTON oBtn PROMPT "&Ok" SIZE 45, 12 OF oDlg ;
      ACTION ( oDlg:End(), MsgInfo( nDimX ) ) DEFAULT

   @ 2.5, 15 BUTTON "&Cancel" SIZE 45, 12 OF oDlg ;
      ACTION ( oDlg:End(), MsgInfo( nDimx ) )

   ACTIVATE DIALOG oDlg CENTERED

   IF Set( _SET_INSERT, ! Set( _SET_INSERT ) )
      Set( _SET_INSERT, ! Set( _SET_INSERT ) )
   ENDIF

   SET CONFIRM OFF

RETURN NIL

FUNCTION LIMPIA_GET_SIL( oGet )

   IF GETASYNCKEY( VK_UP )

      oGet:bGotFocus := {|| oGet:SelectAll() }

      RETURN( .T. )

   ENDIF

RETURN( .F. )

// FIN / END
 


Regards, saludos.

Re: Marcar Contenido de 1 GET

PostPosted: Mon May 27, 2024 3:32 pm
by Armando
paquitohm wrote:
Armando wrote:José Camilo:
El comportamiento natural de un GET es que cuando toma el foco, aunque el cursor se posiciona al principio,
al momento de iniciar a teclear, el contenido anterior es sustituido por lo nuevo que se esta tecleando.
Saludos


IMHO ese es un comportamiento peligroso. Cualquier tecla borrará el contenido. Puede dar lugar a muchas modificaciones indebidas de datos

Paquito:

Creo que me explique mal, no es un comportamiento natural de los GETs, puedes hacer que lo que se teclee
nuevo sustituya a lo existente usando la cláusula PICTURE "@K", que es lo que Camilo necesita, pero ya es
decisión del programador usarlo o no.

Saludos

Re: Marcar Contenido de 1 GET

PostPosted: Mon May 27, 2024 3:46 pm
by José Camilo
Buenos dias!!!
Gracias a todos los que contestaron.
me parecia que normalmente cuando ingresaba a un get con contenido al escribir algo ese contenido desaparecia, pero me paso que con la clausula Font dejaba de hacer ese efecto.
Listo. ya esta solucionado tanto con el font como con lo sugerido por Cesar.

MUCHAS GRACIAS!!!