Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Fabricio en 11 Noviembre 2009, 15:14 pm



Título: Numeros dentro de una cadena
Publicado por: Fabricio en 11 Noviembre 2009, 15:14 pm
Hola a todos deseo saber si existe una funcion que me permita saber si hay uno o mas números dentro de una cadena
uso este codigo pero no me sirve
Código:
'en el txt ingreso e32er
text1.text = "e32er"
If Is Numeric(text1.text)  then 'esto no me funciona por que da falso por mas
                                                    'que la cadena tenga texto

gracias
saludos


Título: Re: Numeros dentro de una cadena
Publicado por: h0oke en 11 Noviembre 2009, 15:21 pm
Podrías indexar la cadena, a partir de ello crear un string con los números, una lista de números, o simplemente si existe al menos un número devolver true.


Título: Re: Numeros dentro de una cadena
Publicado por: Novlucker en 11 Noviembre 2009, 15:23 pm
Estas comparando una cadena, y debes de comparar caracteres

Código
  1. Dim Texto As String
  2. Dim i As Integer, contador As Integer
  3. contador = 0
  4.  
  5. Texto = "e32er"
  6.  
  7. For i = 1 To Len(Texto)
  8. If IsNumeric(Mid(Texto, i, 1)) Then
  9. contador = contador + 1
  10. End If
  11. Next
  12.  
  13. MsgBox "Se han encontrado " & contador & " caracteres numéricos en el texto"

Saludos


Título: Re: Numeros dentro de una cadena
Publicado por: Fabricio en 11 Noviembre 2009, 15:53 pm
Hola gracias por responder
la solucion de determx no la entendi  :huh: igual te agradezco el haberme respondido

la solucion de Novlucker  ya lo habia pensado pero mi pregunta se referia a si existe una función propia de VB 6 que haga lo que Novlucker plantea o sea tomar la cadena y ver si hay un numero

gracias
saludos


Título: Re: Numeros dentro de una cadena
Publicado por: h0oke en 11 Noviembre 2009, 15:56 pm
Me refería a lo que hizo Novlucker. El indexado de una cadena, es separarla por caracteres, luego puedes ir almacenando cada caracter que cumpla la condición (IsNumeric), en una lista, o concatenarlo en un string, o solo devolver true o false, o devolver la cantidad de caracteres, como hizo Novlucker.

Un saludo!


Título: Re: Numeros dentro de una cadena
Publicado por: Fabricio en 11 Noviembre 2009, 16:13 pm
Existe una función propia de VB 6 que haga lo queuds plantean o sea pasarle la cadena y que me devuelva true o false segun si la cadena tiene un numero o no


Título: Re: Numeros dentro de una cadena
Publicado por: h0oke en 11 Noviembre 2009, 16:26 pm
La verdad no la conozco. A lo sumo se me ocurre utilizar val() en una función definida por ti.


Título: Re: Numeros dentro de una cadena
Publicado por: Fabricio en 11 Noviembre 2009, 17:00 pm
Si yo tambien busque en la web y no encontre
 gracias
saludos


Título: Re: Numeros dentro de una cadena
Publicado por: BlackZeroX (Astaroth) en 11 Noviembre 2009, 18:43 pm
no existe lo que se pide pides


Título: Re: Numeros dentro de una cadena
Publicado por: cobein en 11 Noviembre 2009, 19:17 pm
Código:
Private Sub Form_Load()
    Dim sVal As String

    sVal = "ad123123ssss"

    Debug.Print sVal Like "*#*"

    sVal = "adssss"

    Debug.Print sVal Like "*#*"
End Sub


Título: Re: Numeros dentro de una cadena
Publicado por: ssccaann43 © en 11 Noviembre 2009, 19:23 pm
Jajajaja... Buenisimo Cobein...!


Título: Re: Numeros dentro de una cadena
Publicado por: Lewert en 11 Noviembre 2009, 19:56 pm
.


Título: Re: Numeros dentro de una cadena
Publicado por: Fabricio en 11 Noviembre 2009, 20:13 pm
muchas gracias a todos en especia a cobein voy a usar tu funcion
saludos