RE: [java-l] saber si un caracter es numerico o alfabetico

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

        EndIf

    EndFor

    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

federico.marin@uy.sonda.com

www.sonda.com

 

 

 

 

 

 

 


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

 



--- El mar 1-jun-10, Pedro Elicegui <desa@fucac.com.uy> escribió:


De: Pedro Elicegui <desa@fucac.com.uy>
Asunto: Re: [java-l] saber si un caracter es numerico o alfabetico
A: java-l@gxtech.com.uy
Fecha: martes, 1 de junio de 2010, 8:14

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

----- Original Message -----

Sent: Tuesday, June 01, 2010 8:00 AM

Subject: Re: [java-l] saber si un caracter es numerico o alfabetico

 

Gabriel,

 

Si te refieres al ingreso de datos, puedes usar PICS numéricos... por ejemplo

999,999.99

 

 


Saludos,
gab
Leave Facebook
http://www.quitfacebookday.com/


2010/5/31 Gabriel goyo <gabriel_mcv@yahoo.com.mx>

Estimados foristas:

 

Requiero su ayuda por una cuestion, estoy trabajando sobre GX 8 en abiente web generando con java. Tengo un Dataview hacia una tabla en un base de datos externa a mi apliacacion y cuyos datos debo actualizar desde una transaccion. Existe alguna propiedad en los atributos de una TRN la cual me permita hacer que un campo de tipo caracter acepte solo numeros??

 

Me puse a realizar una validacion que compruebe si una cadena de caracteres contiene solo numeros pero no se si hay una funcion de genexus que me permita saber si un caracter es numerico o alfabetico.

 

Espero me puedan ayudar

 

Saludos

Gabriel

Ing. Gabriel Goyo C.

Ingeniero de Sistemas

084171575

 


 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
Antes de imprimir, piense en el Medio Ambiente.  Before printing, think about the Environment.  Avant l'impression, il faut penser à l`Environnement
 
 
Nota de confidencialidad:
Este mensaje y todo documento adjunto puede contener información confidencial y protegida legalmente bajo secreto profesional. La transmisión de esta información es privada y está dirigida únicamente a la persona o entidad indicada, y su acceso por cualquier otra persona no está autorizado. Si usted ha recibido este mensaje por error, por favor infórmeselo al remitente y bórrelo.- Muchas Gracias.
 
Confidentiality Note:
This message and all attached documents may content information that is confidential and legally protected under professional secret. Its transmission is private and solely intended for the addressees and no one else is allowed to access. If you receive this message in error, please delete it and immediately notify the sender by e-mail. Thank-you.


 



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