home *** CD-ROM | disk | FTP | other *** search
/ Chip 1997 July / Chip_1997-07_cd.bin / sharewar / 95rar / tools / script20.exe / rar / SOFORT.S < prev    next >
Text File  |  1996-05-06  |  7KB  |  368 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. ; - während des Entpackens Anzeige durch Fortschritts-Balken und einzelne
  13. ;   Dateinamen
  14. ; - es werden nur nicht vorhandene oder aktuellere Dateien entpackt
  15. ; - Aufforderung zum Diskettenwechsel bei Mehrdisketten-Archiven
  16. ; - Fehlererkennung
  17. ; - nach der Installation wird in das Zielverzeichnis gewechselt
  18. ;
  19. ;
  20. ; iSFX-Skript wird ab RAR V 1.54 nicht als Archivkommentar angezeigt!
  21.  
  22. ; Variable für Zielverzeichnis. BITTE GEWÜNSCHTEN PFAD EINTRAGEN!
  23. ; Wird innerhalb des Scripts mehrfach verwendet!
  24. Ziel="C:\\INSTALL"
  25. DestDir=Ziel
  26.  
  27. ; Balken definieren
  28. defbar YELLOW,CYAN,BLUE,WHITE,14,7,52
  29.  
  30. ; Hintergrundfarben setzen und Bildschirm löschen
  31. setcolor CYAN,CYAN
  32. window 1,1,80,25
  33. clrscr
  34.  
  35. ; AV-Überprüfung
  36. if AVPresent == -1
  37.   Title="Warnung"
  38.   Message="Siegelinformation ist nicht korrekt"
  39.   call ErrMsg
  40. endif
  41.  
  42. if AVPresent == 0
  43.   Title="Warnung"
  44.   Message="Siegelinformation fehlt"
  45.   call ErrMsg
  46. endif
  47.  
  48. ; Hintergrundfarben setzen und Bildschirm löschen
  49. setcolor CYAN,CYAN
  50. window 1,1,80,25
  51. clrscr
  52.  
  53. ; Programm Info
  54. clrscr
  55. outtext ansi on
  56.  ┌──────────────────────────────────────────────────────────────────────────
  57.  │ Installations-SFX-Modul                     Hier können Sie eine kurze   
  58.  │ Erstellt von Bernd Hohenester               Programm-Info eintragen,     
  59.  │     FIDO: Bernd Hohenester@2:2490/2030.4    Ihr Copyright usw.           
  60.  │      CIS: 101447,1272                                                    
  61.  │ INTERNET: 101447.1272@compuserve.com                                     
  62.  ├──────────────────────────────────────────────────────────────────────────
  63.  │                                                                          
  64.  ──────────────────────────────────────────────────────────────────────────┘
  65. outtext ansi off
  66.  
  67. ; Schatten unten
  68. setcolor DARKGRAY,CYAN
  69. window 4,11,79,11
  70. clrscr 219
  71.  
  72. ; Schatten rechts
  73. setcolor DARKGRAY,CYAN
  74. window 78,3,79,11
  75. clrscr 219
  76.  
  77. ; Zielverzeichnis anzeigen
  78. window 4,9,76,9
  79. setcolor BLACK,WHITE
  80. gotoxy 1,1
  81. text "Das Programm wird in ", DestDir, " installiert."
  82.  
  83. ; Laufwerk nicht vorhanden
  84. DiskSpace=getdfree
  85. if DiskSpace == -1
  86.   Title="Fehler!"
  87.   Message="Ziellaufwerk nicht vorhanden"
  88.   call ErrMsg
  89.   exit
  90. endif
  91.  
  92. window 1,1,80,25
  93. Menu:
  94. Choice = Menu 30,15,WHITE,BLUE,1,""," Fortsetzen ","  Beenden   "
  95.  
  96. if Choice == 0
  97.   goto Menu
  98. endif
  99.  
  100. if Choice == 2
  101.   Quit:
  102.   setcolor WHITE,BLACK
  103.   clrscr
  104.   gotoxy 2,4
  105.   text "Das Programm wurde NICHT installiert!"
  106.   sound 380,25
  107.   delay 210
  108.   sound 190,25
  109.   exit 1
  110. endif
  111.  
  112. box 6,11,75,24,LIGHTCYAN,BLUE,DOUBLE
  113. setcolor LIGHTCYAN,BLUE
  114.  
  115. ; Titel
  116. window 7,12,74,23
  117. clrscr
  118.  
  119. ; Beginn ausgeben
  120. text "Installation begonnen.\n"
  121. inswrow=2
  122. window 1,1,80,25
  123.  
  124. ; HIER BEGINNT DIE INSTALLATION
  125. ; nur nicht vorhandene oder neuere Dateien entpacken
  126. Overwrite UPDATE
  127.  
  128. proc OnKey
  129.   window 1,1,80,25
  130.  
  131.   if Par1 == 3
  132.     savescr 15
  133.     Par1=-1
  134.     sound 2300,25
  135.     delay 100
  136.     sound 1450,100
  137.     Choice=Menu 32,11,WHITE,LIGHTRED,1,"Unterbrechung"," Fortsetzen  ","  Abbrechen  "
  138.     if Choice == 2
  139.       exit 1
  140.     endif
  141.     restscr 15
  142.   endif
  143.  
  144.   ; "Abbrechen" gewählt
  145.   if Par1 == 301
  146.     goto Quit
  147.   endif
  148. endp
  149.  
  150. proc ChangeVol
  151.   window 7,12,74,23
  152.   setcolor YELLOW,BLUE
  153.   gotoxy 1,inswrow
  154.  
  155.   if Par2 == 0
  156.     Par1=Par1+2
  157.     text "... Diskette #",Par1," einlegen."
  158.     savescr 14
  159.     Par1=-1
  160.     sound 2300,25
  161.     delay 100
  162.     sound 1450,100
  163.     sound 5450,50
  164.     sound 7450,25
  165.     sound 1450,100
  166.     window 1,1,80,25
  167.     Choice = Menu 30,15,WHITE,GREEN,1,"Diskette wechseln","   Fortsetzen    ","    Abbrechen    "
  168.     restscr 14
  169.  
  170.     if Choice == 2
  171.       window 1,1,80,25
  172.       setcolor WHITE,BLACK
  173.       clrscr
  174.       gotoxy 2,3
  175.       text " Diskette nicht gefunden. Abbruch! "
  176.       exit 1
  177.     endif
  178.   endif
  179.  
  180.   if Par2 != 0
  181.     setcolor LIGHTCYAN,BLUE
  182.     Par1=Par1+1
  183.     text "... Diskette #",Par1," wurde bearbeitet."
  184.   endif
  185.  
  186.   if inswrow = 12
  187.     text "\n"
  188.   endif
  189.  
  190.   if inswrow < 12
  191.     inswrow=inswrow+1
  192.   endif
  193.   window 1,1,80,25
  194. endp
  195.  
  196. proc FileDone
  197.   gotoxy 50,11
  198.   setcolor LIGHTCYAN,BLUE
  199.   window 7,12,74,23
  200.   setcolor LIGHTCYAN,BLUE
  201.   gotoxy 1,inswrow
  202.   text DestFileName
  203.  
  204.   if inswrow = 12
  205.     text "\n"
  206.   endif
  207.  
  208.   if inswrow < 12
  209.     inswrow=inswrow+1
  210.   endif
  211.   window 1,1,80,25
  212. endp
  213.  
  214. proc Error
  215.   window 7,12,74,23
  216.   setcolor LIGHTCYAN,BLUE
  217.   gotoxy 1,inswrow
  218.   Title="Fehler!"
  219.  
  220.   ; Par1 enthält die Fehlernummer:
  221.  
  222.   if Par1 == 1
  223.     Message="Schwerer Fehler"
  224.     call ErrMsg
  225.   endif
  226.  
  227.   if Par1 == 2
  228.     Message="CRC Fehler, Archiv beschädigt"
  229.     call ErrMsg
  230.   endif
  231.  
  232.   if Par1 == 3
  233.     Message="Schreibfehler"
  234.     call ErrMsg
  235.   endif
  236.  
  237.   if Par1 == 4
  238.     Message="Fehler beim Erstellen der Datei"
  239.     call ErrMsg
  240.   endif
  241.  
  242.   if Par1 == 5
  243.     Message="Lesefehler"
  244.     call ErrMsg
  245.   endif
  246.  
  247.   if Par1 == 6
  248.     Message="Fehler beim Schließen der Datei"
  249.     call ErrMsg
  250.   endif
  251.  
  252.   if Par1 == 7
  253.     Message="Fehler beim Öffnen der Datei"
  254.     call ErrMsg
  255.   endif
  256.  
  257.   if Par1 == 8
  258.     Message="Nicht genügend Speicher"
  259.     call ErrMsg
  260.   endif
  261.  
  262.   if inswrow = 12
  263.     text "\n"
  264.   endif
  265.  
  266.   if inswrow < 12
  267.     inswrow=inswrow+1
  268.   endif
  269.   window 1,1,80,25
  270. endp
  271.  
  272. proc ErrMsg
  273.   window 17,14,62,21
  274.   setcolor WHITE,RED
  275.   clrscr
  276.   window 1,1,80,25
  277.   box 20,15,59,20,WHITE,RED,DOUBLE
  278.   gotoxy 1,15
  279.   ctext " ",Title," "
  280.   gotoxy 1,17
  281.   ctext Message
  282.   setcolor WHITE,BLACK
  283.   gotoxy 1,19
  284.   ctext " Ok "
  285.   sound 20,5
  286.   sound 80,50
  287.   delay 15000
  288.   window 1,1,80,25
  289. endp
  290.  
  291. proc ArcDone
  292.   sound 3300,25
  293.   delay 100
  294.   sound 2450,100
  295.   window 7,12,74,23
  296.   setcolor LIGHTCYAN,BLUE
  297.   gotoxy 1,inswrow
  298.   text "Fertig. Installation beendet"
  299.   delay 500
  300.   savescr 2
  301.   Title="Installations-Status"
  302.   Message=" Beendet "
  303.   call OkMsg
  304.   restscr 2
  305.   window 1,1,80,25
  306.  
  307.   ; Laufwerk wechseln
  308.   SYSTEM DestDir,
  309.   ; Verzeichnis wechseln
  310.   SYSTEM "CD ",DestDir,"."
  311.  
  312.   call ClearScreen
  313.  
  314.   ; externes Installationsprogramm aufrufen
  315.   ; SYSTEM "IF EXIST ", DestDir, "INSTALL.EXE", DestDir, "INSTALL.EXE"
  316.  
  317.   setcolor WHITE,BLACK
  318.   exit
  319. endp
  320.  
  321. proc ClearScreen
  322.   i=1
  323.   loop:
  324.     if i > 13
  325.       goto exloop
  326.     endif
  327.     j=81-i
  328.     k=26-i
  329.     box i,i,j,k,LIGHTBLUE,BLACK,DOUBLE
  330.     i=i+1
  331.   goto loop
  332.  
  333.   exloop:
  334.   i=1
  335.   loop1:
  336.     if i > 13
  337.       goto exloop1
  338.     endif
  339.     j=81-i
  340.     k=26-i
  341.     box i,i,j,k,BLACK,BLACK,SINGLE
  342.     i=i+1
  343.   goto loop1
  344.  
  345.   exloop1:
  346.     window 1,1,80,25
  347. endp
  348.  
  349. proc OkMsg
  350.   window 24,14,57,21
  351.   setcolor BLACK,WHITE
  352.   clrscr
  353.   window 1,1,80,25
  354.   box 27,15,53,20,BLACK,WHITE,DOUBLE
  355.   gotoxy 1,15
  356.   ctext " ",Title," "
  357.   gotoxy 1,17
  358.   ctext Message
  359.   setcolor WHITE,BLACK
  360.   gotoxy 1,19
  361.   ctext " Ok "
  362.   delay 50000
  363.   window 1,1,80,25
  364. endp
  365.  
  366.