Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

ayuda urgente!!!!!

Estas en el tema de ayuda urgente!!!!! en el foro de Visual Basic clásico en Foros del Web. hola a tod@s, necesito vuestra ayuda. Tengo un array con separadores y los tengo que busar en una palabra, pero no me funciona bien, os ...
  #1 (permalink)  
Antiguo 01/09/2008, 11:32
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
ayuda urgente!!!!!

hola a tod@s, necesito vuestra ayuda.

Tengo un array con separadores y los tengo que busar en una palabra, pero no me funciona bien, os voy a poner un ejemplo.

tengo esto:

for c=0 to 2
sep=array(" ", "." ,";" )
tramo=split(direccion,sep(c))
next

si tengo este texto: calle america
me coge el espacio como caracter del array, pero si tengo: ca.lle America, primero me pilla el espacio porque en el array esta primero, pero me tiene que coger el punto y ya dejar de buscar.
es decir, recorrer la/s palabras y en el momento que me encuentre un separador del array que deje de buscar, sea cual sea el orden del array.

perdonad si no me explico bien, pero espero que me ayudeis, un saludo
  #2 (permalink)  
Antiguo 01/09/2008, 11:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: ayuda urgente!!!!!

Puedes usar Instr para saber cuál de los separadores está primero, y luego usar Split.

P.S.: Usa un tema más específico para tu duda, normalmente los "ayuda urgente" no son bien recibidos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 01/09/2008, 11:42
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

el instr lo uso, pero me dice la posicion donde esta el separador y me pasa lo mismo, los busca por orden del array no por orden en la palabra.
como puedo hacer eso que me dices¿ puedes decirme un ejemplo?

Gracias por el consejo del tema, es la primera vez que escribo aqui.
  #4 (permalink)  
Antiguo 01/09/2008, 11:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: ayuda urgente!!!!!

Pues como te dije, usamos el InStr para saber cuál separador está primero:
Código PHP:
Texto "ca.lle America"
sep = Array(" ""."";")
CurrentPos Len(Texto)
For 
Looping 0 To UBound(sep)
    
Find InStr(Textosep(Looping))
    If 
Find CurrentPos And Find 0 Then
        CurrentPos 
Find
        CurrentSep 
sep(Looping)
    
End If
Next Looping
tramo 
Split(TextoCurrentSep
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 01/09/2008, 11:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

el instr lo uso, pero me dice la posicion donde esta el separador y me pasa lo mismo, los busca por orden del array no por orden en la palabra.
como puedo hacer eso que me dices¿ puedes decirme un ejemplo?

Gracias por el consejo del tema, es la primera vez que escribo aqui.
  #6 (permalink)  
Antiguo 01/09/2008, 11:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

vale muchas gracias, entonces aqui me cogeria primero el punto no?? muchas gracias de verdad
  #7 (permalink)  
Antiguo 01/09/2008, 11:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: ayuda urgente!!!!!

Exacto, pues lo que hacemos es ver cuál de los separadores está primero.

Lo principal es que entiendas lo que estamos haciendo con el código, si tienes alguna duda sobre cómo funciona me avisas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #8 (permalink)  
Antiguo 01/09/2008, 12:17
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

podrias recordarme como se inicializa un array en visual basic?? estoy un poco pez hace mucho que no lo toco y con el codigo de antes no me funciona la inicializacion del vector, ASIAS!!!!
  #9 (permalink)  
Antiguo 01/09/2008, 12:21
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: ayuda urgente!!!!!

A mí me funciona el código sin problemas .

¿A cuál array te refieres?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 01/09/2008, 12:24
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

pongo esto:

Dim sep As Array
Dim currentpos, pos, currentsep As Integer
Texto = "ca.lle America"
sep = (" ",".",";")
y me subraya " " como q no se puede declarar asi
  #11 (permalink)  
Antiguo 01/09/2008, 12:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: ayuda urgente!!!!!

Defínelo directamente como Variant .

CurrentSep es String.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #12 (permalink)  
Antiguo 01/09/2008, 12:36
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

Dim sep As VariantType
Dim currentpos, pos, currentsep As Integer
Texto = "ca.lle America"
sep = ("-",".",";")

CurrentPos = Len(Texto)
For i = 0 To UBound(sep)

me subraya la coma de los separadores y (Sep) pfff que lio
  #13 (permalink)  
Antiguo 01/09/2008, 12:40
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: ayuda urgente!!!!!

Así:
Código PHP:
Dim sep As Variant
Dim CurrentPos 
As Byte ' Byte ocupa menos memoria '
Dim CurrentSep As String 'Un texto de un solo carácter '
Dim Texto As String
Texto 
"ca.lle America"
sep = Array("-""."";"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #14 (permalink)  
Antiguo 01/09/2008, 12:44
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

me subraya: sep = Array("-", ".", ";")
dice que array es un tipo y no se puede usar como expresion
  #15 (permalink)  
Antiguo 01/09/2008, 12:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: ayuda urgente!!!!!

¿Qué versión de Visual Basic estás usando?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #16 (permalink)  
Antiguo 01/09/2008, 13:01
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

visual basic 2005
  #17 (permalink)  
Antiguo 01/09/2008, 13:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: ayuda urgente!!!!!

En ese caso las cosas cambian completamente.
El array deberías definirlo así:
Código PHP:
Dim sep As String() = { "-""."",""; "
Y para buscar usar IndexOf en vez de InStr.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 01/09/2008, 13:39
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: ayuda urgente!!!!!

Muchisimas gracias !!! de verdad !! me as solucionado el problema, muchisimas gracias por tu gran ayuda
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 00:16.