Page 1 of 1

Hacer sonar cuando se pulsa tecla dentro de un get

Posted: Fri Jul 25, 2008 6:10 am
by Verhoven
Con el siguiente código intento que al introducir cada dígito de un número en un get suene una nota, pero no logro que funcione.

REDEFINE GET oGet VAR nGet ID 406 OF oDlg FONT oFont1Get;
PICTURE '999.99';
COLOR ClrLtrGet,ClrFonGet;
ON CHANGE (self:assign(),iif(lSuenaTeclas,suenanumero(nKey),.f.));
UPDATE

Les ruego me ayuden.

Posted: Fri Jul 25, 2008 7:48 am
by Antonio Linares
Cual es el valor de lSuenaTeclas ?

Y cual es el código fuente de suenanumero(nKey) ? :-)

Posted: Fri Jul 25, 2008 8:42 am
by Verhoven
lSuenaTeclas:=.t.

function suenanumero(nKey)
local nFrecuenciaBase:=493.90
tone(493.90+10*(nKey-49),1)
return nil

Pero el problema es que el GET no recoge los "teclazos". Se queda vacio. Para que funcione el GET tengo que suprimir toda la líne de ON CHANGE.

Posted: Fri Jul 25, 2008 9:32 am
by mmercado
Verhoven wrote:Pero el problema es que el GET no recoge los "teclazos". Se queda vacio. Para que funcione el GET tengo que suprimir toda la líne de ON CHANGE.
Trata de la siguiente manera:

Code: Select all

REDEFINE GET oGet VAR nGet ID 406 OF oDlg FONT oFont1Get; 
PICTURE '999.99'; 
COLOR ClrLtrGet,ClrFonGet; 
ON CHANGE iif(lSuenaTeclas,suenanumero(nKey),Nil); 
UPDATE 
Saludos.

Manuel Mercado

Posted: Fri Jul 25, 2008 9:52 am
by Antonio Linares
Llama a Tone() directamente y comprueba que te funcione.