Como Guardaban Los Datos Los Antiguos Basic De Los 8 Bits


Objetivo: Como Guardaban Los Datos Los Antiguos Basic De Los 8 Bits
Buenas!.

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:

DIM n$(5,30)


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:

SAVE "datos" DATA n$()


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:

DIM e$(6,30)


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:

LOAD "" DATA e$()


Pues al definir un nuevo elemento. Algo como asignar así, en Spectrum se usaba LET, en otros microordenadores no era necesario.

Citar:

LET e$(6,30)="Manuel"


(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

última edición por Shell el Martes, 02 Junio 2020, 10:03; editado 1 vez
Objetivo: Re: Como Guardaban Los Datos Los Antiguos Basic De Los 8 Bits
Oye macho yo te voy a contestar mas tarde, yo en lo particular, borro mi memoria para dejar cosas nuevas entrar y sinceramente he programado mucho mucho en Basic pero a penas recuerdo ya código avanzado, se que lo explicas pero la pregunta es para alguien que lo tenga fresquito, recien sacado del frigo y yo, ya no me acuerdo.

Lo miro y contesto, prometido.

Saludos. Anda que estas hecho un perla

Perfil MP  
Objetivo: Re: Como Guardaban Los Datos Los Antiguos Basic De Los 8 Bits
Buenas!.

Para los que quiera pasar el rato . El vídeo es largo. Os explicará como eran aquellos DIM de otras épocas.
No resuelve mi pregunta, ya que no tiene mucha solución...como se llamaba aquel programa. "Mas vale prevenir"..
el número de elementos del array.

Lo que no tenía ni idea que un array numérico ocupase más "bytes" que un alfanumérico. Números más que letras...
Alfa, 1 byte y las numéricas 5 byte. Minuto 20 más o menos.


Link


Saludos

Objetivo: Re: Como Guardaban Los Datos Los Antiguos Basic De Los 8 Bits
Shell escribió: [Ver mensaje]
...Lo que no tenía ni idea que un array numérico ocupase más "bytes" que un alfanumérico. Números más que letras...
Alfa, 1 byte y las numéricas 5 byte. Minuto 20 más o menos.

Es interesante ver la página 28 del libro "A Beginner's Guide to gambas rfv3" ahi se muestran todos los usos de memoria de las variables de gambas.
Saludos.

Perfil MP  
Objetivo: Re: Como Guardaban Los Datos Los Antiguos Basic De Los 8 Bits
Tincho:

Citar:

Es interesante ver la página 28 del libro "A Beginner's Guide to gambas rfv3" ahi se muestran todos los usos de memoria de las variables de gambas.


Si, viene en la tabla. No veas la Variant 12 bytes....un puntero tambien ocupa lo suyo, bytes.

Pero desde el punto de vista de ocupar por espacio en memoria con los equipos actuales a lo mejor nos debería preocupar.
Cuando eran equipos de pocos recursos, si.

Algo distinto es la velocidad de acceso a esos tipos de variables. Que eso si que influye.

Saludos


Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4188s (PHP: -81% SQL: 181%)
Consultas SQL: 46 - Debug off - GZIP Activado