Tomando el ejemplo de Pedro, se puede hacer esto:
Event Campo.IsValid
&Hasta = Campo.Length()
For &x = 1 to &hasta
&c = substr(campo, &x, 1)
&ascii = asc(&c)
If &c = str(val(&c))
Es numérico
Else
No es numérico
EndIfEndFor
If &error = 1
Campo.SetFocus()
EndIf
EndEvent
Explicacion: si &c es numerico distinto de '0' entonces val(&c) te devuelve un numero distinto de 0
Ejemplo: en caso de que &C = '32151' entonces val(&c) = 32151 por lo tanto su comparacion se cumple
Ejemplo contrario: en caso de que &C = '32151A' entonces val(&c) = 0 por lo tanto su comparacion es diferente
From: Federico.Marin@uy.sonda.com
To: java-l@gxtech.com.uy
Date: Tue, 1 Jun 2010 13:50:49 -0300
Subject: RE: [java-l] saber si un caracter es numerico o alfabetico
Una "solución" sería
If &caracter='0' or &caracter='1' or &caracter='2' or &caracter='3' or &caracter='4' (…) or &caracter='9'
Es numérico
Else
No lo es
EndIf
| | Federico Marín Analista GeneXus SONDA Uruguay +598 2 9089750 |
De: Gabriel goyo [mailto:gabriel_mcv@yahoo.com.mx]
Enviado el: martes, 01 de junio de 2010 10:59
Para: java-l@gxtech.com.uy
Asunto: Re: [java-l] saber si un caracter es numerico o alfabetico
| MUchas gracia Pedro, todo funcionaría de maravilla si no fuera por que tengo Genexus 8 y en esta version no existe la función ASC
Alguna otra idea que puedas compartir???
Gracias Gabriel Ing. Gabriel Goyo C. Ingeniero de Sistemas 084171575
se me ocurre una a ver si te gusta
podes hacer que despues de que ingrese el numero valide en una subrutina y chequearlo desde ahi o desde el mismo evento IsValid del control seria
event Campo.isvalid &Hasta=campo.length() for &x=1 to &hasta &c=substr(campo,&x,1) &ascii=asc(&c) if &ascii>57 or &ascii<48 //Hay un Caracter Presente &error=1 endif endfor if &error=1 campo.setfocus() endif endevent
no se si te deja trabajar tan libremente con el contenido del atributo en modo insert pero si no te deja usar las propiedades lenght() y eso lo cambias por una variable y lo asignas luego con una regla Campo=&Campo if insert and after(confirm) suerte, comentanos que tal te fue
Saludos,
Pedro Elicegui
|
Ahora Hotmail te da 25 GB gratis. El complemento de espacio que te estaba faltando. Descúbrelo aquí
0 Response to "RE: [java-l] saber si un caracter es numerico o alfabetico"
Publicar un comentario