Marcar Contenido de 1 GET

Post Reply
José Camilo
Posts: 212
Joined: Wed Apr 07, 2021 3:56 pm

Marcar Contenido de 1 GET

Post 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
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Marcar Contenido de 1 GET

Post by karinha »

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
José Camilo
Posts: 212
Joined: Wed Apr 07, 2021 3:56 pm

Re: Marcar Contenido de 1 GET

Post by José Camilo »

Gracias Joao!!!
Pero no me funciona.
lo mio es un get comun, no multiline ni memo.
gracias igual.
User avatar
cmsoft
Posts: 1293
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Marcar Contenido de 1 GET

Post by cmsoft »

Hola Jose Camilo:
Puedes hacer

Code: Select all | Expand

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
José Camilo
Posts: 212
Joined: Wed Apr 07, 2021 3:56 pm

Re: Marcar Contenido de 1 GET

Post by José Camilo »

Gracias Cesar !!!
perfecto.
User avatar
Armando
Posts: 3251
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Marcar Contenido de 1 GET

Post 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
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
paquitohm
Posts: 284
Joined: Fri Jan 14, 2022 8:37 am

Re: Marcar Contenido de 1 GET

Post 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
User avatar
karinha
Posts: 7885
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Contact:

Re: Marcar Contenido de 1 GET

Post by karinha »

Paquito, Armando tiene razón.

Code: Select all | Expand

// 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.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
Armando
Posts: 3251
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Marcar Contenido de 1 GET

Post 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
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
José Camilo
Posts: 212
Joined: Wed Apr 07, 2021 3:56 pm

Re: Marcar Contenido de 1 GET

Post 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!!!
Post Reply