“PATHS” en el QL


Autor: Dilwyn Jones
Traducción y adaptación: afx

A raíz de nuestro anterior artículo (“Dispositivos DEV y el uso del comando DEV_USE” en la Gold Card) para adaptar el software antiguo a que se ejecute desde subdirectorios en discos duros o en discos de alta densidad, yo presentaré la segunda parte de este tratado de los dispositivos DEV. Esta vez mostraré cómo poner en práctica un mecanismo para simular las facilidades del PATH en un PC.

Esto significa que puedes teclear LOAD ‘miprograma’ sin tener que recordar o establecer el nombre del subdirectorio donde se encuentra ‘miprograma’. ¡Esto es fantásico! Pero entonces ¿por qué alguien no nos ha hablado de esto antes?

Básicamente, se necesita la combinación de dos facilidades disponibles en las tarjetas Gold Card. Normalmente solo funcionará con software que usan las facilidades de directorios por defecto DATA_USE o PROG_USE del Toolkit 2. El BASIC es un buen ejemplo de esto, puedes hacer un excelente uso de esta facilidad solo con el uso de los comandos LOAD o EXEC. Ten mucho cuidado con el uso de SAVE ya que podrías no saber dónde se ha guardado exactamente un fichero.

El manual de la Gold Card explica que mediante el uso de un tercer parámetro en el comando DEV_USE, puedes crear una cadena enlazada de nombres de dispositivos DEV. Así que, si intentas cargar un programa o archivo desde DEV1_ y falla, también se intentará cargar desde el nombre de dispositivo DEV2_ y así sucesivamente. Ahora, si hacemos que los valores de directorios por defecto del Toolkit2 apunte un dispositivo DEV, nosotros podemos hacer que el sistema mire a través de 8 directorios para encontrar el archivo que queremos.

El ejemplo siguiente es sólo un ejemplo sencillo que podrás adaptar a tus requerimientos. El ejemplo presupone el uso de un disco duro (dispositivos WIN) pero puedes adaptarlo al uso de otros dispositivos como una disquetera (sustityendo WIN por FLP). En este ejemplo muestro el encadenamiento de 7 subdirectorios para los programas de uso común.

100 REMark uso de DEV con subdirectorios
110 REMark esto emula la facilidad del PATH en el PC
120:
130 REMark se puede establecer una cadena de hasta 8
135 REMark directorios
137 :
140 REMark adáptalo a tus necesidades
150 DEV_USE 1,WIN1_,2
160 DEV_USE 2,WIN1_QUILL_,3
170 DEV_USE 3,WIN1_ARCHIVE_,4
180 DEV_USE 4,WIN1_ABACUS_,5
190 DEV_USE 5,WIN1_EASEL_,6
200 DEV_USE 6,WIN1_PERFECTION_,7
210 DEV_USE 7,WIN1_TEXT87_,8
220 DEV_USE 8,WIN1_BASIC_
230 :
240 REMark hacer uso de los defaults del Toolkit 2 
245 REMark a través de la cadena DEV's
250 DATA_USE dev1_
260 PROG_USE dev1_
270:
280 REMark cargar ahora con LOAD myprog or EXEC archivo
290 REMark ... se carga aunque esté escondido en algún dir.
300 REMark solo funciona con software que chequea los 
305 REMark defaults de Toolkit 2

Supongamos que intentas cargar el programa WIN1_BASIC_myprog_bas, pero no recuerdas donde lo habías grabado. Puedes usar LOAD ‘myprog_bas’ para después ejecutarlo. El QL intenta cargarlo pero fallará, normalmente dándonos el error ‘not found’. Pero antes de esto el QL añade el “default” del ToolKit 2 e intenta cargarlo otra vez como LOAD DEV1_myprog_bas. Esto debería ser lo mismo que LOAD WIN_myprog_bas. Sin embargo, si el fichero no se encuentra allí, LOAD debería renunciar, pero el QL identifica que hay un enlace desde DEV_1 a DEV2_

Ahora intenta cargarlo como WIN_quill_myprog_bas. ¡Y falla otra vez! Pero hay otro enlace al directorio “Archive”, así que el QL lo intenta en WIN1_archive_myprog_bas. Esto vuelve a fallar, así que trata de recorrer todos los eslabones hasta WIN1_basic_myprog_bas donde finalmente lo logra.

Podrías pensar que la búsqueda por varios directorios puede ser lento. Esto no es tan malo en discos duros o en discos ED, pero puede ser excesivamente lento si se accede a unidades de disco que no contienen el disquete introducido (en mi sistema además hace un terrible ruido intentando acceder al disco ¡No sugiero que lo intentes!).

La respuesta sencilla al problema de la velocidad de búsqueda es poner los subdirectorios usados más frecuentemente al inicio de la lista. Si los dos mayores usos que haces de tu QL es utilizarlo como procesador de textos y para la programación en SuperBasic, haz los ajustes en las especificaciones de DEV1_ y DEV2_.

Puede que te guste experimentar con DEV_USE ‘FLP’ como yo indiqué en mi artículo previo (“Dispositivos DEV y el uso del comando DEV_USE”) con programas que no soporten el “Default” del ToolKit 2, pero ten cuidado y procura salvar tus trabajos ¡Es muy fácil perder ficheros accidentalmente guardándolos en directorios equivocados!

Cuando yo lo experimenté, lo que hice para prevenir el riesgo de destruir los datos del disco duro fue el utilizar un disco ED formateado o un ramdisk con el controlador FLP o RAM renombrado como WIN mediante el uso de los comandos FLP_USE WIN o RAM_USE WIN.

Creé los directorios necesarios para las pruebas con el comando MAKE_DIR, copie unos cuantos ficheros dentro de ellos, y renombré el dispositivo con FLP_USE WIN o RAM_USE WIN. Por un momento, tuve por todas partes dispositivos renombrados, dispositivos que eran ignorados y “defaults” que apuntaban a una cadena de lugares. En ese memento me quedé totalmente confundido, aunque logré aprender lo suficiente para hacerlo funcionar ¡Lo que no me gustó es volverlo a desentrañar todo de nuevo!

Por favor, ten en cuenta la advertencia del manual de la Gold Card – “es fácil llegar a confundirse acerca de la configuración”. Se necesita tener la menta clara para hacer un seguimiento de lo que está pasando, así que si lo dudas, no uses esta facilidad a pesar que es potencialmente útil cuando se utiliza con cuidado.

Aunque esto es solamente utilizable en la Gold y Super Gold Card, los usuarios con otras interfaces como la Trump Card que no soportan los dispositivos DEV pueden usar las utilidades llamadas PATH u SUB escritas por el ex-presidente de Quanta Phil Borman. Éstas están disponibles en la librería de software de Quanta.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s