Foros del Web » Programando para Internet » ASP Clásico »

otro problema con comparación de cadenas (esta no la vi en los post)

Estas en el tema de otro problema con comparación de cadenas (esta no la vi en los post) en el foro de ASP Clásico en Foros del Web. Hola a todos, estuve buscando en los posts pero no encontré la respuesta asi que posteo mi pregunta: Necesito comaprar un valor ingresado por un ...
  #1 (permalink)  
Antiguo 25/10/2005, 11:53
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
Pregunta otro problema con comparación de cadenas (esta no la vi en los post)

Hola a todos, estuve buscando en los posts pero no encontré la respuesta asi que posteo mi pregunta:

Necesito comaprar un valor ingresado por un usuario en una consulta con un formato. Bueno, la cosas es así, neecsito obtener la cantidad de consultas válidas de todas las consultas. El dato q debería ingresar el usuario en la consulta tiene este formato xxxxxxxx-05 donde los x's son números, pero dentro de los x (q en total son 8 x's) pueden haber ceros para completar el número, por ejemplo si es el código 1 será así: 00000001-05 y si es el 3333 será así xxxx3333-05. Como verán mi problema es comparar que el número ingresado por el usuario tenga ese formato. Alguien podría ayudarme por favor?? Muchas gracias de antemano.
__________________
Tarecito
  #2 (permalink)  
Antiguo 25/10/2005, 12:01
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Hola,

Puedes utilizar la funcion instr que te devolvera la posicion del caracter dentro de la cadena, se me ocurre que puedes buscar el "-"

cadena = "00000000-xxx"
prefijo = instr(1, cadena, "-")

y de ahi hacer tus calculos, tambien puedes hacerlo para los ultimos 3 numeros con la funcion instrRev que hace lo mismo pero de atras para adelante.

http://www.oohforsale.com/VBScript/InStr.htm

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 25/10/2005, 13:21
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
hola u_goldman, creo q no me has entendido... los ultimos 3 caracteres son fijos (-05) los demás tiene q ser 8 digitos pero lo q no se verificar es el numero de ceros ("0") ya que la cantidad de ceros depednera del tamaño del numero entero, si el numero entero tiene un digito entonces le fataran 7 ceros, pero si el numero entero tiene 4 digitos le faltaran 4 ceros, ese es mi problema. Por ejemplo, si el usuario ingresa este número 01003030-05, tiene 11 digitos, termina en "-05" pero no es un numero valido xq el segundo digito es un 1 y debería ser un cero
__________________
Tarecito
  #4 (permalink)  
Antiguo 25/10/2005, 13:30
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
La verdad es que no entiendo el criterio que estas usando para discriminar los numeros, porque para mi 1003030 tambien es un entero...
De cualquier forma hay varias opciones a considerar en lo que quieres hacer

1. Que el numero antes del guion tenga 8 caracteres instr, len
2. Que estos caracteres sean numericos (un ciclo contra un arreglo de numeros [len] )
3. Despues el criterio que uses para discriminar los numeros que es lo que no he entendido bien.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #5 (permalink)  
Antiguo 25/10/2005, 13:33
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
a ver... el criterio es el siguente, el numero antes del guión debe tener 8 digitos PERO los ceros debe ser usados para completar los 8 digitos. Creo q use mal el termino entero pero esa es la idea.
__________________
Tarecito
  #6 (permalink)  
Antiguo 25/10/2005, 13:36
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Es decir, solo ceros a la izquierda del numero?

Por lo tanto

00000101
No seria un numero valido?

00000011
Si es un numero valido?
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 25/10/2005, 14:06
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
pues eso depende, si existe el 101 (q de hecho si existe xq ya van por el registor numero 4000) si es valido.... si no existe no es valido
__________________
Tarecito
  #8 (permalink)  
Antiguo 25/10/2005, 14:55
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues entonces no entiendo nada, pero bueno, cada quien su cuento, basicamente la solucion es esa, cuenta cuantos caracteres antes del guion y valida conforme a tus criterios, puedes utilizar un for y un mid para cortar la cadena caracter por caracter y validarla.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #9 (permalink)  
Antiguo 26/10/2005, 11:02
Avatar de Tarecito  
Fecha de Ingreso: noviembre-2003
Ubicación: Lima - Perú
Mensajes: 443
Antigüedad: 20 años, 6 meses
Puntos: 1
mmmmmmm, probaré con lo q me dices... gracias
__________________
Tarecito
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:35.