Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: FresyMetal en 16 Agosto 2011, 13:06 pm



Título: error en codigo para abrir cadenas separadas
Publicado por: FresyMetal en 16 Agosto 2011, 13:06 pm
Hola buenos dias, estoy haciendo un form en el que guardo varios textbox en un fichero y tengo un problema a la hora de cargarlos
les paso el codigo por si pueden ver el fallo

para cargar desde el fichero:
Código
  1. Private Sub CargarText(Archivo As String)
  2.  Dim Todo As String, Partes() As String, Fichero As Integer
  3.  ' Cargamos todo el contenido del Archivo indicado
  4. Fichero = FreeFile
  5.  Open Archivo For Input As #Fichero
  6.     Line Input #Fichero, Todo
  7.  Close #Fichero
  8.  ' Dividimos en Partes los datos cargados
  9. Partes = Split(Todo, "<<")
  10.  ' Colocamos en cada Text sus datos, tantos Text como Partes
  11. titulo.Text = Partes(0)
  12. Descripcion.Text = Partes(1)
  13. nombre.Text = Partes(2)
  14. mail.Text = Partes(3)
  15. tel1.Text = Partes(4)
  16. tel2.Text = Partes(5)
  17. cuando.Text = Partes(6)
  18. cuando1.Text = Partes(7)
  19. duracion.Text = Partes(8)
  20.  
  21. End Sub
  22.  


PARA GUARDAR EN EL FICHERO:
Código
  1. Private Sub guardar_Click()
  2. Dim foo As Integer
  3.  
  4.    foo = FreeFile
  5.    Open "C:\Archivo.txt" For Output As #foo
  6.        Print #foo, titulo.Text; "<<"; Descripcion.Text; "<<"; nombre.Text; "<<"; mail.Text; "<<"; tel1.Text; "<<"; tel2.Text; "<<"; cuando.Text; "<<"; cuando1.Text; "<<"; duracion.Text
  7.    Close #foo
  8.  
  9. End Sub
  10.  
Espero me puedan ayudar por que al compilar dice:

El miembro ya existe es un modulo de objeto del que proviene este modulo de objeto


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: raul338 en 16 Agosto 2011, 13:11 pm
Podrías especificar mas? La linea del error? Al parecer tienes funciones con el mismo nombre o Controles que tienen el mismo nombre que algunas funciones o alguna variante de estas :P

Ese código debería funcionar :P


La próxima pon el código entre etiquetas: [code=vb][/code]


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: FresyMetal en 16 Agosto 2011, 13:14 pm
la linea que resalta cuando da el error es
Private Sub CargarText(Archivo As String)

sorry no sabia que code se usaba para postear


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: raul338 en 16 Agosto 2011, 13:16 pm
Fíjate que no tengas 2 veces una función llamada CargarText :P


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: FresyMetal en 16 Agosto 2011, 13:21 pm
ya lo he revisado y no esta llamada dos veces de hecho esta en un boton y no le llamo desde ningun otro sitio.....
pero no entiendo el por que da fallo....

Raul338 Edit: Te edite el codigo, agregaba poco y nada :P (2 eventos vacios y un navigate)


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: raul338 en 16 Agosto 2011, 13:25 pm
En el código que pusiste no hay ninguna llamada a CargarText, limpia tu código y revisa rutina por rutina :P


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: FresyMetal en 16 Agosto 2011, 13:32 pm
ah vale entiendo...
deberia llamarlo desde el boton poniendole cargartext()
pero estoy muy obtuso y me da ambiguedad...
como deberia llamarlo?


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: raul338 en 16 Agosto 2011, 13:36 pm
Prueba poniendo sinónimos tipo LoadText o agregando diferencias por ej "CargarText2" :P


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: FresyMetal en 16 Agosto 2011, 13:39 pm
no te entiendo.... no llevo mucho en esto de visual si me puedes decir mas concreto...
graciass por la ayuda ;)


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: 79137913 en 16 Agosto 2011, 13:46 pm
HOLA!!!

