home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 9 Archive
/
09-Archive.zip
/
x1os294h.zip
/
X1USER.DK
< prev
next >
Wrap
Text File
|
1996-06-16
|
56KB
|
1,124 lines
-------------------------------------------------------------------------------
DOKUMENT TYPE : X1 BRUGER VEJLEDNING
SPROG : DANSK
TEKST TYPE : IKKE-FORMATERET ASCII
KARAKTER SÆT : IBM CODEPAGE 850
PROGRAM VERSION BESKREVET : X1 v0.94g (beta)
SIDST OPDATERET (ÅR MÅNED..): 960521
SIDSTE OPDATERINGS NOTE : FOREL¥BIG TEKST -- SENERE ÆNDRINGER KAN FOREKOMME
SKREVET AF : S.V.
OVERSÆTTELSE : S.V.
ANDRE DOKUMENTER : X1 DISCLAIMER,
X1 CHANGE HISTORY,
-------------------------------------------------------------------------------
VIGTIGT: Brug ikke dette program f¢r De har læst, forstået og
accepteret betingelserne angivet i 'disclaimer' dokumentet.
===============================
= X1 BRUGER VEJLEDNING =
= GENEREL VERSION OVERSIGT =
===============================
1. Maskinelle forudsætninger (minimum)
2. "Hvad er dette?" (abstract)
3. "Hvordan-bruger-man"
(kommando-linie format og kommandoer/option gennemgang)
4. Environment variable (sprog modulet)
5. Formater og komprimerings metoder (oversigt og eksempler)
6. Midlertidige fil navne
7. Slut retur værdier
1. Maskinelle forudsætninger
===========================
CPU : 386sx eller bedre
RAM : minimum 4Mb hukommelse er stærkt anbefalelsesværdigt
OS : DOS/Win95 (DOS 3.3 og senere - underst¢tter mulige lange Win95 filnavne)
OS/2 (32-bit)
NT/Win95
Anskaf et specifikt program for hvert operativ system.
Vær klar over, at hukommelses-mængden angivet af programmet er indirekte
rapporteret via DPMI - hvilket er den "synlige" mængde. Afhængig af gældende
hukommelses-styring (DOS...OS2...), så kan disk-simuleret hukommelse være
anvendt og den rapporterede mængde hukommelse dermed overstige den fysisk
installerede mængde. Men det betyder mindre for programmet, hvordan hukommelsen
er organiseret. Det er vigtigere, hvor meget der tillades anvendt (af
hukommelses manageren).
2. "Hvad er dette?"
==================
Dette er et arkiv program. Det komprimerer flere filer til en enkelt fil.
Det er helt kommando-linie styret. Komprimering og dekomprimering er kombineret
i samme program. Det har en hastighed-formindskelses-
hukommelses vægtning, der hælder mod bedre komprimerings grad og fors¢ger
fuldt ud at udnytte tilgængelige ressourcer (hukommelse) på den platform, der
anvendes.
Mest fremtrædende egenskaber er:
* Introducerer .x arkiv format
* Kompatibel med ARJ,(PK)ZIP,LHA(RC),ZOO,HA
* Flersproget bruger-grænseflade
* Indeholder "eksperimentelle" metoder, som f¢lge af en udforskning af
h¢jt-ydende algoritmer. "eksperimentel" indikerer ikke ustabilitet
- men snarere at metoderne ikke kan forventes underst¢ttet med
tilbagevirkende kraft i alle fremtidige versioner.
Kommando-linie grænsefladen svarer til den for ZOO og HA. Men udvalget af
options svarer mere til ARJ og LHA. Grænsefladen har lidt til fælles med
PKZIP. Men en basal viden til andre arkiv programmer, så skulle det være
muligt at overspringe dele af denne dokumentation.
3. "Hvordan-bruger-man" (kommando-linie format og kommandoer/option gennemgang)
==============================================================================
Dette er specifikationerne for programmet. Hvis programmet opf¢rer sig
anderledes, så kan det enten skyldes egentlige fejl - eller en ufuldendt
implementation af funktionerne if¢lge specifikationen.
Brugen af beskrivelsen "arkiv program" for et program vil stille
forventninger - baseret på egenskaberne for andre tilsvarende programmer.
Derfor bliver det n¢dvendigt at notere hvad der ER! - men også til nogen grad
hvad der IKKE ER - implementeret.
Hvis en del af programmet ikke er implementeret, så vil en besked
"**Ikke implementeret**" indlede afsnittet. Yderligere arbejde skulle
reducere antallet af sådanne beskeder.
Kommando-linie format
---------------------
X1 kommando[<options>..] <arkiv> [<filmaske>..]
Definitioner:
kommando[<options>..] kun een kommando er tilladt (f¢rste enkelte karakter)
fulgt af en serie options - uden blanktegn mellem
kommando og options - eller imellem options.
<arkiv> er arkiv navnet - i mangel af endelse benyttes .ZIP
<filmaske> angiver filerne, der skal arkiveres, som i mangel af
en rigtig filmaske inkluderer alle filer som standard.
Fil selektions symboler *, ? kan anvendes. Filnavn
er specificeret i normal forlængelse af direktorie-sti
navnet.
Kommando-linie syntaks regler
-----------------------------
Kommandoer og options kan specificeres med enten små eller store bogstaver.
Vær klar over at "x1" har to direktorie-sti ekskluderings options i stedet
for een, som normalt. Dette er en f¢lge af regel #1 og #2.
Regel #1 (direktorie-sti inkluderet):
-------------------------------------
Som standard inkluderes alle direktorie-stier angivet på kommando-linien
i arkivet - med mindre ekskluderings option "X" er tilkoblet.
Regel #2 (direktorie-sti inkluderet):
-------------------------------------
Som standard inkluderes alle direktorie-stier under rekursiv fil
s¢gning ("R" option tilkoblet) i arkivet - med mindre ekskluderings
option "E" er tilkoblet. Dette er noget forskellig fra andre
arkiv programmer.
Regel #3 (flere filmasker relaterende til samme direktorie)
-----------------------------------------------------------
Filmaske uden direktorie-sti overtager automatisk samme direktorie-sti
som forudgående filmaske.
Forklaret mere detaljeret:
Antag "x1 a test <arg[1]> .. <arg[i]> <arg[i+1]>..". Hvis <arg[i+1]>
ikke indeholder "\" ("/") eller ":" så antages den at virke under samme
direktorie-sti som <arg_i> (som kan virke under samme direktorie-sti som
<arg[i-1]>...etc.). Hvad betyder det? Det indebærer at:
"x1 a test \dir1\dir2\*.c *.h" bevirker samme resultat som
"x1 a test \dir1\dir2\*.c \dir1\dir2\*.h". Hvad betyder det ikke? Tja,
"x1 a test dir1\*.c dir2\*.h" virker ikke som
"x1 a test dir1\*.c dir1\dir2\*.h" fordi "dir2\*.h" indeholder "\".
Ej heller vil "x1 a test dir1 *.c" virke som "x1 a test dir1\*.* dir\*.c",
hvilket ville være meningsl¢st.
Berettigelsen for denne konvention hviler helt på sparet indtastning
(bemærk hvordan De ikke beh¢vede at gentage "\dir1\dir2\" på kommando-
linien i det f¢rste eksempel).
Side-effekter/ulemper? Hvis De ¢nsker filer fra det aktuelle
direktorie, så må de specificeres f¢r individuelle direktorier angives...
Dette er stadig kun en konvention, og skulle ikke begrænse brugeren på
nogen måde.
Regel #4 (direktorie lagret i arkivet)
--------------------------------------
Specificering af et direktorie-navn på kommando-linien foranlediger
komprimering af alle filer i det pågældende direktorie. Bemærk at
"x1 a test \dir1\dir2" bevirker samme resultat som "x1 a test \dir1\dir2\"
eller "x1 a test \dir1\dir2\*.*". Og hvis den rekursive option "R" er
tilkoblet, så vil alle filer h¢jere i "\dir1\dir2\.." også blive
inkluderet.
Men se Dem for! Hvis filnavne er identiske med direktorie-sti navne, så
er det ikke altid indlysende, hvad slut-resultatet bliver.
==============
= KOMMANDOER =
==============
? kommando (viser hjælpe-tekst)
-----------------------------------
Denne kommando bruges kun i sammenhængen "x1 ?".
Der vil blive vist en kort oversigt over kommandoer og options.
Den viste skærmside er ikke den samme som vises, når programmet startes
uden parametre. Uden specificerede parametre vises kun kommandoer
(imellem dem er "?").
Hvis informationen vises for hurtigt, så kan det anbefales at
omdirigere data til en fil ("x1 ? >arkiv.lst"), som efterf¢lgende
kan gennemses i brugerens favorit fil-viser (Norton-Commander-F3) eller
i dennes favorit editor...
Mange sprog er underst¢ttet. Ikke desto mindre var nogle sprog
vanskeligere at forstå end andre. Så det kan ikke garanteres at meninger
altid er krystal klare. I tilfælde af tvivl, så b¢r de engelske, danske,
franske, tyske, spanske sider konsulteres (i den prioritets rækkef¢lge).
(På PC) Hvis brugerens codepage opsætning er forkert, så vil resultatet
være manglende karakterer. Så brug venligst en smule tid på at få orden
i codepage opsætningen.
A kommando (adder filer til arkiv)
----------------------------------
Tilladte options: $,A,C,E,F,I,K,L,M,N,O,R,S,T,U,V,X,Y,Z
Denne kommando opererer på to niveauer:
* skaber arkiv og tilf¢jer filer...
* opdaterer (genåbner) arkiv og tilf¢jer filer...
Men grundliggende komprimeres og adderes specificerede filer til et arkiv.
Hvis det angivne arkiv ikke findes, så bliver et dannet med det
specificerede navn. Eksisterer det allerede eksisterede, så bliver det
opdateret. Det betyder, at nye filer med samme navn og direktorie-sti som
allerede eksisterende arkiv indgange vil overskrive disse gamle indgange.
Nogle få undtagelser findes (når der komprimeres til "solid" format)
- men det falder udenfor sammenhængen lige nu.
Hvis basis direktoriet er udeladt, så antages i mangel af bedre
det aktuelle direktorie at gælde.
Hvis der ikke er specificeret nogen filer på kommando-linien, så
adderes alle filer (i det aktuelle direktorie). Dette betyder at
"x1 a test.x" komprimerer alt i det gældende direktorie.
På ingen måde er det muligt at komprimere et arkiv under opdatering
ind i sig selv.
Hvis endelsen på destinations-arkivet ikke er specificeret, så anvendes
i mangel af anden angivelse endelsen ZIP. Hvis der ¢nskes komprimeret til
et andet format, så er det n¢dvendigt at specificere destinations-arkivet
med format endelsen (ARJ,LZH,..). Det er ikke muligt at komprimere til
arkiver med helt vilkårlige endelser.
Filnavne kan ekskluderes fra addition til arkivet ved brug af option
"Z".
Eksempel (komprimerer til standard format): x1 a arkiv.x min_fil.doc
Eksempel (komprimerer til ZIP format) : x1 a arkiv.zip min_fil.doc
C kommando (kommentarer tilf¢jes til arkiv)
--------------------------
**Ikke implementeret**
Tilladte options: I,C
Denne kommando tilf¢jer kommentarer til et arkiv. Kommentarer er mulige
i ARJ,ZIP,ZOO,X - men ikke i LHA,HA formater. Dette skyldes forskelle i
den indre struktur.
D kommando (sletter filer fra arkiv)
---------------------------------------
Tilladte options: I,S,Z
For at kunne blive slettet, så må en navn og direktorie-sti indgang i
arkivet svare til et argument på kommando-linien (ingen forskelle mellem
store og små bogstaver - i DOS).
Hvis en fil-angivelse ikke indeholder en direktorie-sti, så kommer den til
at gælde for alle indgange i arkivet - uagtet brugerens direktorie-stier.
Det betyder at "x1 d test.x *.pas" vil tillige slette indgange
"dir1/dir2/*.pas" i arkivet (hvis forefindes). Ikke desto mindre, så vil
"x1 d test.x /dir1/dir2/*.pas" kun slette sidstnævnte filer af denne type
- ikke "*.pas" filer uden direktorie-sti.
Hvis alle filer ¢nskes slettet, så fjernes hele arkivet (slettes).
Filnavne kan ekskluderes fra sletning ved brug af option "Z".
Eksempel (sletter adskillige indgange): x1 d arkiv.x *.pas *.doc
Eksempel (sletter hele arkivet) : x1 d arkiv *.*
E kommando (udpakker filer uden direktorie-sti)
-------------------------------------------
Tilladte options: $,A,F,I,N,O,T,W,Y,Z
Denne kommando er identisk med "X" kommandoen ved "E" optionen.
Den er kun underst¢ttet på grund af en generel enighed mellem
arkiv programmer (om at underst¢tte denne kommando).
Under udpakning vil dato/tid mærkningen for den originale fil blive
genskabt sammen med fil indholdet. En CRC kontrol udf¢res for at
konstatere at operationen lykkedes. Ikke desto mindre er filen
kontrolleret f¢r skrivning til disk, snarere end kontrolleret under
efterf¢lgende kontrol-læsning.
Filer kan uddrages til et bruger-specificeret direktorie eller drev - men
i mangel af anden angivelse, så uddrages filer til det aktuelle
direktorie. Al udpakning sker uden direktorie-sti (til enkelt direktorie).
Når der uddrages til et angivet direktorie, så skal direktorie-navnet
ende med "/" eller "\" som i eksemplet "x1 e test.x c:\dir\". Hvis ikke
direktorie-navnet ender med et sådant tegn, som i "x1 e test.x c:\dir"
så vil det få programmet til at antage, at det er en fil, der fors¢ges
udpakket fra arkivet.
Hvis der uddrages til et ikke-eksisterende (kommando-linie angivet)
direktorie, så vil brugeren blive advaret om hændelsen og konsulteret
f¢r yderligere handling. Advarsels foresp¢rgslen præsenterer flere
forskellige l¢sninger - fra "(j)a" (skab kun direktorie denne ene gang)
til "(a)ldrig" (skab intet på noget tidspunkt). Brugeren svarer ved at
trykke på tasten i parentes. De faktiske ord og bogstaver kan variere
for forskellige sprog moduler. Det er muligt at komme foresp¢rgslen i
fork¢bet ved at aktivere en af optionerne "Y" eller "N".
Når der udpakkes til et specificeret drev, så er det tilladt at ende
drev-angivelsen med ":" som angivet i eksemplet "x1 e test.x a:". Dette
skyldes, at intet filnavn antages at ende med dette tegn. Hvis adskillige
destinations drev/direktorier er angivet (som i eksempel
"x1 e test.x a: b: c:"), så vil det sidst angivne drev/direktorie blive
brugt til den faktiske udpakning ("c:").
Hvis der fors¢ges udpakket en fil til et direktorie af samme navn, så vil
filen blive oversprunget (med mindre smart overskrivning er valgt med
option "W").
Hvis der fors¢ges udpakket til et allerede benyttet filnavn, så vil
brugeren blive advaret om hændelsen og konsulteret f¢r yderligere
handling. Eneste undtagelse er 0-længde filer. De antages ikke at
indeholde nogen vigtig information - og overskrives uden advarsel.
Advarsels foresp¢rgslen tillader flere forskellige l¢sninger - fra
"(j)a" (overskriv kun denne ene gang) til "(a)ldrig" (overskriv på intet
tidspunkt). Brugeren svarer ved at trykke på tasten i parentes. De
faktiske ord og bogstaver kan variere for forskellige sprog.
Eksempel (udpakke fil): x1 e arkiv.x file_id.diz
F kommando (opfrisk filer allerede i arkivet)
----------------------------------------------
**Ikke implementeret**
Tilladte options: E,F,I,X
Denne kommando erstatter indgange i et arkiv med nyerere filer, om
muligt. Dette betyder, at navnene og det totale antal filer forbliver
uændrede for arkivet. Kun indholdet af de arkiverede filer ændres.
Kun filers dato/tid mærkning er sammenlignet under s¢gningen efter
nyerere filer. Hvis filer er ældre - eller har samme dato/tid (men
muligvis forskellig st¢rrelse), så bliver de oversprunget.
Mulig konflikt opstår i situationen, hvor arkivet indeholder direktorie-
stier. Skal det være n¢dvendigt at specificere disse indgange specielt?
Svaret valgt her er: nej! I stedet er det n¢dvendigt at ekskludere dem
med option "E" - hvis de af ukendte grunde ikke ¢nskes opfrisket som
andre filer.
I lighed med "A" kommandoen, når der ikke er specificeret nogen filer på
kommando-linien, så vil alle filer i arkivet blive fors¢gt opfrisket.
Dette indebærer, at "x1 f test.x" fors¢ger at opfriske alle filer i
"test.x" - mens "x1 f test.x *.pas" kun fors¢ger at opfriske "*.pas" filer
(inklusiv muligvis "dir1/dir2/*.pas" filer). Kun
"x1 fz test.x *.pas dir1/dir2/*.pas" s¢rger for at ekskludere sidstnævnte
filer fra opfrisknings processen.
Eksempel (opfrisk alle filer): "x1 f test.x"
L kommando (lister arkivets indhold)
------------------------------------------
Tilladte options: E,I,O,Z
Denne kommando fremviser standard information for filer i arkivet. Dette
inkluderer:
* fuld navn inkl. direktorie-sti
* komprimeret og ukomprimeret fil st¢rrelse
* komprimering ratio (% komprimeret/ukomprimeret)
* dato (i år-måned-dato format)
* tid (i time-minut-sekund format)
* CRC (16/32 bit)
* DOS type fil attributter
* komprimerings metode (angivet ved nummer snarere end navne-betegnelse)
Tegnet "*" tilf¢jet for enden af filnavnet angiver at filen er krypteret
og f¢lgelig ikke kan udpakkes.
Dynamisk "justering" af direktorie-sti og navn bliver fors¢gt. Hvis ikke
der er plads nok til navnet, så bliver alt listet på een linie. Ellers
bliver direktorie og filnavn placeret på en linie for sig selv - og
yderligere information anbragt på næste linie.
Der er muligt at liste alle arkiver i et specifikt format ("x1 l *.lzh")
eller alle arkiver, som programmet kan genkende ("x1 l *"), hvilket
kun betyder unders¢gelse af filer med genkendelige navne-endelser (".arj",
".zip",..). Det er også muligt kun at vise udvalgte filer i arkiver
("x1 l test.x *.zip *.nfo *.diz").
Hvis informationen bliver vist for hurtigt, så kan det tilrådes at
omdirigere data til en fil ("x1 l *.zip >arkiv.lst"), som efterf¢lgende
kan beses i brugerens favorit fil-viser (Norton-Commander-F3) eller i
dennes favorit editor...
Eksempel (lister alle *.ARJ,*.ZIP,...): "x1 l *"
T kommando (tester arkiv indhold fejlfrihed)
------------------------------------------------
Tilladte options: E,F,I,O,Z
Denne kommando har to måder at virke på:
* kontrollere at arkiv programmet ikke har lavet fejl under
komprimeringen
* kontrollere for fejl påf¢rt arkivet under transmission
(lagrings medie eller hardware transmissions kanal fejl).
Den f¢rste fejltype er klart den mest alarmerende. Derfor er det også
normalt den slags fejl, der testes for. F¢lgelig kræves udpakning af
data (til hukommelsen).
For at sikre succes ved mulig udpakning, så er en kontrol funktion
givet i form af CRC (cyclic-redundancy-checksum) kontrol. Selvom
processen ikke er 100% sikker, så er det normalt tilstrækkeligt
for de fleste praktiske situationer.
Det er muligt at teste hele indholdet i flere arkiver ("x1 t *.zip"),
individuelle filer i en gruppe af arkiver ("x1 t *.zip *.doc")
eller individuelle filer i individuelle arkiver
("x1 t arkiv.x readme.doc").
Når arkiv programmet kan antages at have udf¢rt sin opgave
tilfredsstillende, så kan en simplere CRC kontrol udf¢res. Denne kontrol
aktiveres med option "F". Hvordan vides at programmet har udf¢rt opgaven
ordentlig? Tja, pr¢v f¢rst en normal CRC kontrol (straks efter
kompression). Hvis resultatet er i orden, så kan kun efterf¢lgende
transmissions fejl forventes.
Brugeren informeres om alle uoverensstemmelser mellem den lagrede CRC og
den faktisk konstaterede CRC værdi. I tilfælde af fejl, så er det meget
usandsynligt at data kan reddes - med mindre en form for ECC (fejl
korrigerende kode) er aktiveret. Opdatering af arkiver med CRC fejl er
ofte mulig, men kan ikke anbefales.
Hvis "solid" arkiver er involveret, så kan CRC kontrol tage ekstra lang
tid. Dette skyldes, at udpakning af en fil kan kræve udpakning af en
forudgående fil. I "solid" tilstand komprimeres filer i en st¢rre
sammenhæng, og dette nedsætter tilgængeligheden.
Eksempel (tester alle filer): "x1 t test.x"
P kommando (beskyt arkiv mod fejl)
-------------------------------------
Tilladte options: I,L
Denne kommando vil bevirke tilf¢jelse af fejlkorrigerende kode (ECC) til
arkivet - hvilket skulle beskytte mod efterf¢lgende medie eller
transmissions fejl.
Tilf¢jelse af fejlkorrigende kode mere end een gang vil forhindres.
Snarere end at bruge en simple metode flere gange - så anbefales
det at bruge en mere sofistikeret metode, der bedre udnytter pladsen
anvendt for fejlkorrigerende kode.
På samme måde som komprimerings metoder kan specialiseres til bestemte
typer data - så må fejlkorrigerende metoder optimeres for bestemte typer
fejl. I modsat tilfælde, så vil resultatet være ¢get pladskrav til den
fejlkorrigerende kode og mindre effektiv udnyttelse af denne. Flere
metoder vil blive gjort tilgængelige senere.
Den fremdeles anvendte beskyttelses metode er "Niveau-1" fejlkorrigerende
kode.
Niveau-1:
Denne type beskyttelse henvender sig til den almindelige bruger, som
¢nsker lav sikkerhed mod en beskeden ¢gning af filst¢rrelsen. Metoden er
specialiseret til at kompensere for disk(ette) medie fejl. Den kan
kun kompensere for een (!) tabt sektor. Sektor st¢rrelsen kan
konfigureres. I mangel af anden angivelse, benyttes 512 bytes.
Hvis der ¢nskes sikret mere end een sektor, så b¢r h¢jere niveauer
af fejlbeskyttelse benyttes.
Hvis der beskyttes en (N) bytes stor sektor, så vil den tilf¢jede
beskyttelses-data fylde (N+45) bytes. De 48 bytes dækker et hoved med
en CRC for selve hovedet, en CRC for den totale fil og nogle
test-vektorer brugt til hurtigere lokalisering af fejl.
Beskyttelses-data anbringes i en sammenhængende blok i filens
begyndelse.
Niveau-2:
Mangler stadig at blive implementeret.
*ADVARSEL* Fejlkorrigende kode kan kun rette et begrænset antal fejl.
En metode vil kun rette et antal fejl if¢lge specifikationen. Derfor:
læs specifikationen - og forvent ingen yderligere retning af fejl!!!
Fejlkorrektion giver kun en begrænset sikkerhed. Det er vigtigt ikke
at have blind tillid til metoderne.
Eksempel:
Beskyttelse mod en enkelt tabt (floppy diskette) 512 byte sektor
opnås med kommandoen "x1 p test.zip" eller "x1 pm1 test.zip".
For at beskytte mod en tabt 1024 byte sektor (hvilket er 2*512, derfor
"m2"), så bruges "x1 pm2 test.zip".
R kommando (reparer arkiv for mulige fejl)
------------------------------------------------
Tilladte options: I
Denne kommando har to måder at virke på:
* Egentlig reparation af fejl i arkivet
* Kontrol af at arkivet er fri for fejl
Anderledes normal CRC verifikation af arkivet ber¢rer kun
komprimerede filer - ikke eventuelle defekter påf¢rt den
fejlkorrigerende kode. Den "udvidede test" kan naturligvis kun
udf¢res hvis der er fejlkorrigerende kode til stede.
Reparering af arkiv med fejlkorrigerende beskyttelse:
Denne kommando fjerner fejl - enten i den fejlkorrigerende kode - eller
i de egentlige data. Hvis fejlene er korrigerbare, så vil de blive rettet
og en besked vil tilkendegive at processen var succesfuld.
Reparering af arkiv uden fejlkorrigerende beskyttelse:
Dette har aldrig været meningen med kommandoen. I dette arkiv
program er der ingen generel "reparerings" funktion for beskadigede
arkiver. I stedet opfordres brugeren til at fors¢ge udpakning af
arkivet - og gen-pakning af data. Problemet med at bibringe en generel
"reparations" funktion er velkendte fra programmet "PKZipFix" vedlagt
arkiv programmet "PKZIP". Reparations programmet opdaterer blot
data-hoved strukturen - uden at kontrollere for fejl inden i individuelle
filer. Nye filer kan derefter adderes til arkivet. Men uden kontrol (CRC)
test, er det ikke muligt at vide om arkivet indeholder yderligere fejl.
Undladen at kontrollere for denne mulighed kan resultere i en falsk
tryghedsfornemmelse. Derfor virker det umiddelbart bedre kun at tillade
udpakning fra arkivet - hvilket tillader brugeren at bed¢mme omfanget
af skaderne. Hvis arkiv er lagret indenfor arkiv, så opstår farlige
muligheder for fejltagelser. I sådanne tilfælde er det bedst at brugeren
fors¢ger at bed¢mme situationen. Hvis på een eller anden måde folk ville
være interesserede (og villige til at betale!), så kan et avanceret
fejl-korrigerings program konstrueres for nogle/alle af de forskellige
formater. Men det ville ikke ændre det faktum, at de fleste fejl normalt
er uoprettelige.
Eksempel: "x1 r test.x"
U kommando (fjern arkiv beskyttelse - fjerner fejlbeskyttende kode)
--------------------------------------------------------------
Tilladte options: I
Denne kommando har den modsatte effekt af "P" kommandoen. Der fors¢ges
fjernet eventuel tilstedeværende beskyttende kode (ECC).
Mislykket fors¢g på at fjerne fejlkorrigerende kode han have to grunde:
ingen beskyttende kode - eller fejl der blokerer detektion af hovedet for
de fejlbeskyttende data. I sidstnævnte tilfælde kan det anbefales at
fors¢ge fejlkorrigering.
Det kan tilrådes at fors¢ge at reparere for fejl f¢r sletning af
fejlkorrigerende kode. Selv om processen lykkes med at finde de
fejl-korrigerings data - så kan arkivet stadig indeholde fejl på andre
positioner. Ingen egentlig fejl-kontrol foretages ved fjernelse af
fejlkorrigerende data (for at ¢ge hastigheden).
X kommando (udpakker filer med fuld direktorie-sti)
--------------------------------------------------
Tilladte options: $,A,E,F,I,N,O,T,W,Y,Z
Den hovedsagelige forskel fra "E" kommandoen er, at filer udpakkes med
direktorie-sti (registreret i arkivet). Direktorie-stier kan gennemses
f¢r udpakning med "L" kommandoen.
Filer kan udpakkes til et bruger specificeret direktorie - men i
mangel af angivelse, så udpakkes til det aktuelle - og nye
direktorier bygges ud fra aktuelle direktorie. Nogle direktorier kan ikke
lægges i forlængelse af det aktuelle direktorie. Det er direktorie-stier
som indeholder drev-angivelser eller angiver særlige rod-direktorier.
Sådanne direktorier anbringes på disken i henhold til den angivne
position.
Når der udpakkes til et angivet direktorie eller drev, så udbygges
direktorier i forlængelse af pågældende direktorie. For eksempel vil
"x1 x test.x a:" fors¢ge at udpakke alle filer til "a:" (mens direktorier
udbygges fra det aktuelle direktorie for det pågældende drev).
Når udpakning kræver et ikke-eksisterende direktorie på disken, så
behandles situationen, som når der udpakkes til et ikke-eksisterende
(kommando-linie angivet) direktorie. Brugeren advares om hændelsen og
konsulteres f¢r yderligere handling.
===========
= OPTIONS =
===========
$ option (adder/uddrag disk volume label)
----------------------------------------
**Ikke implementeret**
Komprimering:
Tilf¢jer diskette label (for den f¢rste angivne filmaske) til
arkivet. I eksemplet "x1 a test.x *.* a:*.* b:*.* c:*.*", så vil disk
label for det aktuelle drev f¢jes til arkivet - fordi det aktuelle
drev er brugt for den f¢rste filmaske. "x1 a test.x a:*.* b:*.* c:*.*"
bevirker registrering af disk label for drev "a:".
Udpakning:
Uddrager disk label (hvis tilgængelig) fra arkiv til disken, hvor filer
udpakkes. Fordi kun een disk label er tilladt i arkivet, så skulle
forvirring ikke være mulig.
A option (attributter gemme/gendanne)
-------------------------------------
**Ikke implementeret**
General note: denne option var hovedsagelig tiltænkt "specielle
attributter" sådan som udvidede attributter i OS/2. Simple attributter,
sådan som fundet i DOS, gendannes altid.
Komprimering:
Her er funktionen at gemme alle attributter (muligvis udvidede) i arkivet.
Udpakning:
Her er funktionen at gendanne (muligvis udvidede) attributter. Operativ
system (OS) afhængige attributter kan kun gendannes under samme OS. i
tilfælde af OS konflikt, så gendannes attributterne enten ikke - eller
en passende erstatning findes.
C option (hent kommentar fra fil)
--------------------------------------
**Ikke implementeret**
Kun brugt med "C" kommandoen.
Der er to måder at tilf¢je kommentarer til et arkiv:
* indskrivning fra tastaturet
* indsætte karakterer fra fil
Denne option aktiveres kun i tilfælde at kommentarer skal indlæses fra
fil.
E option (udelad direktorie-sti fra arkiv filer)
----------------------------------------
Komprimering:
Funktionen er at udelade direktorie-stien fundet under en eventuel
rekursiv s¢gning for filer. Hvis ikke aktiveret, så inkluderes
alle direktorier som standard.
Udpakning:
Her er funktionen at sikre at alle filer udpakkes til samme direktorie
- uden hensyntagen til direktorierne gemt i arkivet.
Fil opfriskning:
Funktionen er her at undgå opfriskning af filer med direktorie-sti i
arkivet. Hvis ikke aktiveret, så opfriskes alle filer som standard.
F option (tving fil flytning ind/ud af arkiv)
--------------------------------------------------
**Ikke implementeret**
Komprimering:
Funktionen er her at slette filer fra disken, når alle filer er blevet
komprimerede og hele operationen synes vellykket. Dette sker for at
opnå ekstra sikkerhed - så hvis hele processen afbrydes i utide, så
b¢r det ikke resultere i tabte data.
Udpakning:
Her er funktionen at reducere arkivets st¢rrelse - ved at slette indgange
svarende til udpakke filer.
I option (tavs mode)
-----------------------
**Ikke implementeret**
Denne option undertrykker al skærm udskrift. Dette inkluderer alle
standard udskrifter og %-færdig-angivelse. Dette skulle tillade andre
programmer, at kalde programmet og lade arkiv programmet bearbejde
data - uden at skærmen forstyrres af udskrifter.
K option (overskriv eksisterende arkiv)
---------------------------------------
**Ikke implementeret**
Komprimering:
Her funktionen at overskrive et eventuelt eksisterende arkiv. Eller ville
arkivet være blevet opdateret - og nye indgange tilf¢jet til allerede
eksisterende.
L<nummer> option (komprimerings niveau)
-----------------------------------------
Komprimering:
Denne option angiver et mere detaljeret niveau af komprimering. Dette kan
betyde brug af mere hukommelse - eller nedsat/hurtigere komprimering
- alt afhængig af den valgte komprimerings metode.
.x metode 4 : her er tilladte niveauer 0,1,2,3. Hver niveau bestemmer en
forskellig hukommelses model.
andre metoder: <ingen effekt>
M<metode> option (komprimerings metode)
------------------------------------------
Komprimering:
Angiver anvendte komprimerings metode. Metoden er specificeret som et
nummer 0..256. Hvis nummeret ikke svarer til en gyldig komprimerings
metode, så vil en fejlbesked blive vist.
N option ("NEJ" antages ved alle foresp¢rgsler)
----------------------------------------
Udpakning:
Option "N" er komplementær til option "Y". Option "N" bevirker at alle
eventuelle foresp¢rgsler bliver besvaret med et "NEJ". Dette vil modvirke
alle fors¢g på at stoppe processen og sp¢rge brugeren til råds. Det
ber¢rer hovedsageligt overskrivning af filer, oprettelse af direktorier,
etc.
O option (ordne filer if¢lge navn,st¢rrelse,dato,etc.)
---------------------------------------------------------
Der b¢r altid være to 'O' karakterer i option strengen på kommando-linien.
Mellem "O...O" angives sub-options - som definerer sorterings n¢gler
- og deres rangorden. Ikke desto mindre, hvis ingen andre options
efterf¢lger 'O' optionen, så kan det sidste 'O' udelades.
Underst¢ttede sorterings sub-options er:
A: stigende orden
D: dato
E: endelse
N: navn
P: sti-navn
S: st¢rrelse
T: tid
B: bedste komprimering
Så for eksempel, "OSNO" betyder: sorter f¢rst med hensyn til st¢rrelse
- og hvis to filer har samme st¢rrelse, sorter da efter navn.
Komprimering:
Under komprimering til et nyt arkiv, så indsættes filer i rækkef¢lgen
angivet ved sorterings-n¢glerne. Ved opdatering af et arkiv, så bliver
eksisterende indgange opdateret i gældende orden - mens nye
medlemmer sorteres if¢lge angivne options.
Udpakning:
**Ikke implementeret**
Her udpakkes filer i den orden, som fremgår af angivne options.
Eksempel:
Sorter komprimerede filer mht. (1) dato (2) st¢rrelse og (3) navn:
"x1 aodsno test.x *.*"
R option (rekursiv s¢gning gennem under-directorier)
----------------------------------------------------
Komprimering:
Uden denne option inkluderes kun filer i de kommando-linie specificere
direktorier. Hvis intet direktorie er eksplicit defineret, så
antages det aktuelle direktorie at gælde. Aktivering af denne option
betyder yderligere inkludering af alle filer i alle under-direktorier.
Under-direktorier bes¢ges rekursivt i den rækkef¢lge de forefindes på
disken. Direktorie-stier forlænges i den rækkef¢lge som under-direktorier
genneml¢bes - med mindre option "E" aktiveres. Filer er bes¢gt to gange:
f¢rst under en indledende gennemgang - og senere når den faktiske
behandling af filerne finder sted. Den f¢rste gennemgang foretages for at
tillade en global %-færdig-indikator - og tillade st¢rrelses-beregning
for "solid" blokke (med flere indgange).
S option (ændre arkiv dato/tid til nyeste indgang i arkivet)
----------------------------------------------------------------
**Ikke implementeret**
Komprimering:
Der er tre praktiske muligheder for at sætte dato/tid mærkningen
svarende til nyeste fil:
* vælge den nyeste dato/tid iblandt indgangene tilf¢jet til et
opdateret arkiv
* vælge den nyeste dato/tid iblandt indgangene allerede i arkivet
- f¢r nye filer adderes
* vælge den nyeste dato/tid iblandt alle filer efter overstået
opdatering af arkivet
Men i den aktuelle implementation er kun den sidste mulighed
implementeret.
En nem måde at sætte dato/tids mærkningen uden at addere filer er ved
"x1 lis test.x", hvilket bevirker listning (men ikke fremvisning)
af arkiv indholdet - og tillige opdatering af dato/tid mærkningen.
T option (sæt fil dato/tid mærkning i henhold til aktuelle tid)
----------------------------------------------------------------
**Ikke implementeret**
Komprimering:
Denne option sætter dato/tid for filer indsat i arkivet til den
aktuelle dato/tid. Den oprindelige dato/tid for filerne er ignoreret.
Udpakning:
Mærk de udpakkede filer med den aktuelle dato/tid - snarere end den
der er gemt i arkivet.
Note: alle filer i een proces vil blive påf¢rt den samme dato/tid. Selv
om filer behandles med nogle sekunders mellemrum, så vil de alle få
tiden svarende til da processen startede.
U option (solid komprimering mode)
-----------------------------------
Komprimering:
Hvis kun een fil bliver komprimeret, så har denne option ingen effekt.
Men dersom mere end een fil komprimeres - så bliver de indsat i
"solid mode". Dermed komprimeres filerne som en sammenhængende
sekvens af data (svarende til sammenhægtning) - hvilket for beslægtede
filer burde betyde tættere komprimering.
For optimal komprimering burde filerne grupperes intelligent, så de nærmest
beslægtede filer placeres nærmest hinanden. Men det er ikke automatisk
fors¢gt i den nuværende implementation.
V<st¢rrelse> option (multi-volume behandling)
-----------------------------------
**Ikke implementeret**
Komprimering:
Hvis <st¢rrelse> ikke er angivet, så vil komprimering ske til et arkiv, der
er begrænset i ¢vre st¢rrelse af den disponible disk-plads. Efter hver
volume vil en prompt dukke op (med mindre option "Y" er aktiveret)
hvilket for et udskiftelig disk drev vil tillade indsættelse af en ny
disk. Når det tillades, så vil komprimeringen fortsætte med en anden
arkiv del. Hvis <st¢rrelse> er angivet, så foretages komprimering til et
(multi-volumen) arkiv begrænset i omfang af den angivne st¢rrelse. Under
alle omstændigheder vil slut-resultatet være en række af arkiver med
identiske navne - og varierende endelser x00,x01,. hvor x00 indeholder
de f¢rst komprimerede data. Det er ikke muligt at opdatere et multi-
volumen arkiv i multi-volumen mode. Men det er muligt at opdatere det med
almindelige fil-indgange - eller opdatere et simpelt ikke-volumen arkiv
i forlænget multi-volumen mode.
Udpakning:
Her har angivne <st¢rrelse> ingen relevans. Udpakning skulle kun fors¢ges
for en fuldstændig sekvens af multi-volumen arkiver. Fors¢g på at udpakke
individuelle multi-volumen arkiver er mulig - men vil kun lykkes for
filer, der ikke fortsætter over flere volumener. Der ventes på hver ny
volumen, med mindre option "Y" er aktiveret.
W option (udpakning med smart overskrivning)
----------------------------------------
**Ikke implementeret**
Udpakning:
Denne option fors¢ger intelligent at l¢se problemer, hvor udpakkede
filer risikerer overskrivning af allerede eksisterende navne. Traditionelt
ville problemet blive l¢st ved at sp¢rge brugeren om overskrivning var
¢nsket - og undlade at overskrive, hvis ikke det var tilfældet. Men en
tredje mulighed er at udpakke til ændrede navne. Nye endelser 00X,01X,..
(ikke at forveksle med egentlige .x arkiver) benyttes ved
kollisions-forhindret udpakning.
X option (ekskluder direktorie-sti(er) angivet på kommando-linien)
------------------------------------------------------
Komprimering:
Normalt vil alle direktorie-stier på kommando-linien blive
inkluderet i direktorie/filnavne (for filer adderet til arkivet).
Hvis et direktorie er angivet ved "x1 a test.x dir\*.*" så bliver
navne "dir\file1", "dir\file2",... gemt i arkivet. Option "X" forhindrer
standard registreringen af direktorie-navne på kommando-linien.
"x1 ax test.x dir\*.*" vil registrere fil indgange som "file1",
"file2",... Bemærk venligst, at optionen ikke har noget effekt på
direktorie-sti navne for filer, der findes under rekursiv s¢gning på
disken (option "R"). For at eliminere direktorie-stier i sådanne
tilfælde, så er option "E" påkrævet.
Udpakning:
Her vil optionen ikke have nogen effekt - kun option "E" bruges til at
ekskludere direktorie-stien fra udpakkede filnavne.
Y option ("JA" antages ved alle foresp¢rgsler)
-------------------------------------------
Udpakning:
Option "Y" er komplementær til option "N". Option "Y" bevirker at alle
eventuelle foresp¢rgsler bliver besvaret med et "JA". Dette vil modvirke
alle fors¢g på at stoppe processen og sp¢rge brugeren til råds. Det
ber¢rer hovedsageligt overskrivning af filer, oprettelse af direktorier,
etc.
Z<nummer> option (ekskluderer filer, der ellers vil være blevet arkiveret)
---------------------------------------------
Komprimering:
Når denne option ikke anvendes, så bliver alle filmasker på
kommando-linien brugt til at inkludere filer. Hvis optionen bruges,
så vil i mangel af angivet nummer anvendes værdien 1. Nummeret angiver,
hvor mange filmasker sidst på kommando-linien, som angiver ekskluderede
filer. Denne konvention tillader ikke fri sammenblanding af inkluderings-
og ekskluderings-masker. Alle(!) ekskluderings-masker skal angives samlet
- for enden af kommando-linien. I eksemplet
"x1 az3 test.x test1.* test2.* *.bak *.swp *.tmp" her efterf¢lges option
"Z" af værdien "3" hvilket angiver at de sidste 3 filmasker
"*.bak *.swp *.tmp" angiver filer, hvilke ikke(!) skal adderes til
arkivet. Nummeret tæller bagfra, fra enden af kommando-linien og er
derfor ikke påvirket af det forudgående antal inkluderings-masker.
I tilfældet hvor ekskluderings-nummeret overstiger det samlede antal
filmasker på kommando-linien, så inkluderes som standard filerne "*.*"
- og alle specificerede filer ekskluderes.
4. Environment variable (sprog modulet)
=========================================
På nuværende tidspunkt underst¢ttes kun een environment variabel. Dette
er "COUNTRY", som bruges til sprog/karaktersæt udvælgelse.
I DOS bruges environment variablen COUNTRY til at angive det aktuelle
land og karaktersæt. Specielle sprog-afhængige tegn er underst¢ttet i
det ¢vre ASCII karaktersæt (afsæt 128 til 255) - og kan variere med
konfigurationen. Afhængig af karaktersættet, så kan sprog-afhængige
karakterer forekomme på forskellige afsæt i den udvidede ASCII
karakter-tabel - hvis de overhoved underst¢ttes. Når sådanne karakterer
beh¢ves, så er det n¢dvendigt f¢rst at identificere karakter-sættet.
For eksempel kan konfigurationen for et amerikansk tastatur være:
COUNTRY=001,437
"001" angiver (amerikansk/engelsk) sprog, mens "437" specificerer
codepage 437 (US karakter-sæt). Konsulter en DOS manual for en
detaljeret liste af numre og deres betydning. For dette arkiv program
vil "001" bevirke, at beskeder vises i engelsk. "437" medf¢rer, at mulige
udvidede karakterer s¢ges på ASCII afsæt svarende til IBM codepage 850.
Dersom environment variablen COUNTRY foretrækkes ikke anvendt - så kan
den anden variabel LANGUAGE bruges i stedet. Samme syntaks er påkrævet.
Bemærk, at hvis en sætning ikke forefindes i det pågældende sprog, så
vil den originale engelske besked vises (i mangel af bedre valg).
Andre environment variable underst¢ttes ikke på nuværende tidspunkt.
5. Formater og komprimerings metoder (bruger niveau)
==============================================
F¢rst en oversigt over underst¢ttede arkiv formater og metoder.
"x1" arkiv program svarende til version 0.94a ("+" angiver underst¢ttelse og
"-" angiver manglende sådan):
------------------------------------------------------------------------------
arkiver klarer at liste indhold
name | klarer at udpakke
| | klarer at pakke
| | | komprimerings metoder underst¢ttet
| | | | dekomprimerings metoder underst¢ttet
| | | | | kommentarer
| | | | | |
arj + + + 0,1 0,1,2,3,4 1,..,4 er basalt set identiske
zip + + + 0,1,8 0,1,7,8 1:shrink,7:implode,8:deflate
lzh/lha + + + 0,5 0,1,5 ej AMIGA-LHA support (ej Amiga!)
zoo + + + 0,2 0,2
ha + + + 0,1,2 0,1,2
tar + - - - -
tgz + + + 8 8 kræver gzip'ed TAR headers
hap + + + 0,1 0,1
rar + - (+) 0 0
arc + - - - -
pak + - - - -
sqz + - (+) 0 0
arx + - (+) 0 0,1 (5) algoritmer som LHA1.13
put + + + 0,5 0,5 algoritmer som LHA2.x
x + + + 0,1,.. 0,1,..
------------------------------------------------------------------------------
(+) indikerer at der ikke er meget sjov ved lagring uden komprimering..
Om ARJ modulet:
---------------------
Et eksempel, hvor der komprimeres til ARJ formatet kunne være:
"x1 a test.arj *.*"
Dette vil bevirke komprimering af alle filer i det aktuelle direktorie
til arkivet "test.arj" (som standart med metoden 1).
Lagring uden komprimering: "x1 am0 test.arj *.*"
Bemærk venligst, at ARJ multi-volumen (endnu) ikke underst¢ttes.
Om ZIP modulet:
---------------
Et eksempel, hvor der komprimeres til ZIP formatet kunne være:
"x1 a test.zip *.*"
Dette vil bevirke komprimering af alle filer - som standard med ZIP
"deflate" metoden kendt fra ZIP versioner 2.x. Hvis bagud kompatibilitet
er påkrævet, så er det også muligt at komprimere med en ældre metode:
"x1 am1 test.zip *.*"
Dermed anvendes metoden "shrink" fra ZIP versioner 0.9 og 1.1. Denne
gamle metode er ikke tiltænkt seri¢s brug. Den stammer tilbage fra mine
f¢rste ydmyge fors¢g med ZIP formatet i 1991...
Kontrol af arkiv fejlfrihed (efter komprimering) udf¢res med:
"x1 t test.x" eller "x1 t test.x *.*"
Om LHA modulet:
---------------
Et eksempel med komprimering til LHA formatet kunne være:
"x1 a test.lha *.*" eller "x1 a test.lzh *.*"
Endelserne ".lha" og ".lzh" er underst¢ttet på lige fod (begge fanget
ved visning af arkiver "x1 l *"). I mangel af anden angivelse, så bruges
metode 5 som standard.
Om ZOO modulet:
---------------
Et eksempel, der komprimerer til ZOO formatet ville være:
"x1 a test.zoo *.*"
ADVARSEL: ZOO formatet specificerer to header typer og kun een er for
nuværende underst¢ttet af arkiv programmet (den dominerende type 2).
Dette kan skabe problemer, når dette arkiv program opdaterer gamle
zoo-skabte arkiver (header type 1?). Måske er jeg for forsigtig - umuligt
at sige...
Om HA modulet:
---------------
Et eksempel, der komprimerer til HA format kunne være:
"x1 a test.ha *.*"
Dette vil bevirke komprimering af alle filer (i mangel af anden angivelse
med metode 1:ASC). Dersom hårdere komprimering er påkrævet med en 4-ordens
PPM, så kunne mere passende anvendes (HSC):
"x1 am2 test.ha *.*"
Overladning af valget til computeren, at automatisk udvælge bedste
komprimering, opnås med: "x1 am# test.ha *.*"
Om TGZ modulet:
---------------
Et eksempel i komprimering til TAR+GZIP format kunne være:
"x1 a test.tgz *.*"
Dette medf¢rer indpakning af alle filer i TAR header format og
efterf¢lgende komprimering i GZIP format. På platforme med underst¢ttelse
af lange filnavne, her bruges normalt den mere passende endelse ".tar.gz".
Når indholdet af et sådant arkiv skal listes, så er fuld dekomprimering
(til hukommelse) n¢dvendig - så lidt ekstra tålmodighed kan være påkrævet.
"x1 l test.x"
For nuværende er det ikke muligt at udpakke indholdet af en GZIP fil
til en enkelt fil.
Om X modulet:
--------------
En ting, der ikke er direkte forbundet med nogen kompressions metode - men
adskiller X header formatet fra andre arkiv programmer - er dobbelt-CRC
registrering (mulighed for hurtig CRC kontrol). CRC udregnes for både
ukomprimerede og komprimerede data. Når der kun ¢nskes kontrol for
transmissions fejl, så vil kontrol af sidstnævnte CRC være tilstrækkelig.
Fordi st¢rrelsen af komprimerede data normalt er mindre end den
oprindelige st¢rrelse - så vil der normalt være forsvindende ekstra
arbejde forbudet med CRC-beregning for komprimerede data. Det sl¢ver ikke
processen i nævneværdig grad.
Bemærk yderligere, at .x arkiver kan indeholde mere end een fil med præcis
samme direktorie-sti og navn. Dette kan ikke undgås, når "solid" indgange
er involveret. Hvis det "solide" medlem af arkivet med de(n) overfl¢dige
fil(er) slettes - så kan andre filer ryge med i k¢bet (komprimeret
sammen) - hvilket vil medf¢re tabte data. Dette problem kunne l¢ses ved
at "lade som om" at identiske filnavne ikke er til stede (som i UC2
eller HPACK). Men set synes fornuftigt, når nu filer egentlig er til
stede, at brugeren skal se dem... En beslutning!
Metode nummer Navn Paknings eksempel Kommentarer
------------- ---- ------------------- --------
1 XLZ "x1 am1 test.x *.*" 64k vindue LZ77
(2) -
(3) -
4 XXC "x1 am4 test.x *.*" Variabel hukommelses-valg mulig
kræver DOS mem. (1Mb)
(5) LZP "x1 am5 test.x *.*"
bedste metode - "x1 am# test.x *.*"
------------- --- --------------------
NOTE: "bedste metode" vil f¢rst fors¢ge metode 4, herefter 1. Den endelige
accepterede vil være den der tilbyder tættest resultat.
ADVARSEL: metoder >4 er for nuværende mål for yderligere arbejde... Forvent
ingen bagud/forud kompatibilitet her!!!!
X modulet underst¢tter "solid" format. Et eksempel i komprimering med
"solid" format kunne være: "x1 aum1 test.x *.*"
Et arkiv kan indeholde flere uafhængige "solid" indgange - frit blandet
med normale individuelt komprimerede indgange. Når en "solid" indgang
f¢rst er dannet, så kan den ikke opdateres.
Kontrol af arkiv programmets evne til at udpakke sin egne pakkede filer:
"x1 t test.x *.*"
Kontrol for påf¢rte transmissions fejl:
"x1 tf test.x *.*"
Ja, det giver option "F" (tving filer ind/ud af arkiv) en anden mening
(hurtigere CRC check), når filer testes. Men dette begrænser ikke brugen
af optionen i dennes oprindelige sammenhæng, fordi det ikke har nogen
mening at "tvinge" filer ud af et arkiv under en test.
Fors¢g på at "TF" teste andre arkiv formater, som ikke underst¢tter denne
måde, vil blot resultere i en normal CRC test.
En kort kommentar til metode 4:
Den virker med option "L" (komprimerings niveau) på den måde at:
"x1 am4l2 test.x *.*"
...betyder komprimering på niveau 2 (7 Mb).
Niveau Hukommelse Kommentar
0 640kb hukommelses manager kan kræve min. 1Mb
1 3Mb -
2 7Mb -
3 16Mb kunne ikke testes - ingen 16Mb RAM
Vær opmærksom på at metoden kan ændres!
6. Midlertidige fil navne
=========================
Under komprimering, så bruger programmet en temporær fil "X???????.SWP"
(hvor ??..?? er valgt tilfældige). Den indeholder det nye arkiv under
konstruktion. Hvis hele operationen slutter vellykket, så omd¢bes filen til
det ¢nskede navn.
Under dekomprimering, så kan en udpakket fil ¢nskes udlagt til samme navn som
selve arkivet. I det tilfælde, så er det originale arkiv midlertidigt omd¢bt
til et neutralt navn (X???????.SWP) - og slettet, når alle filer er udpakket.
På intet tidspunkt er mere end 3 filer åbne (når filer komprimeres til allerede
eksisterende arkiv). Programmet vil maksimalt bruge een temporær fil - og kun
eet navn for det (X???????.SWP).
Endelsen kan virke en smule misvisende. Den temporære fil er ikke en swapfil.
Til slut bliver filen omd¢bt - indholdet bliver ikke kopieret andetsteds.
Men filnavn endelsen skulle gerne give associationer til andre programmer
(Borland compilers..), hvilket skulle bevirke mindre t¢ven, hvis brugeren
overvejer at slette en fil.
Fordi egentlige swapfiler ikke er n¢dvendige, så underst¢ttes ikke specielle
arbejds-direktorier. For optimal hastighed, så b¢r komprimerings-processen tage
plads på en RAM-disk - og de(n) resulterende fil(er) efterf¢lgende kopieres
til det ¢nskede ende-mål.
7. Slut retur værdier
====================
Intern reference Værdi Kommentar
------------------ ----- -----------------------------
EXIT_OK 0 Ingen fejl
EXIT_INT_ERR 1 Intern fejl (?)
EXIT_NO_MEM 2 L¢bet t¢r for hukommelse
EXIT_NO_DISK 3 L¢bet t¢r for disk plads
EXIT_NO_OPEN 4 Kan ikke åbne arkiv file
EXIT_NO_TMP 5 Kan ikke åbne temporær fil
EXIT_NO_FOUND 6 Kan ikke finde matchende arkiv(er)
EXIT_NO_PATH 7 Kan ikke finde direktorie-sti
EXIT_NO_BASE 8 Kan ikke få adgang til basis direktoriet
EXIT_NO_MKDIR 9 Formår ikke at oprette direktorie
EXIT_BREAK 10 Bruger afbrydelse
EXIT_FILE_ERR 11 Ukendt fil fejl - kan ikke læse fra fil
EXIT_BAD_HDR 12 Arkiv direktorie (delvis) korrupt
EXIT_BAD_EXT 13 Indholdet af arkivet svarer ikke til endelsen
EXIT_BAD_ARC 14 Er det overhovedet taget et arkiv?
EXIT_LONG_NO 15 Ej support af lang arg.format - eller for mange arg.
EXIT_LONG_PATH 16 Direktorie-sti for lang
EXIT_NO_OVERRIDE 17 Kan ikke tilsidesætte basis direktorie
EXIT_NEST 18 Direktorier i for mange niveauer
EXIT_SCRIPT_ERR 19 Fejl i script fil
EXIT_NOTHING 20 Ingenting at lave
EXIT_UNSP 21 Metode ikke underst¢ttet i denne version..
EXIT_COM 22 Ukendt kommando
EXIT_OPT 23 Ukendt option
EXIT_OPT_DIR 24 Ukendt option
EXIT_OPT_WR 25 Ukendt option
EXIT_OPT_VIEW 26 Ukendt option
EXIT_WC_FORM 27 Upassende brug af wildcards
EXIT_WC_NAME 28 Upassende brug af wildcards
EXIT_WC_COMPL 29 Upassende brug af wildcards
EXIT_CHG_WRPROT 30 Fejlet fors¢g på at ændre (skrive-beskyttet) arkiv
EXIT_CHG_DEL 31 Fejlet fors¢g på at ændre (slettet) arkiv
EXIT_CHG_UNI 32 Fejlet fors¢g på at ændre (blok komprimeret) arkiv
EXIT_CHG_MULTI 33 Fejlet fors¢g på at ændre (multi-volume) arkiv
EXIT_CHG_CR 34 Fejlet fors¢g på at ændre (krypteret) arkiv
EXIT_CHG_UNCR 35 Fejlet fors¢g på at ændre (ukrypteret) arkiv
EXIT_BAD_KEYFILE 36 Fejlagtig n¢gle-fil (kryptering)
EXIT_PASS_NO 37 Ikke gyldigt (bruger)ID (kryptering)
EXIT_PASS_DIFF 38 Password kontrol fejlede (kryptering)
EXIT_SECURITY 39 General secur/encryp fejl (kryptering)
EXIT_NOCRYPT 40 Kan ej håndtere encryp.arkiv (kryptering)
------------------------------------------------------------------------------
Stig Valentini, x1develop@internet.dk (indtil marts 1997)
------------------------------------------------------------------------------