Uso del for para 'analizar' frases (><)

Iniciado por WestOn, 4 Noviembre 2008, 18:09 PM

0 Miembros y 1 Visitante están viendo este tema.

WestOn

Wenas, tengo una duda sobre como hacer esto:
Tenemos una frase cualquiera: hola, que pasa que te cuentas
¿Como puedo hacer para que analize cada letra de la frase?
Ya vi que se puede hacer con un for pero no lo consigo....

un saludo;)
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

krackwar

algo asi?

For i = 1 To Len(Text1.Text)
MsgBox Mid(Text1, i, 1)
Next i
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

WestOn

Wenas, el ejemplo tal cual lo has puesto es justo lo q queria, grax :D
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

krackwar

Cita de: WestOn en  4 Noviembre 2008, 18:27 PM
Wenas, el ejemplo tal cual lo has puesto es justo lo q queria, grax :D
Que bueno que te aalla servido  ;)
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

WestOn

#4
Hola de nuevo, tengo una duda con el code de antes:
Para coger letra por letra no hay problemas me va muy bien, pero si tengo esto:
Private Sub Command2_Click()
For i = 1 To Len(Text2.Text)
a = Mid$(Text2, i, 1)
If a = "01000001" Then
...

Si pongo ese numero por ejemplo no me lo saca, quiero decir que con el ejemplo anterior reconoce letra por letra, pero ¿como haria para que usando el for de antes, (u otro), pudiese identificar el numero de arriba?
¿Quiza haciendo que se pare para 'analizar' cada vez que haya un espacio, y luego seguir?

un saludo ;)
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

Novlucker

No entiendo... estas buscando una palabra dentro de una cadena?
Por ejemplo... buscar si esta la palabra "fuga", dentro la fase, "ha habido una fuga"?
Porque para eso esta la función instr  :-\
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

WestOn

mmm creo q se me a ido la cabeza :rolleyes:, pero voy a aclarar lo q quiero hacer:
Identificar el numero '028736' en "293759 394856 028736 187357", pero como hay mas numeros hacer un for para que vaya uno a uno:
Primero 293759
Segundo 394856
y asi hasta el final

un saludo
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

Novlucker

Entonces es lo que he dicho.. porque no utilizar la función instr :huh:
Código (vb) [Seleccionar]
msgbox instr(1,"293759 394856 028736 187357","028736",1)

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein

WestOn

wenas, con InStr lo usaria asi:
i = InStr(1, Text1.Text, "028736", 1)
¿Pero si el numero se repite? si pasa esto:
028736 349812 569309 028736 982301 759836
Solo detectaria lo detectaria al principio, el siguiente numero igual a el no lo reconoce...nose si me explico bien :xD
grax de antemano
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

Novlucker

#9
Claro, porque el instr devuelve la primer coincidencia, y hace referencia, al primer caracter de la palabra buscada.... para eso tienes que utilizar un bucle

Código (vb) [Seleccionar]

i=1
do
e = InStr(i, Text1.Text, "028736", 1)
if e > 0 then
msgbox "coincidencia en " & e
i = e + 1
else
exit do
end if
loop


Saludos  ;)
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein