home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 9 Archive / 09-Archive.zip / x1os294h.zip / X1USER.ES < prev    next >
Text File  |  1996-06-04  |  56KB  |  1,251 lines

  1. ------------------------------------------------------------------------------
  2. TIPO DE DOCUMENTO        : MANUAL DE USUARIO DE X1
  3. LENGUAJE            : ESPAÑOL
  4. TIPO DE TEXTO            : ASCII SIN FORMATO
  5. JUEGO DE CARACTERES        : IBM-PC ASCII
  6. VERSION DEL PROGRAMA        : X1 v0.94f (beta)
  7. ULTIMA ACTUALIZACION (mm-dd): 960521
  8. ULTIMA NOTA DE REVISION     : TEXTO PRELIMINAR -- PUEDE HABER MODIFICACIONES
  9. TRADUCIDO POR            : J. Lupión
  10. -------------------------------------------------------------------------------
  11.  
  12.     IMPORTANTE: No utilice este programa antes de haber leído, comprendido
  13.     y aceptado los términos dispuestos en la licencia de uso.
  14.  
  15.  
  16.              ============================
  17.             MANUAL DE USUARIO DE X1
  18.               UNA VISION GENERAL
  19.              ============================
  20.  
  21.    1.  Requerimientos mínimos de hardware.
  22.    2.  ¿Qué es? (resumen)
  23.    3.  Cómo usar X1 (formato de la línea de ordenes y repaso de las órdenes
  24.        y opciones)
  25.           Formato de la línea de órdenes
  26.       Reglas de sintaxis de la línea de órdenes
  27.       Ordenes de X1
  28.       Funciones de X1
  29.    
  30.    4.  Variables de entorno (módulo de lenguaje)
  31.    5.  Formatos y métodos de compresión (visión general y ejemplos)
  32.    6.  Nombres de los ficheros temporales.
  33.    7.  Códigos de salida.
  34.  
  35.  
  36.  
  37.  
  38. 1. Requisitos
  39. =============
  40.  
  41. CPU  : 386sx o superior
  42. RAM  : Se recomienda un mínimo de 4Mb de memoria.
  43. S.O. : DOS/Win95 (DOS 3.3 o posterior)
  44.        OS/2 (32-bits)
  45.        NT/Win95
  46.  
  47. Para conseguir los mejores resultados, se recomienda obtener la versión del
  48. programa específica para su sistema operativo.
  49.  
  50. Tenga en cuenta que la memoria que X1 dice detectar es la cantidad de
  51. memoria que el gestor DPMI le dice que existe -que es la memoria realmente
  52. "visible"-.  Dependiendo del administrador de memoria  (DOS,  OS/2...) puede 
  53. incluso estar empleando memoria  virtual  basada  en  disco,  en cuyo caso
  54. el valor visualizado puede ser incluso superior a la  cantidad  de memoria 
  55. física instalada en su sistema. Sin  embargo,  desde  el  punto  de vista de 
  56. X1, es de menor importancia cómo  se  administra  la  memoria  que cuánta 
  57. memoria le permite emplear el gestor de memoria.
  58.  
  59.  
  60. 2. ¿Qué es?
  61. ===========
  62.  
  63. Este programa es un compresor, es decir, comprime varios ficheros en un único 
  64. archivo.  Se maneja, en su totalidad, desde la línea  de  órdenes  (o prompt 
  65. del sistema)  y  los  procesos  de  compresión  y  extracción  están combinados
  66. en un único programa.  En el compromiso entre velocidad,  memoria y tamaño del
  67. archivo, X1 favorece este último aspecto e intenta hacer el máximo uso posible 
  68. de los recursos del sistema en que se ejecuta.
  69.  
  70. Sus características principales son:
  71.  
  72. * Introducción del nuevo formato propio .X
  73. * Compatible con ARJ,(PK)ZIP,LHA(RC),ZOO,HA,RAR
  74. * Interfaz de usuario con múltiples idiomas.
  75. * Contiene métodos "experimentales" como resultado de la exploración de 
  76.   algoritmos de alto rendimiento. "Experimental" no significa inestable, sino
  77.   más bien que el método puede no ser soportado en versiones futuras de X1.
  78.  
  79. El interfaz de la línea de órdenes es similar al de  ZOO  y  HA,  pero  las
  80. letras de las opciones se parecen más a las de ARJ y LHA, teniendo poco que
  81. ver con PKZIP.  Con un    poco  de  conocimiento    de  los  compresores  más
  82. populares, debería  ser  posible  pasar  por  alto  algunas  partes  de  la
  83. documentación.
  84.  
  85. 3. Cómo usarlo    (formato de la línea de órdenes y repaso de las órdenes y
  86. ===============  opciones)
  87.  
  88. A continuación sigue es la especificación del  programa. Si  X1 se comporta 
  89. de forma diferente, entonces se debe bien a un error o a un fallo en 
  90. la implementación de la    función en cuestión, de acuerdo con esta especificación.
  91.  
  92. El decir que X1 es un "compresor" producirá un número de expectativas, basadas
  93. en las capacidades de otros compresores. Consecuentemente, no sólo es importante
  94. decir lo que hace, sino también lo que NO ha sido implementado.
  95.  
  96. Si lo mencionado en el texto aún no ha sido implementado, la sección será 
  97. precedida por un mensaje "**No  implementado**". Estos mensajes irán 
  98. disminuyendo en número en futuras versiones en el programa.
  99.  
  100. Formato de la línea de órdenes
  101. ------------------------------
  102.  
  103.  X1 orden[<opciones>..] <archivo> [<especificación de ficheros>..]
  104.  
  105.  Definiciones:
  106.  
  107.  orden[<opciones>..]  Sólo se  permite  una  orden  (el  primer carácter)
  108.               seguida  por  una  serie  de  opciones -sin  espacios
  109.               entre orden y opciones ni entre las opciones-.
  110.  <archivo>          Es el nombre del archivo, la extensión por defecto es ZIP
  111.  
  112.  <esp. de ficheros>.. Son  los  ficheros a archivar, por defecto se consideran
  113.                       todos  los  ficheros  si no se especifica ninguno. Se 
  114.               pueden utilizar los comodines (*,?).
  115.  
  116. Reglas de sintaxis de la línea de órdenes
  117. ------------------------------------------
  118. Ordenes y opciones pueden especificarse bien en mayúsculas o en minúsculas.
  119.  
  120. Tenga en cuenta que X1 tiene dos opciones de exclusión del trayecto en lugar de
  121. una como suele ser habitual en otros compresores.  Esto es consecuencia de 
  122. las reglas #1 y #2.
  123.  
  124.  
  125.    * Regla #1 (inclusión del path):
  126.      -----------------------------
  127.      Por defecto, todos los trayectos mencionados en la línea de órdenes se
  128.      añaden al archivo -a no ser que se active la opción X.
  129.  
  130.    * Regla #2 (inclusión del path):
  131.      -----------------------------
  132.      Por defecto,  todos  los  trayectos  encontrados  durante  la  búsqueda
  133.      recursiva (opción "R") se añaden al archivo -a no    ser  que  se  active la
  134.      opción E-.  Esto es algo diferente a como lo hacen los otros compresores.
  135.  
  136.    * Regla #3 (varias especificaciones con respecto al mismo directorio):
  137.      -------------------------------------------------------------------
  138.      Con especificaciones sin un path explícito, se asume el path de  la
  139.      especificación anterior.
  140.  
  141.      Sea "x1 a test <arg[1]> .. <arg[i]> <arg[i+1]>.."
  142.  
  143.      Si <arg[i+1]> no contiene el carácter "\" ("/") o ":" entonces se asume
  144.      que trabaja en el mismo  directorio  que <arg[i]> (que a su vez puede
  145.      trabajar bajo el bajo el mismo directorio que <arg[i-1]>, etc.)
  146.  
  147.      ¿Qué significa esto?  Significa que:
  148.                "x1 a prueba \dir1\dir2\*.c *.h"
  149.      hace lo mismo  que:
  150.                "x1 a prueba \dir1\dir2\*.c \dir1\dir2\*.h"
  151.  
  152.      ¿Qué NO significa esto?  Bien,
  153.                "x1 a prueba dir1\*.c dir2\*.h"
  154.      << NO >> hace lo mismo que
  155.      ^^^^^^^^
  156.                "x1 a prueba dir1\*.c dir1\dir2\*.h"
  157.      porque "dir2\*.h" contiene un "\".
  158.  
  159.      Igualmente,
  160.                "x1 a prueba dir1 *.c"
  161.      no funciona como
  162.                "x1 a prueba dir1\*.* dir\*.c"
  163.  
  164.      que realmente no tendría sentido.
  165.  
  166.      La justificación para este convenio es única y exclusivamente el
  167.      ahorrar pulsaciones (obsérvese que no hizo falta repetir "\dir1\dir2\"
  168.      en la línea de órdenes en el primer ejemplo.
  169.  
  170.      ¿Efectos laterales o inconvenientes?  Si quiere los ficheros del
  171.      directorio actual, debe especificarlos TODOS antes de incluir los
  172.      directorios. Sin embargo este convenio no debería restringir al
  173.      usuario de ninguna manera.
  174.  
  175.  
  176.      Regla #4 (directorios incluídos en el archivo):
  177.      ----------------------------------------------
  178.  
  179.      Especificar un nombre de directorio en la línea de órdenes implica  la
  180.      compresión de todos los ficheros de ese directorio. Obsérvese que
  181.             "x1 a prueba \dir1\dir2"
  182.      produce el mismo resultado que
  183.             "x1 a prueba \dir1\dir2\" y que
  184.             "x1 a prueba \dir1\dir2\*.*"
  185.      Si se indica la opción de recursión, TODOS los ficheros por debajo de
  186.      \dir1\dir2 serán también procesados.
  187.  
  188.      ¡Pero cuidado! Si los nombres de fichero son idénticos a los nombres
  189.      de trayecto puede no ser obvio cuál será el resultado final...
  190.  
  191.  
  192.                   ===========
  193.                   = ORDENES =
  194.                   ===========
  195.  
  196. H (visualiza comentarios de ayuda)
  197. ---------------------------------
  198.  
  199. Esta orden sólo se emplea en el contexto "x1 ?", y visualizará un breve 
  200. resumen de las órdenes y opciones. La página que se muestra NO ES la misma 
  201. que sale cuando se ejecuta el programa sin parámetros. Si no se especifican 
  202. parámetros, sólo  se listan las órdenes posibles (entre ellas, "?").
  203.  
  204. Si la información se imprime demasiado deprisa, se recomienda dirigirla a
  205. un fichero ("x1 ? >archivo.lst") que puede ser posteriormente visualizado con 
  206. su visor favorito (F3 en El Comandante Norton) o en su editor favorito.
  207.  
  208. X1 habla muchos idiomas. Sin embargo, algunas lenguas fueron más difíciles de 
  209. comprender que otras, así que no podemos garantizar que el significado de 
  210. los mensajes sea  cristalino.  En caso de duda, deberían consultarse las 
  211. páginas en inglés, danés, francés, alemán  y  español  (¡en este orden de 
  212. prioridad!)
  213.  
  214. (En PC) Si la configuración de página de códigos de su ordenador está mal, 
  215. el resultado será que  faltarán  caracteres.  Es  recomendable  tomarse  el
  216. tiempo necesario para configurar la página de códigos correctamente.
  217.  
  218. A (añadir ficheros al archivo)
  219. ----------------------------------
  220. Opciones válidas: $,A,C,E,F,I,K,L,M,N,O,R,S,T,U,V,X,Y,Z
  221.  
  222. Esta orden tiene dos modos de operación:
  223.    * crear un archivo y añadir ficheros...
  224.    * actualizar (re-abrir) el archivo y añadir más ficheros...
  225.  
  226. Esta orden, básicamente, comprime y añade los ficheros especificados a un 
  227. archivo. En el caso de que el archivo nombrado no exista se crearía uno con 
  228. ese nombre. Si existe, entonces se actualiza. Esto significa que nuevos
  229. ficheros con los mismos nombres que otros ficheros ya existentes en el 
  230. archivo sobreescribirán a éstos.  Existen unas pocas excepciones (cuando
  231. se comprimen módulos sólidos), pero su explicación se encuentra ahora fuera 
  232. de contexto.
  233.  
  234. Si se omite un directorio base, se asume que el directorio actual será el
  235. directorio por defecto.
  236.  
  237. Si no se especifican ficheros en la línea de órdenes, todos los  ficheros
  238. (en el directorio por defecto) serán añadidos. Esto  significa    que  "x1  a
  239. prueba test.x" comprime todo lo que haya en el directorio por defecto.
  240.  
  241. De ninguna forma es posible comprimir un archivo que está siendo actualizado 
  242. dentro de sí mismo.
  243.  
  244. Si no se especifica la extensión del archivo comprimido, entonces se supone
  245. la extensión  ZIP.  Si  desea comprimir a otro formato, es necesario
  246. especificar en el archivo la extensión de ese formato (ARJ,LZH,...).  No es
  247. posible comprimir en archivos con extensiones arbitrarias.
  248.  
  249. Se puede evitar que algunos ficheros sean incluidos con el uso de la opción
  250. "Z".
  251.  
  252. Ejemplo (compresión en formato propio ):   x1 a archivo.x   mi_fich.doc
  253. Ejemplo (compresión en formato ZIP):       x1 a archivo.zip mi_fich.doc
  254.  
  255.  
  256. C (añadir comentarios al archivo)
  257. --------------------------------
  258. **No implementado**
  259. Opciones válidas: I,C
  260.  
  261. Esta orden añade comentarios a un archivo. Pueden incluirse comentarios en los
  262. formatos ARJ,ZIP,ZOO y X pero no en los LHA y HA, debido a diferencias en las 
  263. estructuras de encabezamiento.
  264.  
  265.  
  266. D (borrar ficheros de un archivo)
  267. --------------------------------
  268. Opciones válidas: I,S,Z
  269.  
  270. Para ser borrada, la entrada correspondiente en el archivo tiene que ser igual 
  271. que un argumento de la línea de órdenes (se ignoran mayúsculas y minúsculas)
  272.  
  273. Si una especificación no contiene un trayecto, entonces surte efecto para
  274. todas las entradas del archivo, sin tener en  cuenta  sus directorios. Esto
  275. quiere decir que
  276.  
  277.         "x1 d prueba.x *.pas"
  278. borrará incluso las entradas "dir1\dir2\*.pas" en el fichero (si las hay).
  279. Por otro lado,
  280.         "x1 d prueba.x dir1\dir2\*.pas"
  281.  
  282. sólo eliminará el último tipo de ficheros.
  283.  
  284. Si se solicita el borrado de todos los ficheros, entonces el mismo archivo
  285. es eliminado (borrado).
  286.  
  287. Los nombres de fichero pueden ser excluídos del borrado con la opción "Z".
  288.  
  289. Ejemplos:
  290. (borrado de múltiples entradas):  x1 d archivo.x *.pas *.doc
  291. (borrado de un archivo completo): x1 d archivo *.*
  292.  
  293.  
  294.  
  295. E (extraer ficheros sin trayecto)
  296. --------------------------------
  297. Opciones válidas: $,A,F,I,N,O,T,W,Y,Z
  298.  
  299. Esta órden es idéntica a "X" con la opción "E".  Está incluída aquí sólo
  300. debido al consenso general entre programas compresores de utilizar esta orden.
  301.  
  302. Durante la descompresión o extracción, la fecha y hora de los ficheros son 
  303. restauradas junto con los contenidos.  Se lleva a cabo un control de CRC para 
  304. verificar que la operación ha tenido éxito. Sin embargo, el fichero se verifica
  305. ANTES de escribir al disco, en lugar de    una comprobación de lectura y 
  306. verificación.
  307.  
  308. Los ficheros se pueden extraer a un directorio especificado por el usuario u 
  309. otra unidad, pero por defecto, los ficheros se descomprimen en el directorio 
  310. actual.  Todas las extracciones se hacen sin trayectos (es decir se 
  311. descomprime todo en un único directorio)
  312.  
  313. Cuando se extrae a un directorio específico, entonces el nombre de directorio 
  314. debe terminar con "/" o "\" como en "x1 e prueba.x c:\dir\".  Si no se termina 
  315. el nombre de  directorio con tal carácter entonces X1 asumirá que se intenta 
  316. extraer del archivo un único fichero.
  317.  
  318. Cuando se extrae a un directorio que no existe (especificado en la línea de
  319. órdenes), se advertirá al usuario de ello y se le consultará antes de tomar 
  320. ninguna acción.  El mensaje de advertencia presenta distintas soluciones desde
  321. "si" (crear directorio por esta vez) a "nunca"  (no  crear  nunca directorios).  
  322. El usuario responde tecleando la letra entre paréntesis. Las letras y mensajes 
  323. pueden cambiar para diferentes módulos de idiomas. Es posible responder 
  324. automáticamente a las preguntas activando una de las opciones "Y" o "N".
  325.  
  326. Cuando se extrae a una unidad en concreto, se permite que la especificación 
  327. termine con ":" como en el ejemplo "x1 e prueba.x a:".  Esto se debe a que se 
  328. asume que ningún nombre válido de fichero termina en tal carácter. Si se dan 
  329. varios directorios o unidades de destino "x1 e prueba.x a: b: c:" entonces
  330. la última unidad (o directorio) especificada será empleada en la extracción.
  331.  
  332. Si se intenta extraer un fichero con el mismo nombre que un directorio ya 
  333. existente el fichero extraído se pasará por alto (a no ser que  se  active
  334. la opción de "Sobreescritura Inteligente" con la opción "W").
  335.  
  336. En el caso de que se intente extraer un fichero con el nombre de otro ya 
  337. existente, se advertirá al usuario de esta incidencia y se le consultará antes
  338. de tomarse ninguna acción.  La única excepción a esta regla son los ficheros
  339. de tamaño nulo (0 octetos), ya que se considera que no contienen ninguna 
  340. información valiosa y se pueden sobreescribir sin advertencias. La pregunta
  341. que se formula al usuario permite diferentes respuestas, desde "sí" 
  342. (sobreescribe el fichero por esta vez) a "nunca" (no sobreescribir jamás).
  343. El usuario debe responder introduciendo la letra entre paréntesis. 
  344.  
  345. Por ejemplo:
  346. (extraer archivo):    x1 e archivo.x file_id.diz
  347.  
  348.  
  349. F (refrescar los ficheros ya existentes en el archive)
  350. ------------------------------------------------------
  351. **No implementado**
  352. Opciones válidas: E,F,I,X
  353.  
  354. Esta orden cambia un fichero que se encuentra dentro del archivo comprimido por
  355. una versión más moderna, de ser posible.  Esto significa que los nombres y el 
  356. número total de ficheros dentro del archivo permanece constante. Sólo cambia el
  357. contenido de los ficheros ya archivados.
  358.  
  359. A la hora de buscar ficheros más modernos que los existentes, sólo se comprueban
  360. la fecha y hora. Si los ficheros son más antiguos -o tienen igual fecha y hora
  361. aunque tamaño diferente- entonces no se tienen en cuenta a la hora de refrescar.
  362.  
  363. Podrían surgir conflictos en caso de que el archivo contenga entradas con 
  364. trayectos completos.  ¿Debería ser necesario especificar estas entradas 
  365. explícitamente? La respuesta escogida es: ¡no!.  En vez de eso hay es 
  366. necesario excluirlas con la opción "E" -si por  algún  motivo  no  deben
  367. refrescarse como los otros ficheros.
  368.  
  369. De forma similar a la orden "A", si no    hay  ficheros  especificados en la
  370. línea de órdenes, se intentan refrescar todos los ficheros presentes en el
  371. archivo.  Esto significa que "x1 f prueba.x" intenta refrescar todos los 
  372. ficheros en "prueba.x", mientras que "x1 f prueba.x *.pas" sólo intenta 
  373. refrescar los  ficheros  *.pas  (incluyendo  posiblemente los ficheros 
  374. dir1/dir2/*.pas).  Para excluir que estos últimos  sean  excluidos hay utilizar
  375. "x1 fz prueba.x *.pas dir1/dir2/*.pas" 
  376.  
  377. Ejemplo:
  378. (refrescar todos los ficheros) "x1 f prueba.x"
  379.  
  380. L (listado del contenido del archivo)
  381. -------------------------------------
  382. Opciones válidas: E,I,O,Z
  383.  
  384. Esta orden muestra la información usual acerca de los contenidos del archivo, 
  385. incluyendo:
  386.  
  387. * trayecto completo
  388. * tamaño original y comprimido
  389. * índice de compresión (% comprimido/descomprimido)
  390. * fecha (de la forma día-mes-año)
  391. * hora (de la forma horas-minutos-segundos)
  392. * CRC (16-32 bits)
  393. * atributos del fichero, al estilo DOS.
  394. * método de compresión (identificado por un número en lugar de un nombre)
  395.  
  396. Un asterisco "*" añadido al final de un nombre indica que el fichero está
  397. encriptado y por tanto no puede ser extraído.
  398.  
  399. Se intenta "encajar" en las columnas los nombres de los trayectos completos. 
  400. Si hay espacio completo para los nombres largos se muestran en la misma línea
  401. que la información adicional. En caso contrario, se pone una línea para el 
  402. nombre del fichero y la información adicional se mueve a la línea siguiente.
  403.  
  404. Es posible mostrar todos los archivos de formatos específicos con "x1 l *.lzh"
  405. o de todos los archivos reconocidos por el compresor "x1 l *" (que sólo 
  406. comprueba ficheros con una extensión conocida  ARJ,ZIP,etc..)  Es posible 
  407. mostrar sólo ficheros específicos "x1 l *.zip file_id.diz" o múltiples 
  408. ficheros como en "x1 l *.zip *.nfo *.diz". 
  409.  
  410. Si la información se muestra demasiado deprisa,    se recomienda dirigir la
  411. salida a un fichero ("x1 l *.zip > archivo.lst")  que puede ser luego
  412. visualizado con su visor favorito (F3 en El Comandante Norton) o en su editor 
  413. favorito.
  414.  
  415. Por ejemplo:
  416. (listar todos los *.ARJ, *.ZIP...):    x1 l *
  417.  
  418.  
  419. T (comprobar la integridad del contenido de un archivo)
  420. -------------------------------------------------------
  421. Opciones válidas: E,F,I,O,Z
  422.  
  423. Esta orden en realidad tiene dos modos de operación o motivos:
  424. * verificar que el archivador no ha cometido errores durante la compresión.
  425. * buscar errores infligidos en el archivo durante la transmisión (errores
  426.   del medio de almacenamiento o del canal de transmisión)
  427.  
  428. Con mucho, el primer tipo de error es el más alarmante.  Por eso es el error 
  429. que se comprueba usualmente.  Así, los datos del archivo se desempaquetan 
  430. en memoria.
  431.  
  432. Para asegurar el éxito de la posible extracción, se proporciona una función de 
  433. validación mediante un test de CRC (código de redundancia cíclica). Aunque el 
  434. proceso no es 100% seguro, es usualmente suficiente para la mayor parte de 
  435. casos prácticos.
  436.  
  437. Es posible comprobar los contenidos completos de varios archivos: "x1 t *.zip",
  438. ficheros individuales en un grupo de archivos "x1 t *.zip *.doc" o ficheros 
  439. individuales en archivos individuales "x1 t archivo.x leeme.doc"
  440.  
  441. Si se asume que el compresor ha hecho su trabajo apropiadamente, entonces
  442. se puede hacer una comprobación de CRC más simple y rápida.  Esta comprobación 
  443. se hace con la opción F.  ¿Cómo saber si el compresor ha hecho su trabajo bien? 
  444. Bien, inténtese una comprobación de CRC    tradicional una sola vez (inmediatamen-
  445. te después de la compresión).  Si no hay errores, después sólo pueden esperarse
  446. errores de CRC debidos a la transmision o almacenamiento defectuosos.
  447.  
  448. Se informa al usuario acerca de diferencias entre el CRC almacenado y el valor 
  449. de CRC calculado.  En caso de errores, es muy poco probable  que los datos 
  450. puedan ser recuperados (a no ser que se haya empleado alguna forma de ECC  
  451. -código corrector de errores-). Es posible a menudo actualizar ficheros con 
  452. errores de CRC, pero no podemos recomendarlo.
  453.  
  454. Si se trabaja con archivos sólidos, las comprobaciones de CRC pueden tardar un 
  455. tiempo superior al normal.  Esto se produce debido al hecho de que la extracción
  456. puede presuponer la descompresión de otro fichero. En modo sólido, los datos se
  457. comprimen en su conjunto como un flujo continuo y esto reduce la accesibilidad.
  458.  
  459. Ejemplo:
  460. (comprobar todos los ficheros): "x1 t prueba.x"
  461.  
  462. P (proteger el archivo contra errores)
  463. --------------------------------------
  464. Opciones válidas: I,L
  465.  
  466. Esta orden hace que se añada al archivo un código  corrector de errores (ECC), 
  467. lo cual debería proteger al archivo, hasta cierto punto, de posibles errores 
  468. posteriores de transmisión o almacenamiento.
  469.  
  470. No es posible añadir un mismo tipo de ECC más de una vez.  En lugar de utilizar
  471. métodos simples más de una vez se recomienda usar una técnica más sofisticada 
  472. que implique un mayor gasto en tamaño.
  473.  
  474. Al igual que los métodos de compresión sobre datos tienen diferentes 
  475. rendimientos, los métodos de corrección de errores deben ser optimizados para
  476. clases concretas de errores.  A no ser que se proceda así, el resultado será
  477. un costo mayor con un resultado pobre.  Por tanto, en el futuro estarán 
  478. disponibles una gama más amplia de métodos de protección contra errores.
  479.  
  480. El método de protección por defecto es el "ECC de nivel 1".
  481.  
  482. ECC de nivel 1:
  483.  
  484. Este tipo de código de ECC está pensado para el usuario casual,    que quiere 
  485. una seguridad baja con sólo un mínimo de coste en término de tamaño extra. ¡Sólo 
  486. puede compensar la pérdida de un sector! El tamaño del sector es configurable, 
  487. por defecto es de 512 octetos. Si se quiere compensar para errores de más de 
  488. un sector, se deben utilizar mayores niveles de protección. Si se protege un 
  489. sector de N octetos de longitud, el  coste  de tamaño adicional será de N+48 
  490. octetos. Los 48 octetos cubren una cabecera incluyendo su propio CRC, un CRC 
  491. del fichero completo y vectores de prueba empleados para localizar errores más 
  492. rápidamente. Los datos del  ECC serán colocados en un bloque continuo al 
  493. comienzo del fichero.
  494.  
  495. ECC de nivel 2:
  496. Aún por implementar.
  497.  
  498. *ATENCION* Los métodos correctores  de errores sólo corrigen un número limitado
  499. de errores. Un método sólo corregirá errores de acuerdo con su especificación, 
  500. por tanto no espere la corrección de errores más allá de la misma. La corrección
  501. de errores sólo proporciona una  seguridad  limitada. Es importante no tener 
  502. una fé ciega en los métodos.
  503.  
  504. Ejemplo:
  505. Para proteger contra la pérdida de un único sector de 512 octetos (disco floppy)
  506. la orden a usar es "x1 p prueba.zip" ó "xm1 p prueba.zip". Para añadir una 
  507. protección ECC1 de 1024 octetos por sector (que son 2x512, de aquí m2) la 
  508. orden a usar es "x1 pm2 test.zip"
  509.  
  510. R (reparar el archivo ante posibles errores)
  511. --------------------------------------------
  512. Opciones válidas: I
  513.  
  514. Esta orden tiene dos propósitos o modos de operación:
  515. * Reparar errores en el archivo.
  516. * Sólo verificar que el archivo está libre de errores.
  517.   Una comprobación de CRC sólo investiga las entradas de ficheros comprimidas
  518.   en el archivo  -no la existencia de ECCs  posiblemente  erróneos-.  
  519.   Obviamente  el  "test extendido" puede (debe) ser únicamente llevado a cabo 
  520.   si hay en efecto un ECC que comprobar.
  521.  
  522. Reparación de un archivo con protección ECC:
  523. Esta operación elimina los errores -bien en los datos del ECC o en los  datos
  524. reales que debe proteger. Un mensaje advertirá si los errores no son suscep-
  525. tibles de ser corregidos, en cuyo caso no se tomarán más acciones.
  526.  
  527. Reparación de un archivo sin protección ECC:
  528. Este no ha sido nunca el propósito de esta orden. En X1 no hay una función 
  529. genérica de "reparación" de archivos dañados. En lugar de eso se insta al 
  530. usuario a que intente la extracción del archivo  y  re-archive los datos 
  531. de nuevo.  Los  problemas  que  plantea  una  función  de  reparación genérica 
  532. son bien conocidos por el programa "PKZipFix" que viene con el compresor
  533. "PKZIP".  El programa de reparación sólo actualiza la estructura de cabecera 
  534. del archivo  -sin  comprobar la integridad de los ficheros individualmente-.  
  535. Después de esto se pueden añadir ficheros al archivo. Sin embargo, sin un 
  536. test de integridad, no hay forma de saber si el archivo contiene otros errores.
  537. El no comprobar esta posibilidad puede provocar una falsa sensación de seguridad.
  538. Parece más atractivo permitir sólo la extracción del archivo -permitiendo al 
  539. usuario    verificar directamente el número de errores. Si hay archivos comprimidos
  540. almacenados dentro del archivo en cuestión, existen la peligrosa posibilidad de 
  541. que haya errores.  En tales casos, lo mejor ese que el usuario intente evaluar
  542. la situación. Si de alguna forma los usuarios estuviesen interesados (y deseando
  543. pagar), entonces  podría construirse un programa avanzado de recuperación de 
  544. errores para alguno o todos los formatos diferentes de compresión.  Pero ello 
  545. no cambiará el hecho de que la mayor parte de los errores normalmente son 
  546. irrecuperables.
  547.  
  548. Ejemplo: "x1 r prueba.x"
  549.  
  550. U (desproteger archivo - eliminando código corrector de errores)
  551. ----------------------------------------------------------------
  552. Opciones válidas: I
  553.  
  554. Esta orden deshace la acción efectuada por la orden "P".  Se intentarán borrar
  555. todos los códigos de ECC disponibles.  Los fallos en la localización del 
  556. código ECC pueden deberse a dos razones: que no haya códigos ECC o que haya 
  557. errores en la cabecera que impidan la localización del código ECC.  En el 
  558. segundo caso debería recomendarse el intentar eliminar los errores.
  559.  
  560. Se recomienda comprobar si hay errores antes de eliminar el código  ECC.
  561. Aunque el proceso se las puede arreglar para localizar el código ECC el archivo
  562. puede aún contener errores en otras posiciones del fichero.  No  se hace 
  563. ningún tipo de comprobación de errores cuando se elimina el código ECC
  564. (para acelerar el proceso).
  565.  
  566. X (extracción de ficheros con trayectos completos)
  567. --------------------------------------------------
  568. Opciones válidas: $,A,E,F,I,N,O,T,W,Y,Z
  569.  
  570. La diferencia fundamental con la orden "E" es que los ficheros son 
  571. descomprimidos con el trayecto completo (tal y como está almacenado en el 
  572. archivo). Los trayectos completos pueden verse antes de la  extracción    con
  573. la orden "L".
  574.  
  575. Los ficheros pueden extraerse a un directorio o unidad especificados por el
  576. usuario pero por defecto los ficheros se descomprimen en el directorio
  577. actual y los subdirectorios posibles son construidos según se necesite a partir
  578. de este directorio base.  Algunos trayectos no pueden ser empleados como  
  579. extensión del directorio base, y son aquellos  que  contienen  nombres de 
  580. unidad  o especifican trayectos desde  el  directorio  raíz.  Tales trayectos
  581. serán posicionados en el disco de acuerdo a sus especificaciones absolutas.
  582.  
  583. Cuando se extrae a un directorio o unidad específicos,    los  subdirectorios
  584. serán construidos desde la posición dada. Por ejemplo "x1 x prueba.x a:"
  585. intentará extraer todos los ficheros a A: (e intentará construir los 
  586. subdirectorios desde el directorio actual en esa unidad)
  587.  
  588. Cuando la extracción requiera un trayecto no existente en el disco, la situación
  589. se trata como cuando se  extrae a un directorio no existente especificado en 
  590. la línea de órdenes.  El usuarió será avisado acerca de la incidencia y se le 
  591. consultará antes de tomar acciones.
  592.  
  593.                   ============
  594.                   = OPCIONES =
  595.                   ============
  596.  
  597. $ (añadir o extraer etiqueta de volumen)
  598. ----------------------------------------
  599. **No implementado**
  600.  
  601. Compresión:
  602. Añade la etiqueta de volumen del disco (para la    primera especificación de
  603. ficheros) al archivo.  En el ejemplo "x1 a texto.x *.* a:*.* b:*.* c:*.*"
  604. se añade al archivo la etiqueta de volumen de la unidad actual porque se usó 
  605. en la primera especificación. "x1 a texto.x a:*.* b:*.* c:*.*" hace que se 
  606. almacene la etiqueta de volumen de la unidad "a:".
  607.  
  608. Extracción:
  609. Restaura la etiqueta del disco (si está presente) del  archivo al disco
  610. donde los ficheros serán extraídos. Dado que sólo se permite una etiqueta
  611. de volumen en el archivo, no hay posibilidad de confusión.
  612.  
  613.  
  614. A (almacenar/restaurar atributos)
  615. ---------------------------------
  616. **No implementado**
  617.  
  618. Nota general: Esta opción esta pensada especialmente para los "atributos
  619. especiales" tales como los atributos extendidos de OS/2. Los atributos simples 
  620. como los de MSDOS siempre son restaurados.
  621.  
  622. Compresión:
  623. Guarda todos los atributos (posiblemente extendidos) en el archivo.
  624.  
  625. Extracción:
  626. Restaura los atributos (posiblemente extendidos). Los atributos que dependen 
  627. del sistema operativo empleado sólo pueden recuperarse bajo el mismo sistema 
  628. operativo.  En  caso de conflicto, los atributos o bien no se restauran o se 
  629. escoge una sustitución adecuada y simple.
  630.  
  631.  
  632. C (leer los comentarios desde un fichero)
  633. -----------------------------------------
  634. **No implementado**
  635.  
  636. Sólo puede usarse con la orden "C".
  637.  
  638. Hay dos formas de añadir comentarios a un archivo:
  639. * introducirlas desde el teclado.
  640. * insertar caracteres desde un fichero.
  641.  
  642. Si el comentario va a ser tecleado, la opción "C"  no  se  activa.  Si    los
  643. comentarios vienen de un fichero, entonces debe usarse esta opción.
  644.  
  645.  
  646. E (excluir trayecto de los nombres de fichero)
  647. ----------------------------------------------
  648.  
  649. Esta opción se comporta de forma  distinta  según  la  orden  que  se  esté
  650. ejecutando (A,E,F)
  651.  
  652. Compresión (A):
  653.  
  654. Excluye los trayectos que se encuentran en la búsqueda recursiva de 
  655. directorios.  A no ser que se active esta opción, por defecto el compresor 
  656. incluirá todos los trayectos que encuentre.
  657.  
  658. Extracción (E):
  659.  
  660. Esta función se asegura de que todos los  ficheros sean extraídos en el mismo 
  661. directorio, sin tener en cuenta    los trayectos almacenados en el archivo.
  662.  
  663. Refrescar (F):
  664.  
  665. La función aquí es evitar renovar ficheros en subdirectorios dentro del
  666. archivo. De lo contrario, todos los ficheros son refrescados sin tener en
  667. cuenta si están o no en subdirectorios.
  668.  
  669.  
  670. F (mover los ficheros dentro/fuera del archivo)
  671. -----------------------------------------------
  672. **No implementado**
  673.  
  674. Compresión:
  675.  
  676. Se borran los ficheros del disco tan pronto como hayan  sido comprimidos y 
  677. se establezca que la operación ha tenido éxito, así se garantiza una seguridad 
  678. extra, de modo que si la operación se interrumpe prematuramente, no debería 
  679. producirse ninguna pérdida de datos.
  680.  
  681. Extracción:
  682.  
  683. Se reduce el tamaño del archivo, eliminando las  entradas que corresponden a
  684. los ficheros extraídos.
  685.  
  686.  
  687. I (modo silencioso)
  688. -----------------------
  689. ** No implementado **
  690.  
  691. Esta opción suprime toda la salida por pantalla, incluyendo la cabecera del 
  692. programa y los indicadores de progreso.  Esta opción se implementa para permitir
  693. a otros programas llamar a X1 y dejar que el compresor procese los datos sin 
  694. llenar la pantalla de datos irrelevantes.
  695.  
  696.  
  697. K (sobreescribir el archivo ya existente)
  698. ---------------------------------------
  699. ** No implementado **
  700.  
  701. Compresión:
  702. La función es forzar la creación de un archivo comprimido nuevo. De no utilizar
  703. esta opción, de existir un archivo con el mismo nombre sería actualizado y se 
  704. añadirían nuevas entradas a las ya existentes.
  705.  
  706.  
  707. L<número> (nivel de compresión)
  708. ------------------------------
  709.  
  710. Compresión:
  711.  
  712. Determina un nivel más detallado de compresión.  Esto puede implicar el uso de 
  713. más memoria -o una compresión más rápida y/o degradada-    dependiendo del método 
  714. escogido.
  715.  
  716. Esta opción sólo tiene efecto en el método 4 del formato de compresión .X. Los
  717. niveles válidos son 0,1,2 y 3. Cada nivel determina un modelo de memoria distin-
  718. to.
  719.  
  720.  
  721. M<método> (método de compresión)
  722. --------------------------------
  723.  
  724. Compresión:
  725.  
  726. Especifica el método de compresión a utilizar. El método se especifica como
  727. un número entre 0 y 256. Si el número no puede asociarse con un método válido 
  728. de compresión, se visualiza un mensaje de error.
  729.  
  730.  
  731. N (Asumir "NO" en todas las preguntas)
  732. -------------------------------------
  733.  
  734. Extracción:
  735.  
  736. La opción "N" es la opuesta de la opción "Y".  Responde de antemano a todas las
  737. posibles preguntas de X1 con un "NO".  De esta forma se impide que el programa 
  738. se detenga y pregunte al usuario. Principalmente afecta la posible sobreescri-
  739. tura de ficheros, creación de directorios, etc. 
  740.  
  741.  
  742. O (ordenar ficheros por nombre, tamaño, fecha, etc.)
  743. ----------------------------------------------------
  744. **No implementada **
  745.  
  746. Deben siempre aparecer dos caracteres 'O' en la cadena de  opciones en la línea
  747. de órdenes.  En la sección 'O...O' aparecerán las sub-opciones de clasificación,
  748. que definen las claves de ordenación y sus prioridades.    Sin embargo, si la 
  749. opción 'O' es la última opción que aparece entonces  la  última  'O' puede 
  750. obviarse.
  751.  
  752. Las posibles sub-opciones son:
  753.        A: ascendo
  754.        D: fecha
  755.        E: extensión
  756.        N: nombre
  757.        P: nombre de trayecto
  758.        S: tamaño
  759.        T: hora
  760.  
  761.        B: mejor compresión
  762.  
  763. Así, por ejemplo, OSNO significa: primero ordenar por tamaño, y si dos fi-
  764. cheros tienen el mismo tamaño, entonces ordena según el nombre.
  765.  
  766. Compresión:
  767.  
  768. Si se comprime creando un nuevo archivo, los ficheros se insertan dentro
  769. del archivo en el orden especificado por las claves de ordenación. Si se 
  770. actualiza el archivo, las entradas existentes serán actualizadas de acuerdo a 
  771. la ordenación ya existente, y las nuevas entradas serán ordenadas según las 
  772. opciones.
  773.  
  774. Extracción:
  775. Los ficheros son extraídos en el orden determinado por las opciones.
  776.  
  777. Ejemplo:
  778. Ordenar los ficheros comprimidos por fecha, hora y nombre, en este orden.
  779.                 "x1 aodsno prueba.x *.*"
  780.  
  781.  
  782. R (búsqueda recursiva de directorios)
  783. ------------------------------------
  784.  
  785. Compresión:
  786.  
  787. Sin esta opción, sólo se procesarán los ficheros de los directorios especificados por la
  788. línea de órdenes.  Se asumirá el directorio por defecto allí donde no se hayan 
  789. defnido los directorios de forma explícita. Al activar esta opción, se 
  790. procesarán, además,  todos los ficheros de los subdirectorios.  Estos 
  791. subdirectorios serán visitados recursivamente en el orden en que se encuentran 
  792. en el disco.  Se expanden los trayectos de los ficheros almacenados en el
  793. archivo según se vayan visitando los diferentes subdirectorios, a no ser que
  794. se active la opción "E". Los ficheros se visitan dos veces: primero durante 
  795. una búsqueda inicial y después cuando se realiza el proceso de compresión.  
  796. La búsqueda inicial se hace para poder estimar un tamaño de las cabeceras de 
  797. archivos sólidos y para visualizar el indicador de progreso.
  798.  
  799.  
  800. S  (cambia la fecha y hora del archivo a la del fichero más nuevo)
  801. ------------------------------------------------------------------
  802. ** No implementado **
  803.  
  804. Compresión:
  805.  
  806. Aparecen tres posibilidades prácticas cuando se cambia la fecha y hora    del
  807. archivo:
  808.  
  809. * seleccionar la fecha y hora más moderna de entre las entradas añadidas al 
  810.   archivo actualizado.
  811. * seleccionar la fecha y hora más moderna de entre las entradas ya existentes 
  812.   al archivo antes de comenzar a actualizarlo.
  813. * seleccionar la fecha y hora más moderna de entre todos los ficheros una vez 
  814.   que se ha realizado la actualización.
  815.  
  816. En la implementación actual, sólo se ha incluído la última técnica.
  817.  
  818. Una forma fácil de poner la fecha y hora del archivo, cuando no se desean añadir
  819. entradas extras al fichero es con "x1 lis prueba.x", que hace que se listen 
  820. (pero no visualicen) todos los contenidos del fichero y cambie la fecha
  821. y hora del archivo en el proceso.
  822.  
  823.  
  824. T (cambiar la fecha y hora de los ficheros conforme a la hora actual)
  825. -------------------------------------------------------------------
  826. **No implementado**
  827.  
  828. Compresión:
  829.  
  830. Esta opción pone la fecha y hora actuales como la fecha y hora de los ficheros 
  831. añadidos al archivo.  La fecha y hora original de los archivos es ignorada.
  832.  
  833. Extracción:
  834.  
  835. Marca el fichero extraído con la fecha y hora actual, en lugar de la fecha y 
  836. hora almacenadas por el compresor.
  837.  
  838. Nota: Todos los ficheros en un proceso recibirán la misma fecha y hora. Incluso
  839. aunque los ficheros seán procesados con varios segundos de diferencia, todos 
  840. recibirán la misma fecha y hora, cuando el proceso comenzó.
  841.  
  842.  
  843. U  (modo de compresión sólida)
  844. ------------------------------
  845.  
  846. Compresión:
  847.  
  848. Si sólo se comprime un fichero, esta opción no tiene efecto. Pero si se van a 
  849. comprimir varios ficheros, con esta opción serán comprimidos en "modo sólido". 
  850. Esto quiere decir que los ficheros son comprimidos como un flujo de datos 
  851. continuo (como si estuviesen concatenados).  Para ficheros relacionados entre 
  852. sí debería resultar en una mejor compresión.
  853.  
  854. Para una compresión óptima, los ficheros deberían ser agrupados inteligente-
  855. mente, de forma que los ficheros que más tengan que ver entre sí sean puestos 
  856. lo más juntos  posible.  Sin  embargo,  en  la  implementación actual esto no 
  857. se hace de forma automática.
  858.  
  859. V<tamaño> (proceso de múltiples volúmenes)
  860. ------------------------------------------
  861. ** No implementada **
  862.  
  863. Compresión:
  864.  
  865. Si no especifica ningún <tamaño>, la compresión se hará mediante un archivo
  866. de múltiples volúmenes limitado en tamaño por el espacio en disco disponible.
  867. Después de cada volumen, aparecerá una pregunta (a no ser que se haya dado
  868. la opción "Y") lo cual permite la inserció de un nuevo disco.  La compresión
  869. continuará con otro fragmento del archivo. 
  870.  
  871. En cualquier caso, el resultado final debiera ser una secuencia de archivos
  872. con igual nombre y con las extensiones .x00, .x01, etc. donde .x00 contiene
  873. el primer fragmento.
  874.  
  875. No es posible actualizar un archivo multivolumen en modo multivolumen. Pero
  876. es posible actualizar un archivo multivolumen con entradas adicionales 
  877. normales - o actualizar un archivo no-multivolumen con entradas multivolumen.
  878.  
  879. Extracción:
  880. Aquí <tamaño> no tiene importancia.  Sólo debería intentarse la extracción
  881. sobre una secuencia completa de archivos multivolumen. Si se intenta extraer
  882. un fragmento individual de un archivo multivolumen sólo se tendrá éxito con
  883. las entradas que no pasen de un sólo volumen.  
  884.  
  885.  
  886. W (sobreescritura inteligente en la extracción)
  887. -----------------------------------------------
  888. ** No implementado **
  889.  
  890. Extracción:
  891.  
  892. Esta opción trata de solventar de forma inteligente ciertas situaciones donde
  893. los ficheros a extraer sobreescribirían ficheros ya existentes debido a que
  894. tienen el mismo nombre.  Tradicionalmente, estas situaciones se resuelven
  895. al usuario si se desea sobreescribir -e impidiendo la extracción en caso de
  896. que se responda que no-.  Existe una tercera posibilidad, donde los ficheros
  897. son extraídos con nombres ligeramente diferentes. Las extensiones .00X, .01X
  898. (no confundir con los tipos de archivo .X)  se utilizan para la resolución
  899. de colisiones en la extracción.
  900.  
  901. X (excluír el trayecto en los ficheros de la línea de órdenes)
  902. -------------------------------------------------------------
  903.  
  904. Compresión:
  905.  
  906. Por defecto, todos los trayectos escritos en la línea de órdenes serán
  907. incluídos en los nombres de ficheros añadidos al archivo. Si se  especifica
  908. un directorio con "x1 a prueba.x dir\*.*" los trayectos "dir\fich1" y 
  909. "dir\fich2" serán almacenados en el archivo. La opción "X" evita  esto.  
  910. "x1  ax prueba.x dir\*.*" grabará las entradas anteriores como "fich1" y 
  911. "fich2". Tenga en cuenta  que esta opción no afecta a los nombres de trayecto
  912. almacenados durante la búsqueda recursiva con la opción "R".  Para eliminar
  913. tales trayectos debe usarse la opción "E".
  914.  
  915. Extracción:
  916.  
  917. Esta opción no tiene efecto en este caso.  Debe utilizarse la opción "E" para 
  918. excluir los trayectos de los ficheros a extraer.
  919.  
  920.  
  921. Y  (Responder "SI" a todas las preguntas)
  922. -----------------------------------------
  923.  
  924. Extracción:
  925.  
  926. La opción "Y" es la contraria de la opción "N".  Responde de antemano a todas
  927. las posibles preguntas con  un    "sí".  De  esta  forma se impide que el programa
  928. se detenga y pregunte al usuario.  Principalmente afecta la posible 
  929. sobreescritura de ficheros, creación de directorios, etc.
  930.  
  931.  
  932. Z<número> (excluir los ficheros que serían archivados)
  933. -----------------------------------------------------
  934.  
  935. Compresión:
  936.  
  937. Cuando esta opción no se utiliza, todas las especificaciones de ficheros en la
  938. línea de órdenes determinan ficheros a incluir en  el archivo.  Cuando esta 
  939. opción se utiliza pero no es seguida por un número éste se supone que es el 1.
  940. Este número especifica cuántas de las últimas especificaciones de ficheros
  941. encontradas en la línea de órdenes especifican ficheros a excluir. Esta 
  942. convención no permite la mezcla de máscars de inclusión y de exclusiòn.  TODAS 
  943. las máscaras de exclusión deben ser especificadas juntas y al final de la
  944. línea de órdenes.
  945.  
  946. Por ejemplo en "x1 az3 prueba.x prueba1.* prueba2.* *.bak *.swp *.tmp"
  947. entonces el número 3 que sigue a la opción "Z" dice que las últimas tres 
  948. especificaciones marcan ficheros que NO deben ser incluidos en el archivo.
  949. El número cuenta hacia atrás desde el final de la línea de  órdenes y por
  950. tanto no se ve afectado por el número de máscaras de inclusión.
  951.  
  952. En caso de que el número de opciones de exclusión iguale o exceda al número
  953. total de máscaras en la línea de órdenes, se incluirán los ficheros "*.*" y
  954. los ficheros especificados serán excluídos.
  955.  
  956.  
  957. 4. Variables de entorno
  958. ========================
  959.  
  960. En la versión actual  sólo  se  soporta  una  variable  de  entorno,  la
  961. variable "COUNTRY" que se utiliza para la selección del  lenguaje-juego  de
  962. caracteres.
  963.  
  964. En el DOS, se puede emplear la variable de entorno COUNTRY para especificar
  965. el país y el juego de caracteres activo.  Los caracteres especiales, 
  966. dependientes del idioma, son soportados en el grupo de caracteres ASCII
  967. superior (posiciones 128 hasta 255) y pueden cambiar según la configuración.
  968. Según el juego de caracteres, los caracteres dependientes del idioma pueden
  969. cambiar de posición en la tabla ASCII, si es que están disponibles. Cuando se 
  970. necesitan tales caracteres, es importante determinar el juego de caracteres 
  971. en primer lugar.
  972.  
  973. Por ejemplo, la configuración para un teclado norteamericano podría ser:
  974.  
  975.               COUNTRY=001,437
  976.  
  977. El "001" determina el idioma para los Estados Unidos,  mientras  que  "437"
  978. especifica la página de códigos 437 (juego de  caracteres  norteamericano).
  979. Consulte en su manual del DOS la lista detallada de número y sus asociaciones.
  980. Para X1, entonces, "001" haría que los mensajes se visualizasen en inglés. El  
  981. "437"  hace que los posibles caracteres extendidos sean buscados en las
  982. posiciones correspondientes a la página de códigos 437.
  983.  
  984. Si por alguna razón prefiere no utilizar la variable COUNTRY, se puede usar
  985. la variable LANGUAGE en su lugar, con la misma sintaxis.
  986.  
  987. Observese que si una sentencia o frase no está soportada para el idioma actual,
  988. el mensaje original en inglés será visualizado  (a falta de nada mejor).
  989.  
  990.  
  991. 5. Formatos y métodos de compresión (nivel de usuario)
  992. ======================================================
  993.  
  994. En primer lugar una visión general de los formatos de  cabecera  y  métodos
  995. soportados.
  996.  
  997. Compresor X1, versión 0.94a ("+" indica que está soportado y "-" lo contrario)
  998. ------------------------------------------------------------------------------
  999.     nombre de  capaz de visualizar
  1000.     compresor  |   capaz de extraer
  1001.            |   |   capaz de comprimir
  1002.            |   |   |   métodos soportados de compresión
  1003.            |   |   |   |      métodos de descompresión soportados
  1004.            |   |   |   |      |         comentarios
  1005.            |   |   |   |      |         |
  1006.     arj        +   +   +   0,1      0,1,2,3,4  1,..,4 básicamente idénticos
  1007.     zip        +   +   +   0,1,8  0,1,7,8    1:shrink,7:implode,8:deflate
  1008.     lzh/lha    +   +   +   0,5      0,1,5      no hay soporte de LHA-AMIGA!
  1009.     zoo        +   +   +   0,2      0,2
  1010.     ha           +   +   +   0,1,2  0,1,2
  1011.     tar        +   -   -   -      -
  1012.     tgz        +   +   +   8      8         requiere cabeceras TAR gzipadas
  1013.     hap        +   +   +   0,1    0,1
  1014.     rar        +   -  (+)  0      0
  1015.     arc        +   -   -   -      -
  1016.     pak        +   -   -   -      -
  1017.     sqz        +   -  (+)  0      0
  1018.     arx        +   -  (+)  0      0,1 (5)    algoritmos como en LHA1.13
  1019.     put        +   +   +   0,5      0,5         algorithos como en LHA2.x
  1020.     x           +   +   +   0,1,.. 0,1,..
  1021. ------------------------------------------------------------------------------
  1022. (+) significa que sólo almacenar no es tan divertido.
  1023.  
  1024. Acerca del modulo ARJ:
  1025. ---------------------
  1026.  
  1027. Un ejemplo de compresión al formato ARJ sería: "x1  a prueba.arj *.*"
  1028. Esto hace que todos los archivos en el directorio actual serán comprimidos al 
  1029. archivo prueba.arj (por defecto con el método 1)
  1030.  
  1031. Sólo almacenar (sin comprimir) con: "x1 am0 prueba.arj *.*"
  1032.  
  1033. Los ficheros ARJ multivolúmenes no son (de momento) soportados.
  1034.  
  1035. Acerca del módulo ZIP:
  1036. ---------------------
  1037.  
  1038. Un ejemplo de compresión al formato ZIP sería: "x1 a prueba.zip *.*"
  1039.  
  1040. Esto hace que todos los archivos sean comprimidos por defecto con el método
  1041. "deflate" del ZIP, conocido de las versiones 2.x.  Si se requiere compati-
  1042. bilidad con versiones anteriores, es posible comprimir con un método más 
  1043. antiguo: "x1 am1 prueba.zip *.*". Esto aplica el método "shrink" de la 
  1044. versiones ZIP 0.9 y 1.1.  No espero que se dé ningún uso serio a este
  1045. método, data de mis primeros y humildes intentos con el formato ZIP, en 1991...
  1046.  
  1047. Acerca del modulo LHA:
  1048. ---------------------
  1049.  
  1050. Un ejemplo en la compresión al formato LHA sería: "x1 a prueba.lha *.*" o 
  1051. "x1 a prueba.lzh *.*". Las extensiones .lha y .lzh son igualmente soportadas. 
  1052. Por defecto se utiliza el método 5.
  1053.  
  1054. Acerca del módulo ZOO:
  1055. ----------------------
  1056.  
  1057. Un ejemplo de compresión al formato ZOO sería: "x1 a prueba.zoo *.*"
  1058.  
  1059. ATENCION: El formato ZOO especifica dos tipos de encabezamiento y sólo uno
  1060. es actualmente soportado por X1 (el tipo 2, que es el más habitual).  Esto
  1061. puede provocar problemas cuando X1 actualice ficheros antiguos creados    con
  1062. ZOO (tipo de encabezamiento 1). Tal vez esté siendo demasiado cauto, no sé...
  1063. ¡Enviénme por email varios ejemplos con cabeceras antiguas!
  1064.  
  1065. Acerca del módulo HA:
  1066. --------------------
  1067.  
  1068. Un ejemplo de compresión al formato HA sería: "x1 a prueba.ha *.*"
  1069.  
  1070. Esto hace que todos los ficheros por defecto en el directorio actual sean
  1071. archivados con el método 1..ASC.  Si se requiere una compresión mayor por medio
  1072. de un PPM de 4º orden sería más apropiado usar (HSC): "x1 am2 prueba.ha *.*"
  1073.  
  1074. Dejar que  el ordenador intentase ambos métodos y eligiese el mejor 
  1075. automáticamente sería: "x1 am# prueba.ha *.*"
  1076.  
  1077. Acerca del módulo TGZ:
  1078. ---------------------
  1079.  
  1080. Un ejemplo de compresión al formato TAR+GZIP sería: "x1 a prueba.tgz *.*"
  1081.  
  1082. Esto hace que todos los  ficheros  sean  "envueltos"  en  cabeceras  TAR  y 
  1083. después comprimidos al formato GZIP. En plataformas que soporten nombres de
  1084. ficheros más largos una extensión más apropiada para el archivo sería  
  1085. "tar.gz." Cuando se listan los contenidos de un tal archivo, se necesita la
  1086. total descompresión (en memoria), así que puede ser necesario  un  poco  de
  1087. paciencia.
  1088.  
  1089. Actualmente, no es posible extraer los contenidos de un fichero  GZIP  como
  1090. un único fichero.
  1091.  
  1092. Acerca del módulo X:
  1093. -------------------
  1094.  
  1095. Algo que no está directamente relacionado con ningún método de compresión
  1096. (pero que distingue al formato X de los demás tipos de archivo) es  el
  1097. almacenamiento del doble CRC (capacidad de comprobación rápida del CRC). Se
  1098. calcula el CRC de los datos no comprimidos y comprimidos.  Cuando se quieren 
  1099. comprobar los errores de transmisión, con mirar el último campo de CRC es 
  1100. suficiente. Dado que el tamaño de los datos comprimidos normalmente  es 
  1101. menor que el tamaño oriignal el trabajo del cálculo extra del CRC es
  1102. normalmente insignificante. No ralentiza el proceso de forma significativa.
  1103.  
  1104. Nótese además que los archivos .X pueden contener más de un fichero con el 
  1105. mismo nombre.  Esto no puede evitarse cuando hay entradas en modo sólido
  1106. de por medio.  Si la entrada sólida con los nombres duplicados es borrada
  1107. entonces los otros ficheros también son borrados (ya que están comprimidos 
  1108. juntos) lo cual resultará en la pérdida de  datos.  Este  problema podía 
  1109. evitarse "pretendiendo" que  un    nombre duplicado simplemente no está ahí 
  1110. (sin mostrarlo, como en UC2 o en HPACK). Pero parecía razonable que, si 
  1111. está realmente ahí, el usuario debería poder verlo... ¡un convenio más!
  1112.  
  1113. Número de método Nombre Packing example     Comentarios
  1114. ---------------- ----    ------------------- --------
  1115.       1      XLZ    "x1 am1 prueba.x *.*" Ventana LZ77 de  64K
  1116.      (2)          -
  1117.      (3)          -
  1118.       4      XXC    "x1 am4 prueba.x *.*" Posible selección de memoria
  1119.                                               variable.
  1120.                                               Requiere memoria de DOS (1Mb)
  1121.      (5)         LZP    "x1 am5 prueba.x *.*"
  1122.   mejor método      -    "x1 am# prueba.x *.*"
  1123. ---------------  ---    --------------------
  1124.  
  1125. NOTA: Para el mejor método se intentarán el método 4 y  después  el  1.  El
  1126. método aceptado finalmente será el que ofrezca el menor tamaño.
  1127.  
  1128. ATENCION: El método >4 está  siendo  actualmente  objeto  de  estudio... ¡no
  1129. esperar compatibilidad con futuras versiones!
  1130.  
  1131. El módulo X soporta el formato sólido. Un ejemplo de compresión en  formato
  1132. sólido podría ser: "x1 aum1 prueba.x *.*".  Un archivo puede contener varias 
  1133. entradas sólidas independientes -y pueden ser mezcladas libremente con
  1134. entradas normales de un sólo fichero-. Una vez creada, un entrada sólida no 
  1135. puede ser actualizada.
  1136.  
  1137. Para verificar un fichero comprimido,  comprobando la integridad por la
  1138. capacidad de descompresión: "x1 t prueba.x *.*"
  1139.  
  1140. Para verificar un archivo comprimido buscando errores de transmisión: 
  1141. "x1 tf prueba.x *.*"
  1142.  
  1143. Sí, esto le  da  a  la    opción    "F"  (forzar el fichero adentro/afuera) otro
  1144. significado (comprobación rápida de CRC) cuando se comprueban ficheros. Sin
  1145. embargo, esto no restringe el uso de la opción su función original, ya que
  1146. no tiene sentido "forzar" la entrada o salida de ficheros de un archivo durante
  1147. el proceso de test.
  1148.  
  1149. Intentar hacer una comprobación rápida de CRC en otros formatos que no soportan
  1150. doble CRC resultará en una comprobación normal -más lenta- de CRC.
  1151.  
  1152. Unas breves palabras del método 4:
  1153.  
  1154. Se emplea la opción de "nivel de compresión" de la siguiente manera: 
  1155.      "x1 am4l2 prueba.x *.*"
  1156.      ... significa en realidad compresión de nivel 2 (<4Mb. de memoria)
  1157.  
  1158.         Nivel Memoria  Comentario
  1159.           0    640kb  El administrador de memoria puede pedir 1Mb.
  1160.           1      3Mb  -
  1161.           2      7Mb  -
  1162.           3     16Mb  Imposible de probar -no tengo 16Mb. de RAM
  1163.  
  1164. ¡Recuerde siempre que el método 4 puede cambiar de nuevo!
  1165.  
  1166. 6. Nombres temporales de fichero
  1167. ================================
  1168.  
  1169. Mientras se comprime, el programa utiliza un fichero temporal "X???????.SWP" 
  1170. (donde ??..?? son caracteres escogidos al azar). Contiene el nuevo archivo
  1171. que está siendo construido. Si la  operación parece tener éxito, a este
  1172. fichero se le pone el nombre solicitado.
  1173.  
  1174. Durante la extracción, puede ocurrir que una entrada del archivo extraído tenga
  1175. el mismo nombre que el propio archivo. En este caso, el archivo original se
  1176. renombra temporalmente a un nombre neutro (X???????.SWP) y borrado, una vez
  1177. que todas las entradas solicitadas hayan sido extraídas.
  1178.  
  1179. En ningún caso hay más de 3 ficheros abiertos (durante la actualización  de
  1180. un archivo antiguo). Una vez en funcionamiento, el programa utilizará  como
  1181. máximo un fichero temporal -y un único nombre para el mismo, X??????.SWP.
  1182.  
  1183. La extensión puede parecer un poco confusa. El fichero temporal  NO  ES  un
  1184. fichero de intercambio (swap file).  Al final, este fichero sera renombrado
  1185. y sus contenidos no se copian en ningún otro sitio-.  Pero la extensión
  1186. debería ser asociada a los ficheros temporales de otros programas (compiladores
  1187. Borland) que pueden causar menos resquemor al usuario a la hora de borrarlos.
  1188.  
  1189. Dado que los ficheros de intercambio no son necesario, no se soportan 
  1190. directorios de trabajo especiales. Para una velocidad óptima, el proceso de
  1191. compresión debería tener lugar en una unidad de disco virtual.  Y los ficheros 
  1192. resultantes deberían ser copiados al destino deseado.
  1193.  
  1194.  
  1195. 7. Códigos de salida
  1196. ====================
  1197.  
  1198. Referencia interna Valor  Comentario
  1199. ------------------ ----- -----------------------------
  1200.  EXIT_OK         0       Sin errores
  1201.  EXIT_INT_ERR         1       Error interno (¿?)
  1202.  EXIT_NO_MEM         2       Memoria agotada
  1203.  EXIT_NO_DISK         3       Espacio de disco agotado
  1204.  EXIT_NO_OPEN         4     No se pudo abrir el archivo
  1205.  EXIT_NO_TMP         5       No se pudo abrir el fichero temporal
  1206.  EXIT_NO_FOUND         6       No se pueden encontrar los ficheros
  1207.  EXIT_NO_PATH         7       No se puede encontrar trayecto
  1208.  EXIT_NO_BASE         8       No se puede acceder al directorio base
  1209.  EXIT_NO_MKDIR         9       No se puede crear directorio
  1210.  EXIT_BREAK         10    Interrumpido por el usuario
  1211.  EXIT_FILE_ERR         11    Error de fichero descnocido -- no se pudo leer
  1212.  EXIT_BAD_HDR         12    Directorio del archivo (parcialmente) corrompido
  1213.  EXIT_BAD_EXT         13    Los contenidos del archivo no se corresponden con la
  1214.                extensión
  1215.  EXIT_BAD_ARC         14    ¿Seguro que es un archivo?
  1216.  EXIT_LONG_NO         15    Demasiados argumentos. Formato no soportado.
  1217.  EXIT_LONG_PATH      16    Trayecto demasiado largo.
  1218.  EXIT_NO_OVERRIDE    17    No se puede anular el trayecto base
  1219.  EXIT_NEST         18    Directorios demasiado anidados
  1220.  EXIT_SCRIPT_ERR     19    Errores en el fichero de guión
  1221.  EXIT_NOTHING         20    Nada que hacer
  1222.  EXIT_UNSP         21    Método no soportado en esta versión
  1223.  EXIT_COM         22    Orden desconocida
  1224.  EXIT_OPT         23    Opción desconocida
  1225.  EXIT_OPT_DIR         24    Opción desconocida
  1226.  EXIT_OPT_WR         25    Opción desconocida
  1227.  EXIT_OPT_VIEW         26    Opción desconocida
  1228.  EXIT_WC_FORM         27    Uso inapropiado de comodines
  1229.  EXIT_WC_NAME         28    Uso inapropiado de comodines
  1230.  EXIT_WC_COMPL         29    Uso inapropiado de comodines
  1231.  EXIT_CHG_WRPROT     30    Intento fallido de modificar el archivo
  1232.                (protegido contra escritura)
  1233.  EXIT_CHG_DEL         31    Intento fallido de cambiar el archivo (borrado)
  1234.  EXIT_CHG_UNI         32    Intento fallido de cambiar el archivo
  1235.                (modo sólido de compresión)
  1236.  EXIT_CHG_MULTI      33    Intento fallido de cambiar el archivo (multivol)
  1237.  EXIT_CHG_CR         34    Intento fallido de cambiar el archivo (encriptado)
  1238.  EXIT_CHG_UNCR         35    Intento fallido de cambiar el archivo (no encriptado)
  1239.  EXIT_BAD_KEYFILE    36    Clave incorrecta (encriptación)
  1240.  EXIT_PASS_NO         37    Identificación (de usuario) no válido (encriptación)
  1241.  EXIT_PASS_DIFF      38    Verificación de password fallida (encriptación)
  1242.  EXIT_SECURITY         39    Error general de seguridad (encriptación)
  1243.  EXIT_NOCRYPT         40    Imposible manejar archivo encriptado
  1244.  
  1245.  
  1246. ------------------------------------------------------------------------------
  1247.  
  1248. Stig Valentini, x1develop@internet.dk (1996 - /3/1997)
  1249.  
  1250. ------------------------------------------------------------------------------
  1251.