Marcar Contenido de 1 GET

Marcar Contenido de 1 GET

Postby José Camilo » Sat May 25, 2024 5:24 pm

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

Re: Marcar Contenido de 1 GET

Postby karinha » Sat May 25, 2024 5:47 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Marcar Contenido de 1 GET

Postby José Camilo » Sat May 25, 2024 6:18 pm

Gracias Joao!!!
Pero no me funciona.
lo mio es un get comun, no multiline ni memo.
gracias igual.
José Camilo
 
Posts: 210
Joined: Wed Apr 07, 2021 3:56 pm

Re: Marcar Contenido de 1 GET

Postby cmsoft » Sat May 25, 2024 9:03 pm

Hola Jose Camilo:
Puedes hacer
Code: Select all  Expand view  RUN

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
User avatar
cmsoft
 
Posts: 1291
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Marcar Contenido de 1 GET

Postby José Camilo » Sat May 25, 2024 9:49 pm

Gracias Cesar !!!
perfecto.
José Camilo
 
Posts: 210
Joined: Wed Apr 07, 2021 3:56 pm

Re: Marcar Contenido de 1 GET

Postby Armando » Sun May 26, 2024 4:17 am

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
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Marcar Contenido de 1 GET

Postby paquitohm » Mon May 27, 2024 7:32 am

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
paquitohm
 
Posts: 266
Joined: Fri Jan 14, 2022 8:37 am

Re: Marcar Contenido de 1 GET

Postby karinha » Mon May 27, 2024 1:46 pm

Paquito, Armando tiene razón.

Code: Select all  Expand view  RUN

// 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
karinha
 
Posts: 7831
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Marcar Contenido de 1 GET

Postby Armando » Mon May 27, 2024 3:32 pm

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
User avatar
Armando
 
Posts: 3229
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Marcar Contenido de 1 GET

Postby José Camilo » Mon May 27, 2024 3:46 pm

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


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 75 guests