home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 July / Chip_1997-07_cd.bin / sharewar / 95rar / tools / script20.exe / rar / CODE.S next >
Text File  |  1996-05-06  |  12KB  |  515 lines

  1. ;
  2. ; Installations-SFX-Modul
  3. ; Erstellt von Bernd Hohenester
  4. ;
  5. ;     FIDO: Bernd Hohenester@2:2490/2030.4
  6. ;      CIS: 101447,1272
  7. ; INTERNET: 101447.1272@compuserve.com
  8. ;
  9. ;
  10. ; Im Script sind folgende Funktionen enthalten:
  11. ;
  12. ; - Code-Abfrage
  13. ; - Anzeige des Zielverzeichnisses
  14. ; - Anwender kann Zielverzeichnis ändern
  15. ; - während des Entpackens Anzeige durch Fortschritts-Balken und einzelne
  16. ;   Dateinamen
  17. ; - Hilfeseite
  18. ; - es werden nur nicht vorhandene oder aktuellere Dateien entpackt
  19. ; - Aufforderung zum Diskettenwechsel bei Mehrdisketten-Archiven
  20. ; - Fehlererkennung
  21. ; - nach der Installation wird in das Zielverzeichnis gewechselt
  22. ;
  23. ;
  24. ; iSFX-Skript wird ab RAR V 1.54 nicht als Archivkommentar angezeigt!
  25.  
  26. ; Variable für Zielverzeichnis. BITTE GEWÜNSCHTEN PFAD EINTRAGEN!
  27. ; Wird innerhalb des Scripts mehrfach verwendet!
  28. Ziel="C:\\INSTALL"
  29. DestDir=Ziel
  30.  
  31. ; Balken definieren
  32. defbar YELLOW,CYAN,BLUE,WHITE,14,7,52
  33.  
  34. ; Hintergrundfarben setzen und Bildschirm löschen
  35. setcolor CYAN,CYAN
  36. window 1,1,80,25
  37. clrscr
  38.  
  39. ; AV-Überprüfung
  40. if AVPresent == -1
  41.   Title="Warnung"
  42.   Message="Siegelinformation ist nicht korrekt"
  43.   call ErrMsg
  44. endif
  45.  
  46. if AVPresent == 0
  47.   Title="Warnung"
  48.   Message="Siegelinformation fehlt"
  49.   call ErrMsg
  50. endif
  51.  
  52. ; Hintergrundfarben setzen und Bildschirm löschen
  53. setcolor CYAN,CYAN
  54. window 1,1,80,25
  55. clrscr
  56.  
  57. ; Code-Abfrage
  58. clrscr
  59. outtext ansi on
  60.  ┌──────────────────────────────────────────────────────────────────────────
  61.  │ Installations-SFX-Modul                     Hier können Sie eine kurze   
  62.  │ Erstellt von Bernd Hohenester               Programm-Info eintragen,     
  63.  │     FIDO: Bernd Hohenester@2:2490/2030.4    Ihr Copyright usw.           
  64.  │      CIS: 101447,1272                                                    
  65.  │ INTERNET: 101447.1272@compuserve.com                                     
  66.  ├──────────────────────────────────────────────────────────────────────────
  67.  │ Bitte Code eingeben:                                                     
  68.  ──────────────────────────────────────────────────────────────────────────┘
  69. outtext ansi off
  70.  
  71. ; Schatten unten
  72. setcolor DARKGRAY,CYAN
  73. window 4,11,79,11
  74. clrscr 219
  75.  
  76. ; Schatten rechts
  77. setcolor DARKGRAY,CYAN
  78. window 78,3,79,11
  79. clrscr 219
  80.  
  81. Code:
  82.  
  83. ; Code abfragen
  84. savescr 1
  85. window 25,9,75,9
  86. Res=INPUT BLACK,CYAN,Password,"",51
  87. restscr 1
  88.  
  89. if Res == 0
  90.   goto Code
  91. endif
  92.  
  93. ; Hintergrundfarben setzen und Bildschirm löschen
  94. setcolor CYAN,CYAN
  95. window 1,1,80,25
  96. clrscr
  97.  
  98. ; Programm Info
  99. clrscr
  100. outtext ansi on
  101.  ┌──────────────────────────────────────────────────────────────────────────
  102.  │ Installations-SFX-Modul                     Hier können Sie eine kurze   
  103.  │ Erstellt von Bernd Hohenester               Programm-Info eintragen,     
  104.  │     FIDO: Bernd Hohenester@2:2490/2030.4    Ihr Copyright usw.           
  105.  │      CIS: 101447,1272                                                    
  106.  │ INTERNET: 101447.1272@compuserve.com                                     
  107.  ├──────────────────────────────────────────────────────────────────────────
  108.  │ Zielverzeichnis:                                                         
  109.  ──────────────────────────────────────────────────────────────────────────┘
  110. outtext ansi off
  111.  
  112. ; Schatten unten
  113. setcolor DARKGRAY,CYAN
  114. window 4,11,79,11
  115. clrscr 219
  116.  
  117. ; Schatten rechts
  118. setcolor DARKGRAY,CYAN
  119. window 78,3,79,11
  120. clrscr 219
  121.  
  122. ; Zielverzeichnis anzeigen
  123. window 21,9,75,9
  124. setcolor BLACK,WHITE
  125. gotoxy 1,1
  126. text DestDir
  127.  
  128. Bar=2
  129.  
  130. window 1,1,80,25
  131. ; unterste Zeile
  132. setcolor WHITE,CYAN
  133. gotoxy 1,25
  134. text "                        F1 für Hilfe, ALT-X zum Beenden                        "
  135.  
  136. ; Sound-Effekt
  137. sound 90,1
  138.  
  139. ; Installations-Menü
  140. Menu:
  141.  
  142. Choice = menu 27,16,YELLOW,BLUE,Bar,"Installations-Menü","Zielverzeichnis ändern"," Installation starten","         Ende"
  143.  
  144. if Choice == 0
  145.   goto Menu
  146. endif
  147.  
  148. ; Zielverzeichnis setzen
  149. if Choice == 1
  150.   savescr 1
  151.   window 21,9,75,9
  152.   Res=INPUT BLACK,CYAN,DestDir,DestDir,55
  153.   restscr 1
  154.   Bar=2
  155.  
  156.   ; bei Abbruch alte Vorgabe
  157.   if Res == 0
  158.     DestDir=Ziel
  159.     Bar=1
  160.   endif
  161.  
  162.   ; neu anzeigen
  163.   window 21,9,75,9
  164.   setcolor BLACK,WHITE
  165.   clrscr
  166.   gotoxy 1,1
  167.   text DestDir
  168.   window 1,1,80,25
  169.  
  170.   goto Menu
  171. endif
  172.  
  173. if Choice == 2
  174.   box 6,11,75,24,LIGHTCYAN,BLUE,DOUBLE
  175.   setcolor LIGHTCYAN,BLUE
  176.  
  177.   ; Titel
  178.   window 7,12,74,23
  179.   clrscr
  180.  
  181.   ; Beginn ausgeben
  182.   text "Installation begonnen.\n"
  183.   inswrow=2
  184.   window 1,1,80,25
  185.  
  186. endif
  187.  
  188. if Choice == 3
  189.   Quit:
  190.   setcolor WHITE,BLACK
  191.   clrscr
  192.   gotoxy 2,4
  193.   text "Das Programm wurde NICHT installiert!"
  194.   sound 380,25
  195.   delay 210
  196.   sound 190,25
  197.   exit 1
  198.   goto Menu
  199. endif
  200.  
  201. ; HIER BEGINNT DIE INSTALLATION
  202. ; nur nicht vorhandene oder neuere Dateien entpacken
  203. Overwrite UPDATE
  204.  
  205. proc OnKey
  206.   window 1,1,80,25
  207.  
  208.   if Par1 == 3
  209.     savescr 15
  210.     Par1=-1
  211.     sound 2300,25
  212.     delay 100
  213.     sound 1450,100
  214.     Choice=Menu 32,11,WHITE,LIGHTRED,1,"Unterbrechung"," Fortsetzen  ","  Abbrechen  "
  215.     if Choice == 2
  216.       exit 1
  217.     endif
  218.     restscr 15
  219.   endif
  220.  
  221.   ; "Abbrechen" gewählt
  222.   if Par1 == 301
  223.     goto Quit
  224.   endif
  225.  
  226.   ; F1 Hilfe angefordert
  227.   if Par1 == 315
  228.     savescr 15
  229.     call OutHelp
  230.     Par1=-1
  231.     restscr 15
  232.   endif
  233. endp
  234.  
  235. proc ChangeVol
  236.   window 7,12,74,23
  237.   setcolor YELLOW,BLUE
  238.   gotoxy 1,inswrow
  239.  
  240.   if Par2 == 0
  241.     Par1=Par1+2
  242.     text "... Diskette #",Par1," einlegen."
  243.     savescr 14
  244.     Par1=-1
  245.     sound 2300,25
  246.     delay 100
  247.     sound 1450,100
  248.     sound 5450,50
  249.     sound 7450,25
  250.     sound 1450,100
  251.     window 1,1,80,25
  252.     Choice = Menu 30,15,WHITE,GREEN,1,"Diskette wechseln","   Fortsetzen    ","    Abbrechen    "
  253.     restscr 14
  254.  
  255.     if Choice == 2
  256.       window 1,1,80,25
  257.       setcolor WHITE,BLACK
  258.       clrscr
  259.       gotoxy 2,3
  260.       text " Diskette nicht gefunden. Abbruch! "
  261.       exit 1
  262.     endif
  263.   endif
  264.  
  265.   if Par2 != 0
  266.     setcolor LIGHTCYAN,BLUE
  267.     Par1=Par1+1
  268.     text "... Diskette #",Par1," wurde bearbeitet."
  269.   endif
  270.  
  271.   if inswrow = 12
  272.     text "\n"
  273.   endif
  274.  
  275.   if inswrow < 12
  276.     inswrow=inswrow+1
  277.   endif
  278.   window 1,1,80,25
  279. endp
  280.  
  281. proc FileDone
  282.   gotoxy 50,11
  283.   setcolor LIGHTCYAN,BLUE
  284.   window 7,12,74,23
  285.   setcolor LIGHTCYAN,BLUE
  286.   gotoxy 1,inswrow
  287.   text DestFileName
  288.  
  289.   if inswrow = 12
  290.     text "\n"
  291.   endif
  292.  
  293.   if inswrow < 12
  294.     inswrow=inswrow+1
  295.   endif
  296.   window 1,1,80,25
  297. endp
  298.  
  299. proc Error
  300.   window 7,12,74,23
  301.   setcolor LIGHTCYAN,BLUE
  302.   gotoxy 1,inswrow
  303.   Title="Fehler!"
  304.  
  305.   ; Par1 enthält die Fehlernummer:
  306.  
  307.   if Par1 == 1
  308.     Message="Schwerer Fehler"
  309.     call ErrMsg
  310.   endif
  311.  
  312.   if Par1 == 2
  313.     Message="CRC Fehler, Archiv beschädigt"
  314.     call ErrMsg
  315.   endif
  316.  
  317.   if Par1 == 3
  318.     Message="Schreibfehler"
  319.     call ErrMsg
  320.   endif
  321.  
  322.   if Par1 == 4
  323.     Message="Fehler beim Erstellen der Datei"
  324.     call ErrMsg
  325.   endif
  326.  
  327.   if Par1 == 5
  328.     Message="Lesefehler"
  329.     call ErrMsg
  330.   endif
  331.  
  332.   if Par1 == 6
  333.     Message="Fehler beim Schließen der Datei"
  334.     call ErrMsg
  335.   endif
  336.  
  337.   if Par1 == 7
  338.     Message="Fehler beim Öffnen der Datei"
  339.     call ErrMsg
  340.   endif
  341.  
  342.   if Par1 == 8
  343.     Message="Nicht genügend Speicher"
  344.     call ErrMsg
  345.   endif
  346.  
  347.   if inswrow = 12
  348.     text "\n"
  349.   endif
  350.  
  351.   if inswrow < 12
  352.     inswrow=inswrow+1
  353.   endif
  354.   window 1,1,80,25
  355. endp
  356.  
  357. proc ErrMsg
  358.   window 17,14,62,21
  359.   setcolor WHITE,RED
  360.   clrscr
  361.   window 1,1,80,25
  362.   box 20,15,59,20,WHITE,RED,DOUBLE
  363.   gotoxy 1,15
  364.   ctext " ",Title," "
  365.   gotoxy 1,17
  366.   ctext Message
  367.   setcolor WHITE,BLACK
  368.   gotoxy 1,19
  369.   ctext " Ok "
  370.   sound 20,5
  371.   sound 80,50
  372.   delay 15000
  373.   window 1,1,80,25
  374. endp
  375.  
  376. proc ArcDone
  377.   sound 3300,25
  378.   delay 100
  379.   sound 2450,100
  380.   window 7,12,74,23
  381.   setcolor LIGHTCYAN,BLUE
  382.   gotoxy 1,inswrow
  383.   text "Fertig. Installation beendet"
  384.   delay 500
  385.   savescr 2
  386.   Title="Installations-Status"
  387.   Message=" Beendet "
  388.   call OkMsg
  389.   restscr 2
  390.   window 1,1,80,25
  391.  
  392.   ; Laufwerk wechseln
  393.   SYSTEM DestDir,
  394.   ; Verzeichnis wechseln
  395.   SYSTEM "CD ",DestDir,"."
  396.  
  397.   call ClearScreen
  398.  
  399.   ; externes Installationsprogramm aufrufen
  400.   ; SYSTEM "IF EXIST ", DestDir, "INSTALL.EXE", DestDir, "INSTALL.EXE"
  401.  
  402.   setcolor WHITE,BLACK
  403.   exit
  404. endp
  405.  
  406. proc ClearScreen
  407.   i=1
  408.   loop:
  409.     if i > 13
  410.       goto exloop
  411.     endif
  412.     j=81-i
  413.     k=26-i
  414.     box i,i,j,k,LIGHTBLUE,BLACK,DOUBLE
  415.     i=i+1
  416.   goto loop
  417.  
  418.   exloop:
  419.   i=1
  420.   loop1:
  421.     if i > 13
  422.       goto exloop1
  423.     endif
  424.     j=81-i
  425.     k=26-i
  426.     box i,i,j,k,BLACK,BLACK,SINGLE
  427.     i=i+1
  428.   goto loop1
  429.  
  430.   exloop1:
  431.     window 1,1,80,25
  432. endp
  433.  
  434. proc OkMsg
  435.   window 24,14,57,21
  436.   setcolor BLACK,WHITE
  437.   clrscr
  438.   window 1,1,80,25
  439.   box 27,15,53,20,BLACK,WHITE,DOUBLE
  440.   gotoxy 1,15
  441.   ctext " ",Title," "
  442.   gotoxy 1,17
  443.   ctext Message
  444.   setcolor WHITE,BLACK
  445.   gotoxy 1,19
  446.   ctext " Ok "
  447.   delay 50000
  448.   window 1,1,80,25
  449. endp
  450.  
  451. proc OutHelp
  452.   ; Hilfe anzeigen
  453.   savescr 13
  454.   setcolor BLACK,CYAN
  455.   window 6,7,75,19
  456.   clrscr
  457.   gotoxy 1,14
  458. ;text "╔═══════════════════════ Hilfe zur Installation ══════════════════════╗\n"
  459.   text "                                                                     \n"
  460.   text " - Wählen Sie aus dem Menü ZIELVERZEICHNIS ÄNDERN, wenn Sie das Ziel-\n"
  461.   text "   verzeichnis ändern möchten oder nicht genügend  Speicherplatz zur \n"
  462.   text "   Verfügung steht. Geben Sie anschließend das  gewünschte  Laufwerk \n"
  463.   text "   und Verzeichnis an und drücken Sie die EINGABETASTE.              \n"
  464.   text "                                                                     \n"
  465.   text " - Beginnen Sie  die  Installation  durch  Auswahl  des  Menüpunktes \n"
  466.   text "   INSTALLATION STARTEN. Sie werden ggf.  automatisch  zum  Wechseln \n"
  467.   text "   der Diskette aufgefordert.                                        \n"
  468.   text "                                                                     \n"
  469.   text " - Falls Sie die Installation nicht durchführen möchten, wählen  Sie \n"
  470.   text "   den Menüpunkt ENDE.                                               \n"
  471. ;text "                                                                       \n"
  472. ;text "╚════════════════════ Weiter mit beliebiger Taste ════════════════════╝\n"
  473.   window 1,1,80,25
  474.   box 5,6,75,20,BLACK,CYAN,DOUBLE
  475.  
  476.   window 5,6,75,20
  477.   setcolor WHITE,CYAN
  478.   gotoxy 25,1
  479.   text " Hilfe zur Installation "
  480.   gotoxy 22,15
  481.   text " Weiter mit beliebiger Taste "
  482.  
  483.   setcolor YELLOW,CYAN
  484.   gotoxy 29,3
  485.   text "ZIELVERZEICHNIS ÄNDERN"
  486.   gotoxy 5,9
  487.   text "INSTALLATION STARTEN"
  488.   gotoxy 19,13
  489.   text "ENDE"
  490.  
  491.   setcolor LIGHTCYAN,CYAN
  492.   gotoxy 44,6
  493.   text "EINGABETASTE"
  494.  
  495.   ; Schatten unten
  496.   setcolor DARKGRAY,CYAN
  497.   window 7,21,77,21
  498.   clrscr 219
  499.  
  500.   ; Schatten rechts
  501.   setcolor DARKGRAY,CYAN
  502.   window 76,7,77,21
  503.   clrscr 219
  504.  
  505.   ; Pause bis Taste
  506.   delay
  507.   restscr 13
  508.   window 1,1,80,25
  509. endp
  510.  
  511.