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:
Private Sub CargarText(Archivo As String)
Dim Todo As String, Partes() As String, Fichero As Integer
' Cargamos todo el contenido del Archivo indicado
Fichero = FreeFile
Open Archivo For Input As #Fichero
Line Input #Fichero, Todo
Close #Fichero
' Dividimos en Partes los datos cargados
Partes = Split(Todo, "<<")
' Colocamos en cada Text sus datos, tantos Text como Partes
titulo.Text = Partes(0)
Descripcion.Text = Partes(1)
nombre.Text = Partes(2)
mail.Text = Partes(3)
tel1.Text = Partes(4)
tel2.Text = Partes(5)
cuando.Text = Partes(6)
cuando1.Text = Partes(7)
duracion.Text = Partes(8)
End Sub
PARA GUARDAR EN EL FICHERO:
Private Sub guardar_Click()
Dim foo As Integer
foo = FreeFile
Open "C:\Archivo.txt" For Output As #foo
Print #foo, titulo.Text; "<<"; Descripcion.Text; "<<"; nombre.Text; "<<"; mail.Text; "<<"; tel1.Text; "<<"; tel2.Text; "<<"; cuando.Text; "<<"; cuando1.Text; "<<"; duracion.Text
Close #foo
End Sub
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
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]
la linea que resalta cuando da el error es
Private Sub CargarText(Archivo As String)
sorry no sabia que code se usaba para postear
Fíjate que no tengas 2 veces una función llamada CargarText :P
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)
En el código que pusiste no hay ninguna llamada a CargarText, limpia tu código y revisa rutina por rutina :P
ah vale entiendo...
deberia llamarlo desde el boton poniendole cargartext()
pero estoy muy obtuso y me da ambiguedad...
como deberia llamarlo?
Prueba poniendo sinónimos tipo LoadText o agregando diferencias por ej "CargarText2" :P
no te entiendo.... no llevo mucho en esto de visual si me puedes decir mas concreto...
graciass por la ayuda ;)
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!!!
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.
'Función Api Sleep Para generar una espera o retardo de tiempo
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub CargarText(Archivo As String)
Dim Todo As String, Partes() As String, Fichero As Integer
' Cargamos todo el contenido del Archivo indicado
Fichero = FreeFile
Open Archivo For Input As #Fichero
Line Input #Fichero, Todo
Close #Fichero
' Dividimos en Partes los datos cargados
Partes = Split(Todo, "<<")
' Colocamos en cada Text sus datos, tantos Text como Partes
titulo.Text = Partes(0)
Descripcion.Text = Partes(1)
nombre.Text = Partes(2)
mail.Text = Partes(3)
tel1.Text = Partes(4)
tel2.Text = Partes(5)
cuando.Text = Partes(6)
cuando1.Text = Partes(7)
duracion.Text = Partes(8)
End Sub
Private Sub abrir_Click()
dim Archivo as string
Archivo="c:/Archivo.txt"
CargarText(Archivo)
End Sub
Private Sub Command1_Click()
WebBrowser1.Navigate2 Text1.Text
End Sub
Private Sub Command2_Click()
WebBrowser1.SetFocus
'SendKeys ("hola")
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate2 ("http://www.google.es")
End Sub
Private Sub Text2_Change()
End Sub
Private Sub guardar_Click()
Dim foo As Integer
foo = FreeFile
Open "C:\Archivo.txt" For Output As #foo
Print #foo, titulo.Text; "<<"; Descripcion.Text; "<<"; nombre.Text; "<<"; mail.Text; "<<"; tel1.Text; "<<"; tel2.Text; "<<"; cuando.Text; "<<"; cuando1.Text; "<<"; duracion.Text
Close #foo
End Sub
alguna idea? es que ademas si uno de ellos es multilinea solo me coge la primera linea
HOLA!!!
Para abrir varios archivos vas a tener que modificar esta Parte:
Private Sub abrir_Click()
dim Archivo as string
Archivo="c:/Archivo.txt"
CargarText(Archivo)
End Sub
'Aca cambia lo de archivo = "c:\archivo.text" por algo mas dinamico
Para que te lea mas de una linea del archivo hace:
Open Archivo For Input As #Fichero
DO UNTIL EOF
INDICE = INDICE +1
Line Input #Fichero, Todo(INDICE)
LOOP
Close #Fichero
'Despues te queda todo guardado en el vector Todo.
GRACIAS POR LEER!!!