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