home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 July / Chip_1997-07_cd.bin / sharewar / 95rar / dos / rar155d.exe / rar / SFX.DOC < prev    next >
Text File  |  1995-10-25  |  24KB  |  650 lines

  1.  
  2.  ██████╗   █████╗  ██████╗      RAR Version 1.55
  3.  ██╔══██╗ ██╔══██╗ ██╔══██╗     ~~~~~~~~~~~~~~~~
  4.  ██████╔╝ ███████║ ██████╔╝     Multifunktioneller integrierter Archivierer
  5.  ██╔══██╗ ██╔══██║ ██╔══██╗     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  6.  ██║  ██║ ██║  ██║ ██║  ██║     Handbuch für "The Installation SFX for DOS"
  7.  ╚═╝  ╚═╝ ╚═╝  ╚═╝ ╚═╝  ╚═╝     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  8.  
  9.  
  10.    1. Überblick über die Funktionen
  11.  
  12.    Das SFX (SelF-eXtracting Modul) ist ein Archivmodul, das Dateien
  13.    in der üblichen ausführbaren Form bei deren Aufruf entpackt.
  14.  
  15.    RAR bietet SFX-Funktionen, die über das normaler Maß anderer SFX
  16.    weit hinausgehen, sowie die Möglichkeit, SFX-Archive mit externen
  17.    SFX-Modulen zu erstellen.
  18.  
  19.    Ein alternierendes SFX-Modul kann mit dem Schalter '-sfx[<sfxdatei>]'
  20.    oder dem Befehl 's[<sfxdatei>]' erstellt werden, wenn Sie mit dem
  21.    optionalen Parameter <sfxdatei> das erforderliche SFX-Modul angeben.
  22.  
  23.    Verschiedene RAR SFX-Module sind zur Zeit verfügbar:
  24.       - das gebräuchliche SFX für DOS (Standard in der DOS-Version,
  25.         Datei DOS.SFX)
  26.       - das Installations-SFX für DOS (Datei IDOS.SFX)
  27.       - das gebräuchliche SFX für OS/2 (Standard in der OS/2-Version,
  28.         Datei OS/2.SFX).
  29.  
  30.    Sie können eigene RAR SFX ausführbare Module mit den unRAR-Sources
  31.    dieser Liste zufügen (z.B. für ein anderes Betriebssystem oder
  32.    angepaßt an Ihre persönlichen Erfordernisse).
  33.  
  34.  
  35.  
  36.    2. Das Installations-SFX
  37.  
  38.    Als Alternative zum Standard-SFX möchten Sie vielleicht ein Instal-
  39.    lations-SFX erstellen, das eine mächtige Scriptsprache benutzt und
  40.    weitere Merkmale aufweist:
  41.  
  42.      - komplett konfigurierbar, mit einem benutzerfreundlichen Interface
  43.      - Überprüfung des freien Laufwerkspeichers vor der Installation
  44.      - Frage nach dem Zielpfad
  45.      - Status der Installation: Anzeige des Entpackfortgangs mittels
  46.        Balkengrafik, Prozentanzeige etc.
  47.  
  48.    Das Installations-Script besteht aus reinem ASCII-Test, den Sie mit
  49.    Ihrem bevorzugten Editor erstellen können. Das Script wird in den
  50.    SFX-Archiv-Kommentar geschrieben und vom SFX-Modul bei der Ausführung
  51.    abgearbeitet.
  52.    Mit der folgenden Kommandozeile erstellen Sie z.B. ein solches
  53.    SFX-Archiv:
  54.  
  55.      rar a -sfxidos.sfx -zmyinst.s minstall
  56.  
  57.    IDOS.SFX ist der Pfad zum Installations-SFX-Modul und die Datei
  58.    'myinst.s' ist die Textdatei, die Ihr Installations-Script enthält.
  59.  
  60.    Das Installations-SFX besitzt einen eingebauten Übersetzer für die
  61.    Scriptsprache.
  62.  
  63.  
  64.    2.1 Installations-Scriptsprache
  65.  
  66.    Wie eine Programmiersprache enthält ein Script folgende Objekte:
  67.  
  68.      Befehl     Ausdruck, der eine Aktion bewirkt;
  69.  
  70.      Prozedur   Befehle, die aus dem main script code aufgerufen werden
  71.                  
  72.      Funktion   eingebaute Prozedur, die einen Wert zurückgibt;
  73.  
  74.      Konstante  Zeichenfolge oder numerischer Werte (4 bytes lang);
  75.  
  76.      Variable   Name, der die Speicherstelle für einen Wert definiert.
  77.  
  78.    Variablen können einem numerischen Wert oder einer Zeichenfolge
  79.    zugeordnet werden.
  80.    Variablen sind global, d.h. sie behalten ihre Definition im Haupt-
  81.    code und allen Prozeduren.
  82.  
  83.  
  84.    Bei den Namen von Variablen und Prozeduren wird die Groß- / Klein-
  85.    schreibung berücksichtigt; bei Befehlsangaben dagegen nicht.
  86.  
  87.    Befehle und eingebaute Prozeduren können mit Parametern aufgerufen
  88.    werden - Konstanten und Variablen. Ausdrücke können nicht als Para-
  89.    meter benutzt werden.
  90.  
  91.  
  92.    2.1.1. Steuerungsbefehle
  93.  
  94.    CALL        eine Prozedur einleiten:
  95.  
  96.                CALL <ProzName>
  97.  
  98.                <ProzName> ist der Name der Prozedure (mit PROC definiert)
  99.  
  100.  
  101.    DELAY       Skriptausführung unterbrechen:
  102.  
  103.                DELAY [<ms>]
  104.  
  105.                <ms> ist der Verzögerungsinterval (Millisekunden).
  106.                Der Interval wird auf unendlich gesetzt, wenn kein Wert
  107.                für ms genannt wird. Die Ausführung wird dann nach Tasten-
  108.                druck oder Mouseklick fortgesetzt.
  109.  
  110.  
  111.    EXCLUDE    definiert eine Liste von Dateien, die beim Installieren
  112.               NICHT aus dem Archiv entpackt werden:
  113.  
  114.                EXCLUDE [ <Datei1> [, <Datei2>..] ]
  115.  
  116.                <Datei1>, <Datei2>.. sind Variablen oder Zeichenfolgen
  117.                mit den Namen der Dateien, die ausgeschlossen werden sollen.
  118.                Wildcards sind gestattet.
  119.  
  120.                Der Anfangswert dieser Dateiliste ist "", d.h. keine Datei
  121.                ist ausgeschlossen. EXCLUDE ohne Parameter stellt den Ein-
  122.                gangswert der Dateiliste wieder her.
  123.  
  124.  
  125.    EXIT        Installations-SFX beenden:
  126.  
  127.                EXIT <Code>
  128.  
  129.                SFX bricht mit Errorlevel ab = <Code>.
  130.  
  131.  
  132.    GOTO       Kontrolle wird an einen string im Script übergeben, der
  133.               durch ein Label gekennzeichnet ist:
  134.  
  135.                GOTO <Label>
  136.  
  137.                <Label> ist der Name im Script, gefolgt durch einen Doppel-
  138.                punkt (:).  Beispiel:
  139.  
  140.                GOTO Menu
  141.                ...
  142.                Menu:
  143.  
  144.  
  145.    IF          Befehle bedingt ausführen:
  146.  
  147.                IF <Var> <?> <Wert>
  148.                      <Befehl>
  149.                      ...
  150.                ENDIF
  151.  
  152.                Ausdruck, der die bedingte Ausführung des Ausdrucks innerhalb
  153.                des IF...ENDIF-Blocks definiert.
  154.                Die Variable <Var> wird mit <Wert> verglichen; ist das Re-
  155.                sultat des Vergleichs WAHR, werden die Ausdrücke zwischen
  156.                IF...ENDIF ausgeführt.
  157.  
  158.                Vergleichsoperatoren sind:
  159.  
  160.                '=='  ..  GLEICH
  161.                '!='  ..  UNGLEICH
  162.                '>'   ..  GRÖßER ALS
  163.                '>='  ..  GRÖßer ALS ODER GLEICH
  164.                '<'   ..  KLEINER ALS
  165.                '<='  ..  KLEINER ALS ODER GLEICH
  166.  
  167.                <Wert> ist eine Konstante oder eine Variable.
  168.                Buchstabenwerte können nur mit den Operatoren '==' oder
  169.                '!=' verglichen werden.
  170.  
  171.  
  172.    INCLUDE     definiert eine Liste von Dateien, die beim Installieren
  173.                aus dem Archiv entpackt werden:
  174.  
  175.                INCLUDE [ <Datei1> [, <Datei2>..] ]
  176.  
  177.                <Datei1>, <Datei2>.. sind Variablen oder Zeichenfolgen
  178.                mit den Namen der zu entpackenden Dateien.
  179.                Wildcards sind gestattet.
  180.  
  181.                Anfangswert der Dateiliste ist "*.*", d.h. "alle Dateien
  182.                im Archiv". das erste definierte INCLUDE ersetzt den
  183.                Standardwert. Alle weiteren INCLUDEs erweitern die Datei-
  184.                liste ohne vorherige Werte zu ersetzen.
  185.                INCLUDE ohne Parameter löscht die Dateiliste.
  186.  
  187.  
  188.    INSTALL     startet die Installation. Ist kein INSTALL-Ausdruck ange-
  189.                geben, beginnt die Installation mit Erreichen des Endes
  190.                des Haupt-Script-Codes.
  191.  
  192.  
  193.    OVERWRITE   Überschreibmodus beim Extrahieren einschalten:
  194.  
  195.                OVERWRITE { ON | OFF | FRESH | UPDATE }
  196.  
  197.                ON      vorhandene Dateien immer überschreiben
  198.                OFF     vorhandene Dateien nie überschreiben
  199.                FRESH   nur Dateien überschreiben, die im Zielpfad vorhanden
  200.                        sind und älter sind als im Archiv
  201.                UPDATE  wie FRESH, aber es werden auch Dateien entpackt, die
  202.                        im Zielpfad noch nicht vorhanden sind
  203.  
  204.  
  205.    PROC        eine Prozedur definieren:
  206.  
  207.                PROC <ProzName>
  208.                     <Befehle>
  209.                     ...
  210.                ENDP
  211.  
  212.                <ProzName> ist der Name der Prozedur.
  213.                Kann mit dem CALL-Ausdruck aufgerufen werden.
  214.                Befehle zwischen PROC und ENDP würden dann ausgeführt
  215.                werden.
  216.  
  217.  
  218.    SOUND       erzeugt Klänge auf dem PC-Lautsprecher:
  219.  
  220.                SOUND <F1>, <D1> [, <F2>, <D2>...]
  221.  
  222.                <F1> ist die Frequenz und <D1> die Dauer des Tons in Milli-
  223.                sekunden. Die ANzahl der Noten ist unbegrenzt.
  224.  
  225.  
  226.    SYSTEM      DOS-Befehl ausgeben::
  227.  
  228.                SYSTEM <Arg1> [, <Arg2>..]
  229.  
  230.                Die Kommandozeile mit den Parametern <Arg1>, <Arg2>...
  231.                wird ausgeführt.
  232.  
  233.    ;           Zeilen, die mit einem Semikolon beginnen, dienen zur
  234.                Kommentierung und werden nicht ausgeführt.
  235.  
  236.    =           Um den Wert einer Variable zu bestimmen, können Sie den
  237.                folgenden Befehl benutzen:
  238.  
  239.                <Var>=<Ausdruck>
  240.  
  241.                <Var> ist der Name der Variable und <Ausdruck> kann eine
  242.                Konstante, ein numerischer Ausdruck oder ein Funktions-
  243.                befehl sein.
  244.  
  245.                Ein numerischer Ausdruck ist eine Kombination von Zeichen
  246.                nach dem Muster "A # B", wobei 'A' und 'B' numerische Kon-
  247.                stanten und/oder Variablen sind und '#' für einen der
  248.                mathematischen Operatoren '+', '-', '*', '/' und '%' steht.
  249.  
  250.  
  251.    2.1.2. Bildschirmbefehle
  252.  
  253.    Jegliche Ausgabe wird in das aktuelle Textfenster geleitet (vgl. die
  254.    Beschreibung zum WINDOW-Befehl).
  255.  
  256.  
  257.    Vorder- und Hintergrundfarben haben in allen verwandten Befehlen die
  258.    nachfolgenden Bezeichnungen:
  259.  
  260.    BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY,
  261.    LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE.
  262.  
  263.    Sie können auch statt dessen auch die Werte 0 bis 15 als Farbcode ver-
  264.    wenden.
  265.  
  266.    Wenn in einem Befehl kein Parameter-Paar für Vorder- und Hintergrund
  267.    angegeben ist, wird die aktuelle Farbkombination für die Ausgabe
  268.    benutzt (vgl. SETCOLOR-Befehl).
  269.  
  270.  
  271.    BOX         eine Box zeichnen:
  272.  
  273.                BOX <X1>, <Y1>, <X2>, <Y2>, <Col>, <Bck>, SINGLE | DOUBLE
  274.  
  275.                <X1>, <Y1> - Eckpunkt links oben;
  276.                <X2>, <Y2> - Eckpunkt rechts unten;
  277.                <Col>, <Bck> - Vorder- / Hintergrundfarbe;
  278.                SINGLE oder DOUBLE - einfacher oder doppelter Rahmen.
  279.  
  280.  
  281.    CLRSCR      Das aktuelle Fenster wird gelöscht (optional mit Symbol):
  282.  
  283.                CLRSCR [ <Symbol> ]
  284.  
  285.                Es wird die aktuelle Farbe zum Löschen benutzt. Es kann
  286.                ein Symbol angegeben werden, mit dem das Fenster gefüllt
  287.                werden soll. Das Symbol kann als Zeichen in Anführungs-
  288.                zeichen ("") oder als numerischer Code definiert werden.
  289.  
  290.  
  291.    CTEXT       Text in die Mitte der aktuellen Zeile schreiben:
  292.  
  293.                CTEXT <P1> [, <P2>..]
  294.  
  295.                <P1>, <P2>.. sind Variablen oder Zeichenkonstanten.
  296.  
  297.  
  298.    GOTOXY      Position des Cursors im aktuellen Fenster:
  299.  
  300.                GOTOXY <X>, <Y>
  301.  
  302.                <X>, <Y> - Punkt, auf dem der Cursor positioniert werden
  303.                soll
  304.  
  305.    DEFBAR      Definition des Balkens für den Entpackfortgang:
  306.  
  307.                DEFBAR <Col>, <Bck>, <BarCol1>, <BarCol2>, <X>, <Y>, <Length>
  308.  
  309.                <Col>, <Bck> - Vorder- / Hintergrundfarbe;
  310.                <BarCol1>, <BarCol2> - Farben für nicht ausgefüllte und aus-
  311.                gefüllte Bereiche des Balkens;
  312.                <X>, <Y> - Eckpunkt links oben des Balkenfensters;
  313.                <Length> - Länge des Balkens.
  314.  
  315.                Mit dem Befehl
  316.  
  317.                DEFBAR OFF
  318.  
  319.                kann die Anzeige des Balkens unterdrückt werden.
  320.  
  321.  
  322.    MESSAGE     Text in eine Box schreiben:
  323.  
  324.                MESSAGE <Col>, <Bck>, <Title>, <Str1> [, <Str2>..]
  325.  
  326.                <Col>, <Bck> - Vorder- / Hintergrundfarbe;
  327.                <Title> - Überschrift;
  328.                <Str1>, <Str2>.. Text, der angezeigt werden soll
  329.  
  330.  
  331.    OUTTEXT     Beginn / Ende eines reinen / ANSI-Textes:
  332.  
  333.                OUTTEXT [ANSI] ON | OFF
  334.  
  335.                kennzeichnet den Beginn (ON) und das Ende (OFF) eines Text-
  336.                abschnittes. Das optionale Schlüsselwort ANSI gibt an, daß
  337.                der Text ANSI esc-Sequenzen beinhaltet, die bei der Ausgabe
  338.                auf den Schirm abgearbeitet werden müssen.
  339.  
  340.                Beispiel:
  341.  
  342.                OUTTEXT ON
  343.  
  344.                   Installation instruction.
  345.  
  346.                   You should install this program according to
  347.                   the following procedure:
  348.                     ...
  349.  
  350.  
  351.                OUTTEXT OFF
  352.  
  353.  
  354.    RESTSCR     Bildschirm wieder herstellen (s. SAVESCR):
  355.  
  356.                RESTSCR <NumScr>
  357.  
  358.                <NumScr> ist der Wert des wieder herzustellenden Bildschirms,
  359.                der vorher mit dem SAVESCR-Ausdruck gespeichert worden sein
  360.                muß. Cursorposition, Fenstereinstellungen und die Farben
  361.                werden übernommen.
  362.  
  363.  
  364.    SAVESCR     Bildschirm speichern:
  365.  
  366.                SAVESCR <NumScr>
  367.  
  368.                <NumScr> - numerischer Wert zwischen 1 und 16, der die
  369.                Speicherstelle der Bildschirmdaten benennt.
  370.                Gespeicherte Bildschirme werden mit dem RESTSCR-Ausdruck
  371.                abgerufen.
  372.  
  373.  
  374.    SETCOLOR    Standard-Vorder- und Hintergrundfarbe einstellen:
  375.  
  376.                SETCOLOR <Col>, <Bck>
  377.  
  378.                <Col> ist die Vordergrund und <Bck> ist die Hintergrundfarbe.
  379.  
  380.  
  381.    TEXT        Text schreiben:
  382.  
  383.                TEXT <P1> [, <P2>..]
  384.  
  385.                <P1>, <P2>.. sind Variablen oder Buchstabenkonstanten, die
  386.                den Text, der ausgegeben werden soll, beinhalten.
  387.  
  388.  
  389.    WINDOW      Standard-Einstellungen für Fenster:
  390.  
  391.                WINDOW <X1>, <Y1>, <X2>, <Y2>
  392.  
  393.                <X1>, <Y1> - linker oberer Eckpunkt des Fensters;
  394.                <X2>, <Y2> - rechter unterer Eckpunkt.
  395.  
  396.                Alle Bildschirmausgaben, die nach diesem Befehl angewiesen
  397.                werden, erscheinen innerhalb der hier definierten Punkte,
  398.                soweit keine anderen Anweisungen gegeben werden.
  399.  
  400.  
  401.    2.1.3. Funktionen
  402.  
  403.    Funktionen bieten einen eingebauten Prozeduren-Aufruf, der einen Wert
  404.    zurückgibt.
  405.  
  406.  
  407.    EXEC        führt einen DOS-Befehl aus und gibt einen Exit-Code zurück:
  408.  
  409.                <Var>=EXEC <Arg1> [, Arg2.. ]
  410.  
  411.                <Arg1>, <Arg2>.. -  Kommandozeilenparameter; Leerzeichen
  412.                bitte nach dem Komma einfügen (<Arg1>, <Arg2>..);
  413.                <Var> - bezeichnet die Variable, die den Errorlevel nach
  414.                der Ausführung der Kommandozeile empfängt.
  415.  
  416.              
  417.    GETDFREE    freien Plattenspeicher abfragen:
  418.  
  419.                <Var>=GETDFREE [<DiskNo>]
  420.  
  421.                <Var> - Variable, die den ausgegebenen Wert empfängt.
  422.  
  423.                <DiskNo> -  optional: Nummer des Laufwerks, von dem der
  424.                freie Speicher abgefragt wird (0 bedeutet A:, 1 - B:,
  425.                2 - C: etc). Wird dieser Parameter nicht angegeben,
  426.                wird der freie Speicher des Ziellaufwerks abgefragt.
  427.                Existiert das angegebene Laufwerk nicht, wird der Wert
  428.                -1 zurückgegeben.
  429.  
  430.  
  431.    GETKEY      Code der gedrückten Taste zurückgeben:
  432.  
  433.                <Var>=GETKEY
  434.  
  435.                Diese Funktion wartet auf das Drücken einer Taste und gibt
  436.                deren Code zurück an <Var>. Manche Tasten produzieren er-
  437.                weiterte Codes, bei denen das erste byte 0 und das zweite
  438.                den erwiterten Code beinhaltet. In diesen Fällen wird der
  439.                Tastencode als der Wert des zweiten bytes plus 256 zurück-
  440.                gegeben.
  441.  
  442.   
  443.    INPUT       Eingabe durchführen:
  444.  
  445.                <Res>=INPUT <Col>, <Bck>, <Var>, <IniValue>, <MaxLen>
  446.  
  447.                <Col>, <Bck> - Vorder- und Hintergrundfarbe des Eingabe-
  448.                               feldes;
  449.                <Var> - Variable, die den Eingabewert empfängt;
  450.                <IniValue> - Eingangswert (Variable oder eine Konstante);
  451.                <MaxLen> - Länge des Eingangsfeldes (maximal).
  452.                <Res> - Indikator, der den Erfolg der Transaktion anzeigt.
  453.  
  454.                Wird die <Esc>-Taste während einer Eingabe gedrückt, wird
  455.                ein Wert von 0 an <Res> zurückgegeben und <Var> bleibt un-
  456.                definiert. Wird ein Wert erfolgreich eingegeben, erhält
  457.                <Res> den Wert 1 und <Var> den Wert der Eingabe.
  458.  
  459.  
  460.    MENU        ein Menü beginnen:
  461.  
  462.                <Var>=MENU <X>, <Y>, <Col>, <Bck>, <Position>, <Title>,
  463.                           <Item1> [, <Item2>..]
  464.  
  465.                <X>, <Y> - linker oberer Punkt des Menüs;
  466.                <Col>, <Bck> - Vorder- / Hintergrundfarbe;
  467.                <Position> - anfängliche Menü-Zeigerposition (Nummer);
  468.                <Title> - Überschrift;
  469.                <Item1>, <Item2>.. - Zeichenfolgen - Menüpunkte;
  470.                <Var> - Variable, die den zurückgegebenen Wert empfängt.
  471.  
  472.                Bei erfolgter Wahl gibt die Funktion die Nummer des Menü-
  473.                punktes zurück (1-n). Wird die <Esc>-Taste gedrückt, ist
  474.                der Wert 0.
  475.  
  476.  
  477.  
  478.    2.1.4. Vordefinierte Prozeduren
  479.  
  480.    Vordefinierte Prozeduren sind Prozeduren mit reservierten Namen, die
  481.    in speziellen Situationen vom internen SFX-Code aufgerufen werden.
  482.    Vor dem Aufruf setzt SFX die Parametervariablen Par1 und Par2.
  483.    Vordefinierte Prozeduren sind optional und sollten vom Script-Program-
  484.    mierer für besondere Anforderungen mit dem PROC-Statement eingesetzt
  485.    werden.
  486.  
  487.    ArcDone     wird beim erfolgreichen Abschluß des Entpackvorgangs
  488.                aufgerufen
  489.  
  490.                Es wird kein Parameter eingesetzt. Wenn ArcDone ausgeführt
  491.                wurde, wird die Archivdatei geschlossen; sie kann dann mit
  492.                dem Befehl SYSTEM "DEL ",ArcName gelöscht werden.
  493.  
  494.    ChangeVol   wird aufgerufen, wenn das Archiv-Volumen gewechselt wer-
  495.                den muß
  496.  
  497.                Par1 ist die Volumennummer zugewiesen (0 für den ersten
  498.                Volumenwechsel), Par 2 ist der Status des Volumens zu-
  499.                gewiesen: Wenn Par2 0 ist, muß das Volumen installiert
  500.                werden (der Anwender sollte nun gebeten werden, es zu laden).
  501.                Diese Prozedur wird mit Par2==0 benannt, solange bis das ange-
  502.                forderte Volumen nicht gefunden wird. Sie können den Namen
  503.                des angeforderten Volumens durch eine Zuweisung an die Va-
  504.                riable ArcName ändern. Im Fall eines Nicht-0-Wertes von
  505.                Par2 ist das Volumen erfogreich installiert und kein
  506.                weiteres Vorgehen des Anwenders erforderlich.
  507.  
  508.                Wird die ChangeVol-Prozedur nicht definiert, erscheint
  509.                "Insert disk with <volume name>", wenn das nächste Volumen
  510.                erwartet wird.
  511.  
  512.    Error       wird aufgerufen, wenn ein Fehler auftaucht
  513.  
  514.                Par1 ist folgenden Fehlercodes zugewiesen:
  515.  
  516.                   1 - fataler Fehler
  517.                   2 - CRC-Fehler, beschädigtes Archiv
  518.                   3 - Schreibfehler
  519.                   4 - Fehler bei Dateierstellung
  520.                   5 - Fehler beim Lesen
  521.                   6 - Fehler beim Dateischließen
  522.                   7 - Fehler beim Dateiöffnen
  523.                   8 - nicht genug Memory
  524.  
  525.                Ist die Fehlerprozedur abgeschlossen, bricht SFX ab.
  526.                Diese Prozedur wird nicht aufgerufen, wenn ein ungültiger
  527.                AV-Code entdeckt wird.
  528.  
  529.                Ist keine Fehlerprozedur definiert, gibt SFX eine Standard-
  530.                Fehlermeldung aus und bricht ab.
  531.  
  532.  
  533.    FileDone    Wird aufgerufen bei erfolgreichem Entpacken einer Datei
  534.                oder eines Verzeichnisses
  535.  
  536.                Der Variable Par1 ist die Nummer der Datei im Archiv
  537.                zugewiesen.
  538.  
  539.  
  540.    OnKey       wird bei Tastendruck aufgerufen
  541.  
  542.                OnKey kann zum Einbauen einer kontextsensitiven Hilfes-
  543.                meldung benutzt werden oder zum Abarbeiten eines Abbruchs.
  544.                Par1 wird der Tastencode zugewiesen.
  545.                Wird die Tastenoperation innerhalb der OnKey-Prozedur
  546.                ausgeführt, sollten Sie Par1 auf -1 setzen, um ein zwei-
  547.                faches Abaebeiten durch SFX zu verhindern.
  548.                Wiederkehrende Aufrufe von OnKey verhindert SFX selbst.
  549.                Wenn OnKey aufgerufen wird, werden die Werte für das ak-
  550.                tuelle Fenster, die Farben und die Cursorposition auto-
  551.                matisch gespeichert und bei Beenden der Prozedur wieder
  552.                hergestellt. Ein Speichern des Bildschirms wird allerdings
  553.                nicht durchgeführt. Verwenden Sie ggf. hierzu die Befehle
  554.                SAVESCR und RESTSCR, aber achten Sie darauf, hier keinen
  555.                Markierer zu benutzen, der im Script verwendet wird.
  556.  
  557.  
  558.  
  559.    2.1.5. Vordefinierte Variablen
  560.  
  561.  
  562.     Archiv-Variablen:
  563.  
  564.    ArcName       Name des Archivs
  565.  
  566.    AVPresent     Liegt eine Siegelüberprüfung vor, ist der Wert der Variable
  567.                  1, sondt 0. Bei einer ungültigen AV-Information beträgt er
  568.                  -1.
  569.  
  570.    AVArcName     Name des Archivs, wie er in der AV gespeichert ist
  571.  
  572.    AVDate        Archivdaten, gespeichert in der AV
  573.  
  574.    AVUserName    Ersteller des Archivs (AV registration string)
  575.  
  576.  
  577.     Extraktionsabhängige Variablen:
  578.  
  579.  
  580.    FileName      Name der entpackten Dateie (kein Zielpfad)
  581.  
  582.    DestFileName  Name der entpackten Datei mit Angabe des Zielpfades
  583.  
  584.  
  585.    Benutzerdefinierte Variablen (zugewiesen durch INPUT oder = Operation):
  586.  
  587.  
  588.    DestDir       Zielverzeichnis, in das die Dateien entpackt werden sollen.
  589.                  Existiert das Verzeichnis nicht, wird es erstellt.
  590.                  Enthält die Eingabe kein nachgestelltes '\' oder ':', wird
  591.                  dieses Zeichen automatisch zugefügt.
  592.  
  593.    Password      Paßwort für die Archivdateien
  594.  
  595.  
  596.    2.1.6. Anmerkungen zum Script
  597.  
  598.    Zeichenfolgen sollten nach den C-Sprachen-Regeln eingegeben werden.
  599.    Geben Sie z.B. "\\" für das einfache Symbol "\" ein.
  600.    Spezielle Zeichen wie "\n" und "\r" (Formatoperatoren) können benutzt
  601.    werden.
  602.  
  603.    Das Script wird als Archivkommentar im SFX-Modul gespeichert. Sie sollten
  604.    ein <EOF>-Zeichen (ANSII-Code 26) an den Beginn des Scripts stellen,
  605.    damit das Script nicht als Archivkommentar ausgegeben wird, wenn das
  606.    SFX mit RAR selbst bearbeitet wird.
  607.  
  608.    Beachten Sie bitte das beispielhafte Installationsskript in der Datei
  609.    Standard.S. Damit können Sie selbst Installationspakete erstellen.
  610.  
  611.    Sie können auch das RAR-Installationsscript aus dem RAR-Paket entpacken.
  612.    Dazu rufen Sie den "Extract Comment"-Befehl auf:
  613.  
  614.        rar cw rar155.exe rarinst.s
  615.  
  616.    Dadurch erstellen Sie sich das RAR-Installationsscript in der Datei
  617.    rarinst.s.
  618.  
  619.  
  620.    Sie können ein externes Installationsprogramm in ein SFX-Archiv ein-
  621.    setzen, das nach erfolgreichem Entpacken (z.B. von PROC ArcDone) mit
  622.    einer EXEC-Funktion aufgerufen wird:
  623.  
  624.      PROC ArcDone
  625.  
  626.           EXEC DestDir, "Install.Exe"
  627.      ENDP
  628.  
  629.  
  630.  
  631.    2.1.7. Technische Beschränkungen:
  632.  
  633.         Maximale Scriptzeilenlänge.............1023 bytes
  634.  
  635.         Maximale Scriptlänge.....................62 Kb
  636.  
  637.         Anzahl der Parameter im Befehl (max.)....16
  638.  
  639.         Maximale Parameterlänge.................255 bytes
  640.  
  641.         Maximale Länge der Markierer
  642.         (Variablenname, Label)...................31 bytes
  643.  
  644.         Maximale Länge der Variablenwerte.......127 bytes
  645.  
  646.    Grundsätzlich können Variablen numerische (4 bytes Länge) Werte oder
  647.    Zeichenfolgen von bis zu 127 Zeichen Länge beinhalten.
  648.  
  649.  
  650.