Bueno, mas concreto de lo que te lo esta diciendo no puede, lo que raul supone es que tenes dos procedimientos con el mismo nombre...

Si queres una solucion postea el codigo completo de tu aplicacion.

Suerte.

GRACIAS POR LEER!!!


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: FresyMetal en 16 Agosto 2011, 15:10 pm
aqui esta el codigo completo y solucionado:
lo unico es una duda como puedo hacer para que el archivo pueda cambiar de nombre?
me refiero a que pueda guardar varias fichas en distintos ficheros
para posteriormente abrirlos según interese.

Código
  1.  
  2.  
  3. 'Función Api Sleep Para generar una espera o retardo de tiempo
  4. Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  5.  
  6. Private Sub CargarText(Archivo As String)
  7.  Dim Todo As String, Partes() As String, Fichero As Integer
  8.  ' Cargamos todo el contenido del Archivo indicado
  9. Fichero = FreeFile
  10.  Open Archivo For Input As #Fichero
  11.     Line Input #Fichero, Todo
  12.  Close #Fichero
  13.  ' Dividimos en Partes los datos cargados
  14. Partes = Split(Todo, "<<")
  15.  ' Colocamos en cada Text sus datos, tantos Text como Partes
  16. titulo.Text = Partes(0)
  17. Descripcion.Text = Partes(1)
  18. nombre.Text = Partes(2)
  19. mail.Text = Partes(3)
  20. tel1.Text = Partes(4)
  21. tel2.Text = Partes(5)
  22. cuando.Text = Partes(6)
  23. cuando1.Text = Partes(7)
  24. duracion.Text = Partes(8)
  25.  
  26. End Sub
  27. Private Sub abrir_Click()
  28. dim Archivo as string
  29. Archivo="c:/Archivo.txt"
  30. CargarText(Archivo)
  31. End Sub
  32.  
  33. Private Sub Command1_Click()
  34. WebBrowser1.Navigate2 Text1.Text
  35. End Sub
  36.  
  37. Private Sub Command2_Click()
  38.  
  39. WebBrowser1.SetFocus
  40. 'SendKeys ("hola")
  41. End Sub
  42.  
  43.  
  44.  
  45. Private Sub Form_Load()
  46. WebBrowser1.Navigate2 ("http://www.google.es")
  47.  
  48. End Sub
  49.  
  50. Private Sub Text2_Change()
  51.  
  52. End Sub
  53.  
  54.  
  55. Private Sub guardar_Click()
  56. Dim foo As Integer
  57.  
  58.    foo = FreeFile
  59.    Open "C:\Archivo.txt" For Output As #foo
  60.        Print #foo, titulo.Text; "<<"; Descripcion.Text; "<<"; nombre.Text; "<<"; mail.Text; "<<"; tel1.Text; "<<"; tel2.Text; "<<"; cuando.Text; "<<"; cuando1.Text; "<<"; duracion.Text
  61.    Close #foo
  62.  
  63. End Sub
  64.  
  65.  


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: FresyMetal en 18 Agosto 2011, 11:40 am
alguna idea? es que ademas si uno de ellos es multilinea solo me coge la primera linea


Título: Re: error en codigo para abrir cadenas separadas
Publicado por: 79137913 en 18 Agosto 2011, 13:35 pm
HOLA!!!

Para abrir varios archivos vas a tener que modificar esta Parte:
Código
  1. Private Sub abrir_Click()
  2. dim Archivo as string
  3. Archivo="c:/Archivo.txt"
  4. CargarText(Archivo)
  5. End Sub
  6. 'Aca cambia lo de archivo = "c:\archivo.text" por algo mas dinamico
  7.  


Para que te lea mas de una linea del archivo hace:
Código
  1. Open Archivo For Input As #Fichero
  2.  DO UNTIL  EOF
  3.     INDICE = INDICE +1
  4.     Line Input #Fichero, Todo(INDICE)
  5.  LOOP
  6. Close #Fichero
  7. 'Despues te queda todo guardado en el vector Todo.
  8.  

GRACIAS POR LEER!!!