ARCHIVador
Descripción del contenido de la página
Programa escrito en SuperBASIC para traducir ficheros de datos de Archive a Flashback.
La Sinclair QL venía con un paquete de ofimática bastante avanzado para su época. Uno de los programas que lo componían era la base de datos Archive. Archive era un programa muy interesante que tenía su propio lenguaje de programación para escribir aplicaciones. Escribí algunas aplicaciones para Archive, pero sólo conservo unas pocas muestras. Años después apareció una base de datos más sofisticada y con un enfoque muy diferente: Flashback.
El siguiente programita en SuperBASIC lo escribí en su día para traducir un informe de Flashback en un fichero que Archive pudiera importar en una base de datos. El código está escrito a medida de una necesidad concreta, un cierto fichero con determinados campos de datos, pero cambiando el valor de algunas variables y modificando algunas instrucciones es posible generalizarlo.
Código fuente
100 REMark ARCHIVador
110 :
120 REMark Programa para convertir en
130 REMark un fichero importable por
140 REMark Archive los datos de un
150 REMark informe de Flashback
160 :
170 REMark Copyright (C) 1990 Marcos Cruz (http://programandala.net)
171 REMark Licencia/License: http://programandala.net/license
172 :
175 REMark 1990-12-22
180 :
190 comi$='"'
200 coma$=","
210 fichero_fuente$="ram1_libroj_rep"
220 fichero_destino$="ram1_libroj_exp"
230 campos=8
240 registros=15
250 :
260 OPEN_IN#3,fichero_fuente$
270 OPEN_NEW#4,fichero_destino$
280 :
290 PRINT#4,comi$;"auxtoro$";comi$;
300 PRINT#4,coma$;comi$;"titolo$";comi$;
310 PRINT#4,coma$;comi$;"eldonejo$";comi$;
320 PRINT#4,coma$;comi$;"eldonloko$";comi$;
330 PRINT#4,coma$;comi$;"jaro";comi$;
340 PRINT#4,coma$;comi$;"temo$";comi$;
350 PRINT#4,coma$;comi$;"numero";comi$;
360 PRINT#4,coma$;comi$;"posedanto$";comi$
370 :
380 FOR registro=1 TO registros
390 CLS
400 PRINT registro
410 INPUT#3,auxtoro$,titolo$,eldonejo$,eldonloko$,jaro$,temo$,numero$,posedanto$
420 PRINT auxtoro$\titolo$\eldonejo$\eldonloko$\jaro$\temo$\numero$\posedanto$
430 IF jaro$=" ":jaro$=""
440 IF jaro$="Norv":jaro$="0":eldonloko$=eldonloko$&", Norvegio"
450 IF LEN(jaro$)
460 jaro=jaro$
470 ELSE
480 jaro=0
490 END IF
500 numero=numero$
510 PRINT#4,comi$;auxtoro$;comi$;
520 PRINT#4,coma$;comi$;titolo$;comi$;
530 PRINT#4,coma$;comi$;eldonejo$;comi$;
540 PRINT#4,coma$;comi$;eldonloko$;comi$;
550 PRINT#4,coma$;jaro;
560 PRINT#4,coma$;comi$;temo$;comi$;
570 PRINT#4,coma$;numero;
580 PRINT#4,coma$;comi$;posedanto$;comi$
590 END FOR registro
600 :
610 PRINT#4,CHR$(26)
620 CLOSE#3
630 CLOSE#4
640 :
650 DEFine PROCedure salvar
660 SAVE_O flp2_archivador_bas
670 END DEFine