Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Como Guardaban Los Datos Los Antiguos Basic De Los 8 Bits
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Martes, 02 Junio 2020, 10:03; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Gambas2: 32 ó 64 Bits jsbsan General 2 Sabado, 16 Abril 2011, 21:40 Ver último mensaje
jsbsan
No hay nuevos mensajes ¿ Podemos En Basic Pasar Una Función Com... Shell General 10 Martes, 14 Julio 2015, 13:45 Ver último mensaje
Shell
No hay nuevos mensajes Soporte Para Ordenadores Antiguos Shell Mundo Linux 1 Martes, 25 Septiembre 2018, 12:55 Ver último mensaje
Guizans
No hay nuevos mensajes Gambas En Windows 10 64 Bits tercoIDE Instalación 9 Martes, 19 May 2020, 23:18 Ver último mensaje
tercoIDE
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron