34 mensajes Página 1 de 2
Buenas, escribo porque tengo un problemita que no he podido resolver y es el siguiente:
estoy haciendo una aplicación para hacer cálculos de una materia en especifica para la universidad y quisiera limitar los imput a que solo se le pudiera introducir números, es decir que no deje introducir letras ni símbolos, solamente permita numeros y punto para los decimales; es decir que también bloquee la coma (se le puede colocar un mensaje de carácter no permitido) Gracias de antemano
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.

Existe un ejemplo que solo permite numeros pero no puntos... :sorry: :sorry: :sorry:

ON GLOBAL:
function InputSoloNumeros(HwndInput)
Args1  = string.format("%d,%d", HwndInput, -16)
GetWinLong = DLL.CallFunction("user32.dll", "GetWindowLongA", Args1, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
Args2  = string.format("%d,%d,%d", HwndInput, -16, GetWinLong + 8192)
DLL.CallFunction("user32.dll", "SetWindowLongA", Args2, DLL_RETURN_TYPE_LONG, DLL_CALL_STDCALL);
end
Parsed in 0.003 seconds, using GeSHi 1.0.8.9


ON SHOW:
InputSoloNumeros((Input.GetProperties("Input1").WindowHandle))
Parsed in 0.002 seconds, using GeSHi 1.0.8.9


Contenido Oculto: ON
	<br />Usted necesita responder en este tema para ver el contenido oculto.


Yo asi a voz de pronto no lo se modificar lo mismo Pabloko, Rafax o el creador de esta función CoCo_InC pueden pero yo y USER32 no somos muy amigos, he pensado en alguna DLL usando c# pero el problema que al modificar un input siempre vuelve al primer dígito, se me ocurre una manera de hacer que no haga eso pero es ultra chapucera, que es fijando las dimensiones y posición y haciendo click al final del objecto cuando falle, pero es un poco chapuza... lamento no poder serte de mas ayuda...
buen ejemplo
Sattel desde Amalfi Antioquia Colombia
Medellin Colombia
La ciudad mas innovadora del mundo!!!!!!!!

Muchas Gracias por responder, yo tengo un tiempito intentando y nada, en las opciones de mascara de los input se pueden poner ##### pero no deja introducir decimales, cualquier si logran hacer algo me avisan, porque por cuestion de estetica se vería muy bien con las letras bloqueadas o que pudieras bloquear los caracteres que quisieras, muchas gracias nuevamente, saludos
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.

#,###.##
Imagen

Agotaras123 escribió: #,###.##


eso no funciona :hypno:
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.

Thanks

Very good Ceone .

Or by this code in On Char :

function IsNumeric(sValueIn)--Worm Function --I think this is a sagacity in trick!
        if String.Length(string.gsub(sValueIn, "[1234567890]", "")) == 0 then
                return true
        else
                return false
        end
end
bTF =IsNumeric(Input.GetText("Input1"));
if bTF then
        Dialog.Message("", "true = it is numerical");
        else
        Dialog.Message("", "false = it is not numerical");
end
Parsed in 0.003 seconds, using GeSHi 1.0.8.9
Imagen

abood1987 escribió: Very good Ceone .

Or by this code in On Char :

function IsNumeric(sValueIn)--Worm Function --I think this is a sagacity in trick!
        if String.Length(string.gsub(sValueIn, "[1234567890]", "")) == 0 then
                return true
        else
                return false
        end
end
bTF =IsNumeric(Input.GetText("Input1"));
if bTF then
        Dialog.Message("", "true = it is numerical");
        else
        Dialog.Message("", "false = it is not numerical");
end
Parsed in 0.002 seconds, using GeSHi 1.0.8.9


Esta muy bien abood , pero en vez del conjunto de patrones "[1234567890]" con "%d" ya estaria correcto.

rafaxplayer escribió: "[1234567890]" con "%d" ya estaria correcto.


thank very much rafax ;) :friends:
Imagen

Hello again :friends:


you Can also do that by MemoryEx Action Plugin v 2.1.0.0 Look at this topic to downLoad viewtopic.php?f=15&t=1715

this is an example apz :

Contenido Oculto: ON
	<br />Usted necesita responder en este tema para ver el contenido oculto.


Note : First download MemoryEx Action Plugin v 2.1.0.0 and put it in this path

Offtopic:
"C:\Program Files\AutoPlay Media Studio 8\Plugins\Actions"
Imagen

Muchísimas Gracias a todos me funcionó excelente... al final lo necesitaba así:

function IsNumeric(sValueIn)--Worm Function --I think this is a sagacity in trick!
        if String.Length(string.gsub(sValueIn, "[1234567890.]", "")) == 0 then
                return true
        else
                return false
        end
end
bTF =IsNumeric(Input.GetText("Input1"));
if bTF then
       
        else
        Dialog.Message("Error", "Introduzca un valor numerico valido");
     
   Input.SetText("Input1", "");

end
Parsed in 0.002 seconds, using GeSHi 1.0.8.9
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.

Lo unico malo es que limpia es el input completo en vez del valor no permitido
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.

Bueno yo he estado trasteando un ratillo y al final he sacado esto:

function IsNumeric(char)
      local b;
        for x = 1,10 do
                if( String.Char(char) == tostring(x) or String.Char(char) == "0")then-- si el char es numerico 1234567890
                       b =true;
                       break; --rompemos bucle
                       
                else-- si no lo es retrona falso
                       b=false;
                   
                end
        end
        return b;--retorno bool
end


function deletelastchar(objInput)-- funcion para borrar el ultimo caracter del input, menudo royo hay que montar en AMS pa esta tarea de mierda :P
        s = Input.GetText(objInput);-- gettext
        Input.SetSelection(objInput,s:len(),-1);-- selccionamos ultimo caracter
        Input.Delete(objInput);-- delete...
end


b=IsNumeric(e_Char);-- comprobamos si e_char es nuemrico o no.

if  b == false then--Si es falso el retorno de IsNumeric , el valor no es nuemrico

        deletelastchar(this);-- eliminamos ultimo caracter.
       
end
Parsed in 0.003 seconds, using GeSHi 1.0.8.9


Con este codigo en el evento On char del input , conseguimos que cuando el carácter no sea numérico simplemente lo borre , si queréis dar algún mensaje solo tenéis que usar el retorno de la funcion isnumeric para filtrar.

Ahora se me ocurre que a lo mejor copiando bloque de texto no funcione correctamente, pero tecleando caracteres uno a uno si ;P un saludote.

Muchas Gracias lo probaré enseguida
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.
No me funciona :) lo selecciona pero no lo borra
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.

bueno te lo borra en cuanto escribes el siguiente carácter , luego lo mirare de afinar mas haber si puedo ;)

thanks

Si vaaa, muchas gracias, tambien me acabo de dar cuenta que no me deja poner decimales
Si cada día intentamos hacer o aprender algo nuevo, adquirimos conocimientos y al hacerlo tenemos una ventaja sobre aquellas personas que no lo hacen, ¿haz intentado aprender algo nuevo hoy???
By Dimatiguz.

dimatiguz escribió: Si vaaa, muchas gracias, tambien me acabo de dar cuenta que no me deja poner decimales


si.... ya... en mi respuesta lo pongo bien claro, kizas usando el plugin Memory se podria hacer algo... seria cuestión de mirarlo...
34 mensajes Página 1 de 2

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron