oGet:Cadena de caracteres

oGet:Cadena de caracteres

Postby George » Tue Sep 09, 2008 3:52 am

Hola,

"oGet:cText" me devuelve el ultimo caracter de la cadena que se esta creando en el GET.

Como obtengo la cadena completa que se esta formando?

Por ejemplo si estoy escribiendo NOMBRE, oGet:cText me devuelve cada una de las letras a medida que voy escribiendo la palabra NOMBRE; lo que quiero es que me devuelva la cadena completa escrita hasta ese momento; que cuando presione M me devuelva "NOM" y no sola 'M".
Lo que quiero es tener la cadena de un numero para calcular otros campos a medida que se van entrando los numeros y no tener que esperar salir del campo para hacer dicho calculo con la opcion VALID.


Saludos,

George
George
 
Posts: 726
Joined: Tue Oct 18, 2005 6:49 pm

Re: oGet:Cadena de caracteres

Postby FranciscoA » Tue Sep 09, 2008 6:28 am

George wrote:Hola,

"oGet:cText" me devuelve el ultimo caracter de la cadena que se esta creando en el GET.

Como obtengo la cadena completa que se esta formando?

Por ejemplo si estoy escribiendo NOMBRE, oGet:cText me devuelve cada una de las letras a medida que voy escribiendo la palabra NOMBRE; lo que quiero es que me devuelva la cadena completa escrita hasta ese momento; que cuando presione M me devuelva "NOM" y no sola 'M".
Lo que quiero es tener la cadena de un numero para calcular otros campos a medida que se van entrando los numeros y no tener que esperar salir del campo para hacer dicho calculo con la opcion VALID.


Saludos,

George



George:
Aquí está este ejemplo. Espero te sirva.


#include "FiveWin.ch"
#include "Inkey.ch"

function Main()

local oDlg, oGet, oBtn
local cText := space( 40 )
local nKey:=LastKey()

DEFINE DIALOG oDlg FROM 2,2 TO 10,50
@1,2 GET oGet VAR cText OF oDlg
oGet:bPostKey := { || MsgInfo( Left(oGet:cText,oGet:nPos-1)+CHR(nKey) ) }

@2,2 BUTTON oBtn PROMPT "Saliendo" OF oDlg ACTION oDlg:End()

ACTIVATE DIALOG oDlg CENTERED

return nil


Saludos

Francisco J. Alegría P.
Chinandega, Nicaragua
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Postby Antonio Linares » Tue Sep 09, 2008 8:42 am

George,

Prueba con oGet:GetText()
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42161
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby George » Tue Sep 09, 2008 1:32 pm

Francisco / Antonio

Gracias por contestar.

Francisco,
Tu ejemplo trabaja perfecto.

Antonio,
Usando "oGet:GetText()" estaba obteniendo el mismo resultado que usando oGet:cText; es decir solo me presentaba el ultimo caracter tecleado.
El problema era que estaba usando un msginfo() y la clausula UPDATE y esto me causaba ese problema.

Con la ayuda de ustedes ya se como resolver este problema.

Gracias

George
George
 
Posts: 726
Joined: Tue Oct 18, 2005 6:49 pm


Return to FiveWin para Harbour/xHarbour

Who is online

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