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

variable dinamica

Estas en el tema de variable dinamica en el foro de Visual Basic clásico en Foros del Web. se que es una bobada pero, aunque llevo programando mucho tiempo, nunca me habia encontrado con un caso asi. vereis tengo un programa que ha ...
  #1 (permalink)  
Antiguo 05/08/2005, 19:09
 
Fecha de Ingreso: enero-2005
Ubicación: Canarias, España
Mensajes: 217
Antigüedad: 19 años, 3 meses
Puntos: 0
variable dinamica

se que es una bobada pero, aunque llevo programando mucho tiempo, nunca me habia encontrado con un caso asi.

vereis tengo un programa que ha de acceder al mismo fichero de texto que se encuentra en 12 carpetas distintas, y ha de guardar en un textbox diferente el ocntenido de cada fichero.

para acceder a los ficheros he usado este codigo:

Código:
Private Sub Form_Load()
'las variables se encuentran declaradas en un modulo.
For planeta = 1 To 12 
Open App.Path & "\Datos\universo\siscar" & siscar & "\planeta" & planeta & "\usuario.universus" For Input Access Read As #planeta ' Abre el archivo.
			Do Until EOF(planeta)
				Line Input #planeta, vartexto 'leemos el fichero Línea a Línea.
			Loop
		Close #planeta
	 usuario1.Text = user
	 usuario2.Text = user
Next planeta
End Sub
y mi intencion es que la variable user vaya siendo distinta para que en cada caso se almacene el contenido de un fichero distinto.

podeis ayudarme??? es que sino me temo que me tocara hacerlo uno a uno y no me gusta la idea.

un slaudo y mil gracias por adelantado
__________________
Solo hay algo seguro: la infinita inseguridad de la seguridad.

Última edición por swaze; 06/08/2005 a las 03:14
  #2 (permalink)  
Antiguo 05/08/2005, 20:52
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 1 mes
Puntos: 17
No te explicas adecuadamente...

Primero, que usas variables sin declarar ni explicar, como user o vartexto
Segundo, que dejas variables sin usar, como I
Tercero, que en el bucle de lectura, o yo tengo sueño o estas sobreescribiendo todo el rato vartexto y sólo te quedas con la última línea...
Cuarto, que usas vartexto para luego simplemente meterlo en user

Corrige ese código... ;)

Lo que necesitas no es una variable dinámica, sino un array de controles TextBox, para hacer:

usuario(planeta) = user
  #3 (permalink)  
Antiguo 06/08/2005, 03:12
 
Fecha de Ingreso: enero-2005
Ubicación: Canarias, España
Mensajes: 217
Antigüedad: 19 años, 3 meses
Puntos: 0
muchas gracias por tu pronta respuesta.

HE cometido un error, no explique adecuadamente la situacion :) las variables estan definidas en un modulo a parte.

la variable I, es un fallo mio, se me colo de un intento de implementacion anterior.

en cuanto a vartexto, el archivo de texto solo posee una linea, por eso no use una segunda variable de almacenaje.

lo de que uso simplemente vartexto para meterlo en user es la parte que quiero arreglar, mi intencion era que user fuera cambiando por eso ahi aparece simple

eso si :$ me faltan los comentarios, son un torpon y siempre los pongo al final jejejejeej

Osea que lo mejro quep uedo usar es un array de controles?? nunca habia hechado mano de ellos :)

Muchas gracias por la ayuda, ahora mismo me pongo con ello :)

un saludo y mil gracias nuevamente

swaze
__________________
Solo hay algo seguro: la infinita inseguridad de la seguridad.
  #4 (permalink)  
Antiguo 06/08/2005, 06:13
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 1 mes
Puntos: 17
Si el fichero sólo tiene 1 línea, ¿entonces por qué haces un bucle hasta EOF? Tengo entendido que Line Input obtiene la línea de una vez...

Bueno el código no puedo decir mucho porque no sé todo lo de las variables, tendrás tus razones...

Hay más maneras, pero si lo único que quieres es copiar en 12 TextBox (siempre en 12) cada fichero, pues un array de controles es la mejor opción.

De nada ;)
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 20:15.