Si, ya se que no tiene que ver con gambas, pero si con el basic en general, un basic algo más antiguo.
Vosotros habréis tenido un ordenador de 8 bit. Muchos de los que estamos aquí ya tenemos más de 30. En fin, no me refiero si tuvisteís un Spectrum,
un Amstrad, Commodore, Msx....etc,etc.
Vamos a ver, en estos ordenadores teníamos la sentencia "DIM", igual que hoy lo tenemos en gambas traído de otra época y algo que se usaban eran
los "DATAS".
Al igual que en gambas, podíamos tener arrays de una dimensión, de dos, etc. Estos podían contener números o cadenas.
Voy por el problema que quiero plantear.
Los arrays necesitaban definirse sus dimensiones. En un Spectrum y probablemente en otro ocho bit , si yo quería guardar cinco nombres de una longitud máxima
de caracteres tenía que definir el array de tal manera como esta:
Citar:
Algo curioso es que la variable no podía exceder de un carácter cuando hablábamos de cadenas, cosa que en Commodore, si y en Dragon igual..
Ok. Para guardar el array se guardaba de la siguiente forma: (Al menos en cinta ).
Citar:
A la hora de cargar esos datos no tenemos por que usar el mismo nombre del array. n$, pero si tenemos que dimensionar el array
donde se va almacenar los datos cargados con el mismo número de dimensiones....
Pero tan solo puede grabar lo que dice el array 5 elementos que miden 30 caracteres.
Recordar que hay dimensionar el array.
Entonces, ¿ que pasa si yo hubiese querido añadir ahora un sexto nombre ?¿?¿?.
Y si yo hago trampa al cargarlo y hago algo como esto: Le añado un elemento más.
Citar:
Ahora le digo que cargue el array..
No necesito decirle el nombre, suponiendo que tan solo tengo un archivo.
En este caso he cambiado el nombre del array y le puse e$ que es el voy
a usar en otro programa.
Citar:
Pues al definir un nuevo elemento. Algo como asignar así, en Spectrum se usaba LET, en otros microordenadores no era necesario.
Citar:
(Puede que la segunda dimensión no sea necesaria)
El interprete nos saltaba con error de subindice incorrecto!!.
¿ Sabéis cual era la solución ?.
Cuando se definían los arrays se pretendía siempre "saber" de antemano cuantos elementos iba a tener siempre el array!!.
Entonces, podíamos tener 100 aunque solo usáramos 6, tendríamos un límite de 100. Ademas es que te obligaba a definir
el número de elementos por narices.
¿ Saben o recuerdan si existían otras formas para la época ?. Desde Basic me parece que no.
Saludos