home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / OTL-MC9.DMS / in.adf / HotHelp 3 < prev    next >
Encoding:
Text File  |  1994-02-14  |  38.6 KB  |  961 lines

  1.  
  2. ;====================================================================
  3. ; Einige Initialisierungen
  4. ;====================================================================
  5.  
  6. (complete 0)
  7.  
  8. ; Die Versionsnummer und das Erstellungs-Datum der hier installierten
  9. ; HotHelp-Version.
  10.  
  11. (set hh-version "3")
  12. (set hh-version-intern "3.00")
  13. (set hh-date "(14 Feb 94)")
  14.  
  15. ; HotHelp wird über eine ganze Reihe von Verzeichnissen verteilt, so daß sich
  16. ; kein einzelnes Default-Dir angeben läßt.
  17.  
  18. (set @default-dest "")
  19.  
  20. (set os-version (/ (getversion) 65536))
  21. (set os-13 (< os-version 36))
  22. (set os-20 (>= os-version 36))
  23. (set os-21 (>= os-version 38))
  24.  
  25. ; Die Pfadnamen der einzelnen Quell-Dateien.
  26.  
  27. (set source-lha                        "HotHelpInstall3_1:Tools/LhA")
  28. (set source-hotkeyhelp                "HotHelpInstall3_1:C/HotKeyHelp")
  29. (set source-hothelppref                "HotHelpInstall3_1:C/HotHelpPref")
  30. (set source-toolicons (if os-20    "HotHelpInstall3_1:Icons/T2.0/"
  31.                                             "HotHelpInstall3_1:Icons/T1.3/"))
  32. (set source-toolicon-hkh            (cat source-toolicons "HKH.info"))
  33. (set source-toolicon-hhpref        (cat source-toolicons "HHPref.info"))
  34. (set source-toolicon-hhpro            (cat source-toolicons "HHPro.info"))
  35. (set source-toolicon-easyhh        (cat source-toolicons "HHEasy.info"))
  36. (set source-toolicon-hhmarker        (cat source-toolicons "HHMark.info"))
  37. (set source-toolicon-hhcomp        (cat source-toolicons "HHC.info"))
  38. (set source-toolicon-hhmanager    (cat source-toolicons "HHMan.info"))
  39. (set source-toolicon-hh                (cat source-toolicons "HH.info"))
  40. (set source-icons (if os-20        "HotHelpInstall3_1:Icons/Icons2.0"
  41.                                             "HotHelpInstall3_1:Icons/Icons1.3"))
  42.  
  43. (set source-txt-hothelp                "HotHelpInstall3_1:Text/HotHelp.txt")
  44. (set source-txt-libs                    "HotHelpInstall3_2:Text/Libs 3.0.txt")
  45. (set source-txt-libsdevs            "HotHelpInstall3_3:Text/Libs & Devs 3.0.txt")
  46. (set source-txt-ansic                "HotHelpInstall3_3:Text/ANSI-C.txt")
  47. (set source-txt-arexx                "HotHelpInstall3_3:Text/ARexx.txt")
  48. (set source-txt-devs                    "HotHelpInstall3_3:Text/Devs 3.0.txt")
  49. (set source-txt-glossar                "HotHelpInstall3_3:Text/Glossar.txt")
  50. (set source-txt-iff                    "HotHelpInstall3_3:Text/IFF.txt")
  51. (set source-txt-shell                "HotHelpInstall3_3:Text/Shell.txt")
  52.  
  53. (set archive-hothelplib                "HotHelpInstall3_1:Archive/HotHelpLib.lha")
  54. (set archive-fasthothelplib        "HotHelpInstall3_1:Archive/FastHotHelpLib.lha")
  55. (set archive-hothelphandler        "HotHelpInstall3_1:Archive/Handler.lha")
  56. (set archive-catalogs                "HotHelpInstall3_1:Archive/Catalogs.lha")
  57. (set archive-tools                    "HotHelpInstall3_1:Archive/Tools.lha")
  58. (set archive-header                    "HotHelpInstall3_1:Archive/Header.lha")
  59.  
  60. ; Die Größen der Text-Dateien.
  61.  
  62. (set size-txt-ansic                    75000)
  63. (set size-txt-arexx                    85000)
  64. (set size-txt-devs                    140000)
  65. (set size-txt-glossar                210000)
  66. (set size-txt-hothelp                125000)
  67. (set size-txt-hothelplib            55000)
  68. (set size-txt-hothelptools            360000)
  69. (set size-txt-iff                        30000)
  70. (set size-txt-libsdevs                50000)
  71. (set size-txt-libs                    845000)
  72. (set size-txt-shell                    155000)
  73.  
  74. ; Die Pfadnamen der Programme, die vom Installations-Skript aufgerufen werden.
  75.  
  76. (set run-lhapatterns        "HotHelpInstall3_1:Tools/LhaPatterns")
  77. (set run-flushprojects    "HotHelpInstall3_1:Tools/FlushProjects")
  78. (set run-deleteproject    "HotHelpInstall3_1:Tools/DeleteProject")
  79. (set run-lha                "RAM:LhA -a")
  80. (set run-clearstartup    "HotHelpInstall3_3:Tools/ClearStartup")
  81. (set run-setprojectpath    "HotHelpInstall3_3:Tools/SetProjectPath")
  82.  
  83. ; Der Name des HotHelp-Verzeichnis darf nicht länger als dieser Wert sein.
  84.  
  85. (set max-project-dir 200)
  86.  
  87. ; Default-Sprache für die verschiedenen Installations-Tools ist Deutsch.
  88.  
  89. (set tools-language 0)
  90.  
  91. ;=====================================================================================
  92. ; installtext
  93. ;
  94. ; Die Prozedur erwartet Parameter in den folgenden Variablen:
  95. ;    §it-name   -    Name des Projektes, dessen Text-Datei kopiert wird
  96. ;    §it-size   -    Größe der Text-Datei
  97. ;    §it-source -    Pfadname der zu kopierenden Textdatei
  98. ;    §it-dest   -    Pfadname des Zielverzeichnisses
  99. ; Die folgenden Variablen werden von der Prozedur gesetzt:
  100. ;    §it-dest   -    Name des Verzeichnisses, in dem die Datei tatsächlich installiert
  101. ;                        wurde. Kann sich vom Eingabewert unterscheiden, wenn aufgrund
  102. ;                        mangelnden Disk-Speichers ein anderer Datenträger gewählt wurde.
  103. ;=====================================================================================
  104. (procedure installtext
  105.     (
  106.     (if (and (> @user-level 0) (<= (getdiskspace §it-dest) §it-size))
  107.         (
  108.         (until (> (getdiskspace §it-dest) §it-size)
  109.             (
  110.             (message (cat    "Auf dem gewählten Datenträger \"" §it-dest "\" ist nicht "
  111.                                 "mehr genügend freier Speicherplatz vorhanden, um die Texte "
  112.                                 "des " §it-name "-Projektes zu installieren (es sind nur noch "
  113.                                  (/ (getdiskspace §it-dest) 1024) " KByte frei, während die "
  114.                                 "Text-Datei " (/ §it-size 1024) " KByte benötigt).\n"
  115.                                 "Dieser Fehler tritt üblicherweise bei Installation auf "
  116.                                 "Disketten auf (falls Sie HotHelp auf eine Festplatte "
  117.                                 "installieren und die Meldung sehen, sollten Sie die "
  118.                                 "Installation abbrechen und erst ein wenig Platz auf Ihrer "
  119.                                 "Platte schaffen).\n\n"
  120.                                 "Sie müssen daher nun eine andere Disk angeben, auf die die "
  121.                                 "Text-Datei kopiert werden soll.\n"))
  122.             (set §it-dest
  123.                 (askdir
  124.                     (prompt "Auswahl der Disk für die Text-Datei des " §it-name "-Projektes (Dateigröße: " (/ §it-size 1024) " KByte)")
  125.                     (help (cat    "    Bei Installation auf Disketten müssen die Text-Dateien "
  126.                                     "auf mehrere Disks verteilt werden, da sie sehr viel Platz "
  127.                                     "benötigen. Sie müssen daher nun eine andere Disk auswählen, "
  128.                                     "auf die die Text-Dateien kopiert werden sollen. Sie können "
  129.                                     "auf der Disk auch Unterverzeichnisse anlegen.\n"
  130.                                     "    Bitte beachten Sie jedoch, daß alle Disketten "
  131.                                     "eindeutig Namen tragen müssen (z.B. \"HotHelp1\", "
  132.                                     "\"HotHelp2\", etc.). Keinesfalls dürfen zwei Disketten "
  133.                                     "denselben Namen tragen!"
  134.                                     "\n\n"
  135.                                     @askdir-help))
  136.                 (default §it-dest)
  137.                 (newpath)
  138.                 )
  139.             )
  140.             (if (= (exists §it-dest) 0)
  141.                 (makedir §it-dest (infos) (safe))
  142.             (set §it-dest (expandpath §it-dest))
  143.             )
  144.  
  145.             ; Der Name darf nicht zu lang sein, sonst können wir ihn hinterher nicht in
  146.             ; die Header-Dateien der Projekte eintragen.
  147.             (if (>= (strlen §it-dest) max-project-dir)
  148.                 (abort (cat    "\nDer eingegebene Name \n\"" §it-dest "\"\nist zu lang!\n\n"
  149.                                 "Bitte geben Sie maximal " (- max-project-dir 1) " Zeichen ein!"))
  150.             )
  151.             )
  152.         )
  153.         )
  154.     )
  155.     (copyfiles
  156.         (prompt    (cat "Kopiere Projekt-Texte " §it-name))
  157.         (source    §it-source)
  158.         (dest        §it-dest)
  159.     )
  160.     )
  161. )
  162.  
  163. ;=====================================================================================
  164. ; Beginn der Installation
  165. ;=====================================================================================
  166.  
  167. ; Eine kleine Einleitungs-Message, gefolgt vom Startbildschirm des Installers.
  168.  
  169. (set act-user-level @user-level)
  170. (user 1)
  171. (message (cat    "Willkommen zum Installationsprogramm von \"HotHelp "
  172.                      hh-version "\"!\n\n"
  173.                     "Dieses Skript kopiert die verschiedenen Dateien, "
  174.                     "aus denen sich das HotHelp-System zusammensetzt, "
  175.                     "auf Ihre Festplatte.\n\n"
  176.                     "Falls Sie über keine Platte verfügen, werden statt dessen bis zu "
  177.                     "vier Leerdisketten benötigt (Hinweise zum Formatieren von Disketten "
  178.                     "entnehmen Sie bitte Ihrem Amiga-Benutzerhandbuch).\n"
  179.                     "Bitte beachten Sie, daß alle verwendeten Leerdisks unterschiedliche "
  180.                     "Namen haben müssen und daß keine den Namen \"HotHelp\" tragen "
  181.                     "darf!"))
  182. (user act-user-level)
  183. (welcome)
  184.  
  185. (set partition "WORK:")
  186. (if (= @user-level 0)
  187.     (
  188.     (user 1)
  189.     (message (cat    "Im Einsteiger-Modus wird davon ausgegangen, daß HotHelp auf "
  190.                         "einer Festplatte installiert wird, auf der noch mindestens "
  191.                         "ca. 4 MByte freier Speicherplatz verfügbar sind. Sie müssen dazu im "
  192.                         "nächsten Fenster den Namen der gewünschten Festplatten-Partition "
  193.                         "angeben.\n\n"
  194.                         "Alle weiteren Angaben werden dann vom Installations-Skript "
  195.                         "möglichst genau an Ihr System angepaßt - insbesondere wird auch "
  196.                         "erkannt, wenn Sie schon eine alte HotHelp-Version installiert "
  197.                         "haben; diese wird dann komplett durch die neue Version ersetzt."))
  198.  
  199.     (set ok 0)
  200.     (while (not ok)
  201.         (set partition
  202.             (askdir
  203.                 (prompt "Auswahl des Laufwerks für die HotHelp-Installation")
  204.                 (help (cat    "    Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  205.                                 "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  206.                                 "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  207.                                 "gekennzeichneten Einträge auswählen.\n"
  208.                                 "    Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
  209.                                 "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
  210.                                 "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
  211.                                 "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"
  212.                                 "\n\n"
  213.                                 @askdir-help))
  214.                 (default partition)
  215.                 (disk)
  216.             )
  217.         )
  218.  
  219.         ; Ist der Dateiname leer oder endet nicht mit einem ':' oder existiert unter
  220.         ; diesem Namen kein Verzeichnis, wird eine Fehlermeldung angezeigt; andernfalls
  221.         ; kann die Auswahl-Schleife beendet werden.
  222.         (if (or (or (<= (strlen partition) 0) (<> (substr partition (- (strlen partition) 1) 1) ":")) (<> (exists partition (noreq)) 2))
  223.             (message (cat    "\nBei Ihrer Auswahl \"" partition "\" handelt es sich nicht um "
  224.                                 "eine gültige Laufwerks-Angabe!\n\n"
  225.                                 "Sie können über das Symbol 'Laufwerke anz.' (bzw. 'Show drives') "
  226.                                 "eine Übersicht über alle Laufwerke Ihres Amiga anfordern; aus "
  227.                                 "dieser Übersicht sollten Sie nur die oberen, nicht farblich "
  228.                                 "gekennzeichneten Einträge auswählen.\n"
  229.                                 "Typische sinnvolle Namen sind z.B. \"WORK:\", \"HD0:\" oder \"DH0:\"; "
  230.                                 "nicht verwenden sollten Sie Namen wie \"DF0:\", \"DF1:\", "
  231.                                 "\"DF2:\", \"DF3:\", \"RAD:\", \"RAM:\", \"System2.0:\", "
  232.                                 "\"WB_2.x:\", \"System3.0:\" oder \"WB_3.x:\"!"))
  233.             ;else
  234.             (set ok 1)
  235.         )
  236.     )
  237.     (user 0)
  238.     )
  239. )
  240.  
  241. ; Dieser kleine Trick ist notwendig, damit LHA unter 1.3 und 2.0 keinen Mist
  242. ; baut...
  243.  
  244. (run run-lhapatterns)
  245.  
  246. ; Falls HotHelp schon installiert ist, wird dies hier ermittelt. 'old-hh-version'
  247. ; kann anschließend die folgenden drei Werte beinhalten: -1 (noch nicht
  248. ; installiert), 0 (Version 2 war installiert) oder 1 (Version 3)
  249.  
  250. (set old-hh-version -1)
  251. (if (<> (getassign "HOTHELP") "")
  252.     (
  253.     ; Nun werden sicherheitshalber alle evtl. schon geladenen Projekte wieder aus
  254.     ; dem Speicher entfernt (diese geLock()ten Dateien lassen sich ja so
  255.     ; wahnsinnig schlecht überschreiben...).
  256.  
  257.     (working "\nEntferne evtl. geladene Projekte aus dem Speicher...")
  258.     (run (cat run-flushprojects " " tools-language))
  259.  
  260.     ; Wenn eine dieser typischen 3er-Dateien existiert, gehen wir davon aus, daß
  261.     ; Version 3 installiert ist.
  262.  
  263.     (set old-hh-version
  264.         (if (or (exists "L:HotHelpHandler")
  265.                   (exists "HOTHELP:HotHelpLib.English"))
  266.             1
  267.         ;else
  268.             0)
  269.     )
  270.  
  271.     ; Existiert ein Libs&Devs-1.3- oder -2.1-Projekt-Header, bieten wir die
  272.     ; Möglichkeit an, diese Projekte zu löschen. Ebenso die alte Datei mit den
  273.     ; Hilfstexten für den Manager.
  274.  
  275.     (if (exists "HOTHELP:Projekte/Libs & Devs 1.3.hdr")
  276.         (if (askbool
  277.                 (prompt    (cat    "\nSie haben noch das alte Projekt 'Libs & Devs 1.3' "
  278.                                     "installiert. Dieses wird komplett durch das neue "
  279.                                     "'Libs & Devs 3.0'-Projekt ersetzt.\n"
  280.                                     "Soll das alte Projekt gelöscht werden?"))
  281.                 (help        (cat    "    Das mit der alten HotHelp-Version ausgelieferte "
  282.                                     "Projekt 'Libs & Devs 1.3' enthält eine Dokumentation "
  283.                                     "des Amiga-Betriebssystems bis Version 1.3.\n"
  284.                                     "    Da die neue Version von HotHelp das Projekt "
  285.                                     "'Libs & Devs 3.0' beinhaltet, das alle "
  286.                                     "Betriebssystem-Versionen bis 3.0 einschließlich "
  287.                                     "dokumentiert, ist das alte 1.3-Projekt damit überflüssig "
  288.                                     "und kann gelöscht werden."))
  289.                 (default 1))
  290.             (
  291.             (working "\nLösche das 1.3-Projekt...")
  292.             (run (cat run-deleteproject " " tools-language))
  293.             )
  294.         )
  295.     )
  296.     (if (exists "HOTHELP:Projekte/Libs & Devs 2.1.hdr")
  297.         (if (askbool
  298.                 (prompt    (cat    "\nSie haben noch das alte Projekt 'Libs & Devs 2.1' "
  299.                                     "installiert. Dieses wird komplett durch das neue "
  300.                                     "'Libs & Devs 3.0'-Projekt ersetzt.\n"
  301.                                     "Soll das alte Projekt gelöscht werden?"))
  302.                 (help        (cat    "    Das mit der alten HotHelp-Version ausgelieferte "
  303.                                     "Projekt 'Libs & Devs 2.1' enthält eine Dokumentation "
  304.                                     "des Amiga-Betriebssystems bis Version 2.1.\n"
  305.                                     "    Da die neue Version von HotHelp das Projekt "
  306.                                     "'Libs & Devs 3.0' beinhaltet, das alle "
  307.                                     "Betriebssystem-Versionen bis 3.0 einschließlich "
  308.                                     "dokumentiert, ist das alte 2.1-Projekt damit überflüssig "
  309.                                     "und kann gelöscht werden."))
  310.                 (default 1))
  311.             (
  312.             (working "\nLösche das 2.1-Projekt...")
  313.             (run (cat run-deleteproject " " tools-language " X"))
  314.             )
  315.         )
  316.     )
  317.     (if (exists ("HOTHELP:HotHelpManager.Hlp"))
  318.         (delete "HOTHELP:HotHelpManager.Hlp"
  319.             (prompt (cat    "\nLösche HOTHELP:HotHelpManager.Hlp"
  320.                                 "\n\n"
  321.                                 "Diese Datei enthält die Hilfstexte für den "
  322.                                 "alten HotHelpManager. Da dieses Programm nicht "
  323.                                 "mehr benötigt wird, kann auch diese Datei entfernt "
  324.                                 "werden."))
  325.             (help "")
  326.             (confirm)
  327.         )
  328.     )
  329.     )
  330. )
  331.  
  332. (set libs-chosen
  333.     (askoptions
  334.         (prompt "Auswahl der Funktions-Bibliotheken")
  335.         (help (cat    "    Als erstes müssen Sie festlegen, welche Funktions-Bibliotheken auf "
  336.                         "Ihrem System installiert werden sollen. Im Normalfall können Sie die "
  337.                         "vorgegebene Einstellung übernehmen und die Installation direkt "
  338.                         "fortsetzen.\n"
  339.                         "    Hier noch einige Hintergrund-Informationen über die einzelnen "
  340.                         "Bibliotheken:\n"
  341.                         "    HotHelp.Library - Diese Library stellt das Kernstück von "
  342.                         "HotHelp dar. Es handelt sich um eine Funktions-Bibliothek, in "
  343.                         "der alle Routinen zusammengefaßt sind, die zum Verwalten und "
  344.                         "Anzeigen der Hilfstexte benötigt werden - mit anderen Worten: "
  345.                         "ohne diese Bibliothek geht überhaupt nichts!\n\n"
  346.                         "    LH.Library - Die Lh-Library enthält leistungsfähige Funktionen "
  347.                         "zum Komprimieren und Dekomprimieren von Daten. Da alle Hilfstexte, "
  348.                         "die mit dieser HotHelp-Version zusammen ausgeliefert werden, "
  349.                         "mit Hilfe dieser Library gepackt wurden (andernfalls wären die "
  350.                         "Dateien mehr als doppelt so groß!), muß auch diese Library "
  351.                         "installiert werden - andernfalls können die Texte bei der "
  352.                         "Ausgabe nicht mehr entschlüsselt werden! Sie sollten nur in dem "
  353.                         "Fall auf das Kopieren der Library verzichten, wenn Sie schon über "
  354.                         "eine neuere Version verfügen.\n\n"
  355.                         "   RCT.Library - Unter OS 1.3 wird diese Bibliothek verwendet, "
  356.                         "um einen FileRequester anzubieten. Sie können allerdings auf das "
  357.                         "Kopieren verzichten, wenn Sie schon über die ReqTools- oder "
  358.                         "die Arp-Library verfügen - HotHelp greift dann auf deren "
  359.                         "File-Requester zurück."
  360.                         "\n\n"
  361.                         @askoptions-help))
  362.         (choices
  363.             "HotHelp.Library"
  364.             "LH.Library"
  365.             "RCT.Library"
  366.         )
  367.         (default (if os-20 3 7) )
  368.     )
  369. )
  370.  
  371. ; Nun wird der User gefragt, ob er die normale oder die FastFont-Version
  372. ; der Library installieren möchte. 'install-fastfont' enthält anschließend
  373. ; 0 für die normale oder 1 für die FastFont-Library.
  374.  
  375. (set install-fastfont 0)
  376. (if (in libs-chosen 0)
  377.     (set install-fastfont
  378.         (askchoice
  379.             (prompt "Art der Textanzeige")
  380.             (help (cat    "    Bitte legen Sie hier fest, ob die HotHelp-Library die normalen "
  381.                             "Textausgabe-Routinen des Betriebssystems verwenden soll oder "
  382.                             "ob die schnelleren internen Funktionen von HotHelp verwendet "
  383.                             "werden sollen. Bei Verwendung der normalen Ausgabe-Funktionen "
  384.                             "ist die Library ca. 6 kByte kleiner - dafür ist die "
  385.                             "Ausgabegeschwindigkeit auch nur halb so hoch wie bei Verwendung "
  386.                             "der beschleunigten Ausgabe.\n"
  387.                             "    Sie sollten die schnellere Version allerdings nur anfordern, "
  388.                             "wenn Sie einen 'langsamen' Amiga (mit 68000-CPU) mit altem "
  389.                             "Betriebssystem (maximal OS 1.3) besitzen und wenn Sie noch keinen "
  390.                             "anderen Text-Beschleuniger verwenden. Andernfalls bringt der "
  391.                             "HotHelp-interne FastFont keinen Geschwindigkeits-Vorteil mehr."
  392.                             "\n\n"
  393.                              @askchoice-help))
  394.             (choices "Normale Textausgabe" "Beschleunigte Textausgabe")
  395.             (default (if os-13 1 0))
  396.         )
  397.     )
  398. )
  399.  
  400. ; LhA wird in die RAM-Disk kopiert, damit das Programm nicht jedesmal von Disk
  401. ; geladen werden muß.
  402. (copyfiles
  403.     (source source-lha)
  404.     (dest "RAM:")
  405.     (nogauge)
  406. )
  407.  
  408. ; Nun werden die gewünschten Libraries der Reihe nach aus ihren Archiven
  409. ; entnommen.
  410. (if (<> libs-chosen 0)
  411.     (
  412.     (if (in libs-chosen 0)
  413.         (run (cat run-lha " x " (if (= install-fastfont 1) archive-fasthothelplib archive-hothelplib) " LIBS: HotHelp.Library"))
  414.     )
  415.     (complete 5)
  416.     (if (in libs-chosen 1)
  417.         (run (cat run-lha " x " archive-hothelplib " LIBS: Lh.Library"))
  418.     )
  419.     (complete 10)
  420.     (if (in libs-chosen 2)
  421.         (run (cat run-lha " x " archive-hothelplib " LIBS: RCT.Library"))
  422.     )
  423.     (complete 15)
  424.     )
  425. )
  426. (complete 15)
  427.  
  428. ; Nun kommen die Handler an die Reihe:
  429.  
  430. (run
  431.     (prompt    (cat    "\nKopieren der HotHelp-Handler\n\n"
  432.                         "Bei den Handlern handelt es sich um Programm-Teile, "
  433.                         "die von der Library bzw. HotKeyHelp nachgeladen werden, "
  434.                         "um eigene Prozesse daraus zu erzeugen.\n"
  435.                         "Der HotHelpHandler wird benötigt, um asynchrone "
  436.                         "HotHelp-Fenster zu erzeugen, der HotKeyHelpHandler "
  437.                         "wird von HotKeyHelp als eigener Prozeß installiert, "
  438.                         "der für die Überwachung des Input-Streams, das "
  439.                         "ARexx-Interface und die Onlineprojekte zuständig ist."))
  440.     (help        (cat    "    Bei Zustimmung werden die beiden Handler in das "
  441.                         "L:-Verzeichnis entpackt, wo sie von HotHelp erwartet werden."))
  442.     (cat run-lha " x " archive-hothelphandler " L:")
  443.     (confirm)
  444. )
  445. (complete 20)
  446.  
  447. ; And now for something completely different: It's Monty Pythons Flying HotKeyHelp!
  448.  
  449. (set hotkeyhelp-dir
  450.     (askdir
  451.         (prompt "Auswahl des HotKeyHelp-Verzeichnisses")
  452.         (help (cat    "    Das Programm HotKeyHelp ist ebenfalls sehr wichtig für "
  453.                         "das HotHelp-System. Es installiert einen Input-Handler, der "
  454.                         "alle Tastatur-Eingaben überwacht. Wird einer der vorgegebenen "
  455.                         "Hotkeys entdeckt, öffnet der Handler über die HotHelp-Library "
  456.                         "ein HotHelp-Fenster mit einem Hilfstext - je nachdem, welcher "
  457.                         "Hotkey eingegeben wurde.\n"
  458.                         "    Ohne dieses Programm können demnach keine HotHelp-Fenster "
  459.                         "über die Hotkeys geöffnet werden. Auch die neuen Online-Projekte "
  460.                         "und das ARexx-Interface sind nur verwendbar, wenn HotKeyHelp "
  461.                         "installiert wurde.\n"
  462.                         "    Sie müssen nun hier festlegen, in welches Verzeichnis "
  463.                         "das Programm kopiert werden soll."
  464.                         "\n\n"
  465.                         @askdir-help))
  466.     (default "C:")
  467.     (newpath)
  468.     )
  469. )
  470. (if (= (exists hotkeyhelp-dir) 0)
  471.     (makedir hotkeyhelp-dir (infos) (safe))
  472. (set hotkeyhelp-dir (expandpath hotkeyhelp-dir))
  473. )
  474. (copyfiles
  475.     (source source-hotkeyhelp)
  476.     (dest hotkeyhelp-dir)
  477. )
  478. (copyfiles
  479.     (source source-toolicon-hkh)
  480.     (dest hotkeyhelp-dir)
  481.     (newname "HotKeyHelp.info")
  482. )
  483. (complete 25)
  484.  
  485. ; Nun wird das Verzeichnis ausgewählt, in dem alle HotHelp-Dateien untergebracht
  486. ; werden sollen. Diesem Verzeichnis wird später das HOTHELP:-Device zugeordnet.
  487.  
  488. (message (cat    "\nBitte bestimmen Sie jetzt das Verzeichnis, in dem die für HotHelp "
  489.                     "wichtigen Daten abgelegt werden sollen. Dabei handelt es sich z.B. "
  490.                     "um eine Datei mit den aktuellen Einstellungen des Systems, diverse "
  491.                     "Icon-Dateien und (last but not least) die Projekt-Dateien mit "
  492.                     "den Hilfstexten selber.\n"))
  493.  
  494. ; Falls HOTHELP: schon assigned ist (HotHelp also schon mal installiert wurde),
  495. ; weisen wir hier den entsprechenden Pfad an 'hothelp-dir' zu - andernfalls wird
  496. ; als Default "WORK:HotHelp" angenommen.
  497.  
  498. (set hothelp-dir (getassign "HOTHELP"))
  499. (if (= hothelp-dir "")
  500.     (set hothelp-dir (cat partition "HotHelp"))
  501. )
  502.  
  503. (set hothelp-dir
  504.     (askdir
  505.         (prompt "Auswahl des HotHelp-Verzeichnisses")
  506.         (help (cat    "    Sie müssen nun festlegen, in welchem Verzeichnis die "
  507.                         "Daten von HotHelp abgelegt werden sollen. Falls Sie HotHelp "
  508.                         "schon vorher einmal installiert haben, wird hier das damals "
  509.                         "ausgewählte Verzeichnis vorgegeben - andernfalls lautet die "
  510.                         "Vorgabe \"" partition "HotHelp\".\n"
  511.                         "    Festplatten-Besitzer können das so voreingestellte "
  512.                         "Verzeichnis 'HotHelp' auf der " partition "-Partition "
  513.                         "verwenden.\n"
  514.                         "    Bei Installation auf Disketten sollten Sie eine eigene "
  515.                         "Disk für die Dateien verwenden, auf der Sie dann ein "
  516.                         "entsprechendes Unterverzeichnis anlegen. Liegt die "
  517.                         "Ziel-Diskette z.B. in Laufwerk 1, sollten Sie "
  518.                         "\"DF1:HotHelp\" in das Feld 'Ausgewählte Schublade' "
  519.                         "eingeben, um ein Verzeichnis dieses Namens auf der Disk "
  520.                         "anlegen zu lassen. Verwenden Sie eine der vorbereiteten "
  521.                         "Leerdisketten."
  522.                         "\n\n"
  523.                         @askdir-help))
  524.     (default hothelp-dir)
  525.     (newpath)
  526.     )
  527. )
  528. (if (= (exists hothelp-dir) 0)
  529.     (makedir hothelp-dir (infos) (safe))
  530. (set hothelp-dir (expandpath hothelp-dir))
  531. )
  532.  
  533. (if (>= (strlen hothelp-dir) max-project-dir)
  534.     (abort (cat    "\nDer eingegebene Name \n\"" hothelp-dir "\"\nist zu lang!\n\n"
  535.                     "Bitte geben Sie maximal " (- max-project-dir 1) " Zeichen ein!"))
  536. )
  537.  
  538. ; Jetzt folgen die Sprach-Dateien.
  539.  
  540. (if (or (<> (getassign "LOCALE") "") os-21)
  541.     (run
  542.         (prompt    (cat    "\nKopieren der Sprachen-Kataloge\n\n"
  543.                             "Die Kataloge enthalten die deutschen Texte, die innerhalb der "
  544.                             "HotHelp-Library und der HotHelp-Tools verwendet werden.\n"
  545.                             "(Es handelt sich dabei nicht um Hilfstexte, sondern um ganz "
  546.                             "normale Texte wie z.B. Beschriftungen von Symbolen, Meldungen an "
  547.                             "den Benutzer etc.)"))
  548.         (help        (cat    "    HotHelp unterstützt in der neuen Version " hh-version " die "
  549.                             "Locale-Library. Das bedeutet, daß die Sprache der Benutzerführung "
  550.                             "eines Programms über den System-Editor 'Locale' "
  551.                             "bestimmt werden kann.\n"
  552.                             "    Diese beiden Kataloge werden benötigt, wenn Sie HotHelp "
  553.                             "mit einer deutschsprachigen Oberfläche verwenden wollen. Die "
  554.                             "beiden Dateien werden im Verzeichnis LOCALE:Catalogs/Deutsch "
  555.                             "abgelegt."))
  556.         (cat run-lha " x " archive-catalogs " LOCALE:Catalogs/Deutsch/ #?.catalog")
  557.         (confirm)
  558.     )
  559. )
  560. (complete 30)
  561.  
  562. ; Dieses Monster hängt an den Verzeichnisnamen einen '/' an, falls er nicht
  563. ; leer ist und nicht bereits mit ':' oder '/' endet (ansonsten bekommt LHA
  564. ; Probleme).
  565. (set dst-dir hothelp-dir)
  566. (if (and (> (strlen dst-dir) 0) (and (<> (substr dst-dir (- (strlen dst-dir) 1) 1) ":") (<> (substr dst-dir (- (strlen dst-dir) 1) 1) "/"))) (set dst-dir (cat dst-dir "/")))
  567. (run
  568.     (prompt    (cat    "\nKopieren von HotHelps Sprachen-Dateien\n\n"
  569.                         "Diese Dateien enthalten zum einen die englischen Vorgabe-Texte "
  570.                         "der Library und der Tools sowie deren deutsche Übersetzungen. "
  571.                         "Falls Sie immer mit mindestens OS 2.1 arbeiten und eben die "
  572.                         "System-Kataloge installiert haben, können Sie später die beiden "
  573.                         "Dateien 'HOTHELP:HotHelpLib.Deutsch' und 'HOTHELP:HotHelpTools.Deutsch' "
  574.                         "wieder löschen."))
  575.     (help        (cat    "    Diese Dateien enthalten sämtliche Programm-Texte von HotHelp. "
  576.                         "Je nach der eingestellten Sprache werden die deutschen oder die "
  577.                         "englischen Texte verwendet, so daß die gesamte Benutzerführung "
  578.                         "in der gewählten System-Sprache erfolgt (vor OS 2.1 kann die "
  579.                         "aktuelle Sprache im Programm 'HotHelpPref' eingestellt werden).\n"
  580.                         "    Die Dateien werden im vorhin gewählten Verzeichnis für die "
  581.                         "HotHelp-Daten \"" hothelp-dir "\" abgelegt."))
  582.     (cat run-lha " x " archive-catalogs " \"" dst-dir "\" #?.Deutsch #?.English")
  583.     (confirm)
  584. )
  585. (complete 35)
  586.  
  587. ; Nun werden die diversen Icons in das HotHelp-Verzeichnis kopiert.
  588.  
  589. (working "\nDie Standard-Icons werden kopiert...")
  590. (copyfiles
  591.     (source source-icons)
  592.     (dest (tackon hothelp-dir "Icons"))
  593.     (all)
  594. )
  595. (complete 40)
  596.  
  597. ; Und jetzt kommen die Projekt-Dateien!
  598.  
  599. (message (cat    "\nNun müssen noch die im Lieferumfang enthaltenen Dateien mit "
  600.                     "Hilfstexten (die sogenannten Projekte) installiert werden. "
  601.                     "Im folgenden Fenster können Sie dazu festlegen, welche der "
  602.                     "Projekte Sie benötigen und welche nicht.\n"
  603.                     "Eine Erläuterung zu den einzelnen Projekten erhalten Sie über das "
  604.                     "'Hilfe...'-Symbol im nächsten Fenster.\n\n"
  605.                     (if (<> old-hh-version -1)
  606.                         (cat    "Da alle Projekte komplett überarbeitet wurden, sollten "
  607.                                 "Sie sich auch als Besitzer einer älteren Version "
  608.                                 "die schon bekannten Projekte installieren lassen (wie "
  609.                                 "z.B. das HotHelp- oder das Glossar-Projekt)!"
  610.                         )
  611.                     )))
  612.  
  613. (set projects-chosen
  614.     (askoptions
  615.         (prompt "Auswahl der Projekte")
  616.         (help (cat    "    In diesem Fenster können Sie auswählen, welche der "
  617.                         "Projekte (Dateien mit Hilfstexten) Sie installieren möchten. "
  618.                         "Im folgenden erhalten Sie eine kurze Übersicht über die "
  619.                         "Bedeutung der einzelnen Projekte:\n\n"
  620.                         "    HotHelp - Dieses Projekt enthält eine Reihe wichtiger "
  621.                         "Informationen über HotHelp selber und sollte auf jeden Fall "
  622.                         "installiert werden.\n\n"
  623.                         "    Glossar - Enthält eine ausführliche Erklärung vieler "
  624.                         "Amiga-typischer Fachausdrücke und ist somit für jeden "
  625.                         "Gelegenheitsanwender ein ideales Nachschlagewerk.\n\n"
  626.                         "    Shell - Übersicht über alle Shell-Befehle, die von "
  627.                         "ihnen verwendeten Fehlercodes und verwandte Informationen.\n\n"
  628.                         "    ARexx - Dieses Projekt enthält eine Kurzreferenz für die "
  629.                         "Programmierung in der Interpretersprache ARexx, die ab Version "
  630.                         "2.0 Bestandteil des Betriebssystems ist und die vor allem dazu "
  631.                         "verwendet wird, Anwendungsprogramme von außen zu kontrollieren.\n\n"
  632.                         "    ANSI-C - Eine Beschreibung der Standardbibliothek für "
  633.                         "C-Compiler, die für jeden C-Programmierer interessant ist.\n\n"
  634.                         "    IFF - Dieses Projekt beschreibt das "
  635.                         "Standard-Datenaustauschformat IFF des Amiga. Es ist für jeden "
  636.                         "Programmierer interessant, der IFF-Dateien lesen oder "
  637.                         "schreiben möchte.\n\n"
  638.                         "    Libs & Devs 3.0, Libs 3.0, Devs 3.0 - Eine umfassende "
  639.                         "Dokumentation des Amiga-Betriebssystems bis einschließlich "
  640.                         "OS 3.0 mit einer Beschreibung aller System-Funktionen, "
  641.                         "-Strukturen und -Symbole. Diese Projekte sind unverzichtbar "
  642.                         "für jeden engagierten Amiga-Programmierer. Nicht-Programmierer "
  643.                         "können jedoch getrost darauf verzichten...\n"
  644.                         "\"Libs & Devs 3.0\" enthält einige grundlegende Informationen, "
  645.                         "während das Projekt \"Libs 3.0\" sämtliche System-Libraries und "
  646.                         "das Projekt \"Devs 3.0\" alle System-Devices dokumentiert."
  647.                         "\n\n"
  648.                         @askoptions-help))
  649.         (choices        "HotHelp"
  650.                         "Glossar"
  651.                         "Shell"
  652.                         "ARexx"
  653.                         "ANSI-C"
  654.                         "IFF"
  655.                         "Libs & Devs 3.0"
  656.                         "Libs 3.0"
  657.                         "Devs 3.0")
  658.         (default -1)
  659.     )
  660. )
  661. (if (<> projects-chosen 0)
  662.     (
  663.     (working "\nDie Header-Dateien werden installiert...")
  664.  
  665.     (set header "")
  666.     (if (in projects-chosen  0) (set header (cat header " HotHelp.hdr")))
  667.     (if (in projects-chosen  1) (set header (cat header " Glossar.hdr")))
  668.     (if (in projects-chosen  2) (set header (cat header " Shell.hdr")))
  669.     (if (in projects-chosen  3) (set header (cat header " ARexx.hdr")))
  670.     (if (in projects-chosen  3) (set header (cat header " ANSI?C.hdr")))
  671.     (if (in projects-chosen  5) (set header (cat header " IFF.hdr")))
  672.     (if (in projects-chosen  6) (set header (cat header " Libs???Devs?3.0.hdr")))
  673.     (if (in projects-chosen  7) (set header (cat header " Libs?3.0.hdr")))
  674.     (if (in projects-chosen  8) (set header (cat header " Devs?3.0.hdr")))
  675.  
  676.     (set dst-dir (tackon hothelp-dir "Projekte"))
  677.     (if (and (> (strlen dst-dir) 0) (and (<> (substr dst-dir (- (strlen dst-dir) 1) 1) ":") (<> (substr dst-dir (- (strlen dst-dir) 1) 1) "/"))) (set dst-dir (cat dst-dir "/")))
  678.     (run (cat run-lha " x " archive-header " \"" dst-dir "\" " header))
  679.     (complete 45)
  680.  
  681.     ; Damit wären die Header-Files schon mal da, wo sie hingehören - nämlich in
  682.     ; HOTHELP:Projekte. Nun müssen wir uns noch um die Verteilung der Text-Dateien
  683.     ; kümmern.
  684.  
  685.     (set pro-dir (tackon hothelp-dir "Projekte"))
  686.  
  687.     (if (in projects-chosen 0) (    (set §it-name   "HotHelp")
  688.                                             (set §it-size   size-txt-hothelp)
  689.                                             (set §it-source source-txt-hothelp)
  690.                                             (set §it-dest   pro-dir)
  691.                                             (installtext)
  692.                                             (set pro-dir-hothelp §it-dest)))
  693.     (complete 50)
  694.  
  695.     (if (in projects-chosen 7)
  696.         (
  697.         (askdisk    (dest    "HotHelpInstall3_2")
  698.                     (prompt (cat    "\n\nBitte legen Sie nun die Disk \"HotHelpInstall3_2\" "
  699.                                         "in ein beliebiges Laufwerk ein!"))
  700.                     (help @askdisk-help)
  701.         )
  702.         (set §it-name   "Libs 3.0")
  703.         (set §it-size   size-txt-libs)
  704.         (set §it-source source-txt-libs)
  705.         (set §it-dest   pro-dir)
  706.         (installtext)
  707.         (set pro-dir-libs §it-dest)
  708.         )
  709.     )
  710.     (complete 54)
  711.  
  712.     (askdisk    (dest    "HotHelpInstall3_3")
  713.                 (prompt (cat    "\n\nBitte legen Sie nun die Disk \"HotHelpInstall3_3\" "
  714.                                     "in ein beliebiges Laufwerk ein!"))
  715.                 (help @askdisk-help)
  716.     )
  717.  
  718.     (if (in projects-chosen 1) (    (set §it-name   "Glossar")
  719.                                             (set §it-size   size-txt-glossar)
  720.                                             (set §it-source source-txt-glossar)
  721.                                             (set §it-dest   pro-dir)
  722.                                             (installtext)
  723.                                             (set pro-dir-glossar §it-dest)))
  724.     (complete 58)
  725.     (if (in projects-chosen 2) (    (set §it-name   "Shell")
  726.                                             (set §it-size   size-txt-shell)
  727.                                             (set §it-source source-txt-shell)
  728.                                             (set §it-dest   pro-dir)
  729.                                             (installtext)
  730.                                             (set pro-dir-shell §it-dest)))
  731.     (complete 62)
  732.     (if (in projects-chosen 3) (    (set §it-name   "ARexx")
  733.                                             (set §it-size   size-txt-arexx)
  734.                                             (set §it-source source-txt-arexx)
  735.                                             (set §it-dest   pro-dir)
  736.                                             (installtext)
  737.                                             (set pro-dir-arexx §it-dest)))
  738.     (complete 64)
  739.     (if (in projects-chosen 4) (    (set §it-name   "ANSI-C")
  740.                                             (set §it-size   size-txt-ansic)
  741.                                             (set §it-source source-txt-ansic)
  742.                                             (set §it-dest   pro-dir)
  743.                                             (installtext)
  744.                                             (set pro-dir-ansic §it-dest)))
  745.     (complete 68)
  746.     (if (in projects-chosen 5) (    (set §it-name   "IFF")
  747.                                             (set §it-size   size-txt-iff)
  748.                                             (set §it-source source-txt-iff)
  749.                                             (set §it-dest   pro-dir)
  750.                                             (installtext)
  751.                                             (set pro-dir-iff §it-dest)))
  752.     (complete 72)
  753.     (if (in projects-chosen 6) (    (set §it-name   "Libs & Devs 3.0")
  754.                                             (set §it-size   size-txt-libsdevs)
  755.                                             (set §it-source source-txt-libsdevs)
  756.                                             (set §it-dest   pro-dir)
  757.                                             (installtext)
  758.                                             (set pro-dir-libsdevs §it-dest)))
  759.     (complete 76)
  760.     (if (in projects-chosen 8) (    (set §it-name   "Devs 3.0")
  761.                                             (set §it-size   size-txt-devs)
  762.                                             (set §it-source source-txt-devs)
  763.                                             (set §it-dest   pro-dir)
  764.                                             (installtext)
  765.                                             (set pro-dir-devs §it-dest)))
  766.     (complete 80)
  767.  
  768.     (if (in projects-chosen 0) ((working "\nBearbeite HotHelp.hdr")         (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "HotHelp.hdr")         "\" \"" (tackon pro-dir-hothelp      "HotHelp.txt")         "\""))))
  769.     (if (in projects-chosen 1) ((working "\nBearbeite Glossar.hdr")         (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Glossar.hdr")         "\" \"" (tackon pro-dir-glossar      "Glossar.txt")         "\""))))
  770.     (if (in projects-chosen 2) ((working "\nBearbeite Shell.hdr")           (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Shell.hdr")           "\" \"" (tackon pro-dir-shell        "Shell.txt")           "\""))))
  771.     (if (in projects-chosen 3) ((working "\nBearbeite ARexx.hdr")           (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "ARexx.hdr")           "\" \"" (tackon pro-dir-arexx        "ARexx.txt")           "\""))))
  772.     (if (in projects-chosen 4) ((working "\nBearbeite ANSI-C.hdr")          (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "ANSI-C.hdr")          "\" \"" (tackon pro-dir-ansic        "ANSI-C.txt")          "\""))))
  773.     (if (in projects-chosen 5) ((working "\nBearbeite IFF.hdr")             (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "IFF.hdr")             "\" \"" (tackon pro-dir-iff          "IFF.txt")             "\""))))
  774.     (if (in projects-chosen 6) ((working "\nBearbeite Libs & Devs 3.0.hdr") (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Libs & Devs 3.0.hdr") "\" \"" (tackon pro-dir-libsdevs     "Libs & Devs 3.0.txt") "\""))))
  775.     (if (in projects-chosen 7) ((working "\nBearbeite Libs 3.0.hdr")        (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Libs 3.0.hdr")        "\" \"" (tackon pro-dir-libs         "Libs 3.0.txt")        "\""))))
  776.     (if (in projects-chosen 8) ((working "\nBearbeite Devs 3.0.hdr")        (run (cat run-setprojectpath " " tools-language " \"" (tackon pro-dir "Devs 3.0.hdr")        "\" \"" (tackon pro-dir-devs         "Devs 3.0.txt")        "\""))))
  777.     )
  778. )
  779. (complete 85)
  780.  
  781. (askdisk    (dest    "HotHelpInstall3_3")
  782.             (prompt (cat    "\n\nBitte legen Sie nun die Disk \"HotHelpInstall3_3\" "
  783.                                 "in ein beliebiges Laufwerk ein!"))
  784.             (help @askdisk-help)
  785. )
  786.  
  787. ; Nun wird die Pref-Datei zusammengebastelt!
  788.  
  789. (set pref
  790.     (cat    "$VER: HotHelpPref " hh-version-intern " " hh-date "\n"
  791.             "TextColor=1\n"
  792.             "LightColor=" (if os-20 "2" "1") "\n"
  793.             "DarkColor=" (if os-20 "1" "2") "\n"
  794.             "RefColor=3\n"
  795.             "FontName=" (if os-20 "courier" "topaz") ".font\n"
  796.             "FontSize=" (if os-20 "15" "8") "\n"
  797.             "ScrollDelay=15\n"
  798.             "ScrollSpeed=0\n"
  799.             "LeftEdge=0\n"
  800.             "TopEdge=" (if os-20 "12" "11") "\n"
  801.             "Width=1000\n"
  802.             "Height=150\n"
  803.             "StackSize=20\n"
  804.             "KeyTab=30\n"
  805.             "KeyLayout=Columns\n"
  806.             "PrintTitle=CompleteOnly\n"
  807.             "ShowStart=Off\n"
  808.             "CloseCut=SpecialOnly\n"
  809.             "SearchArea=ActualFirst\n"
  810.             "HKAltQual=48\n"
  811.             "HKCtrlQual=8\n"
  812.             "HKShiftQual=3\n"
  813.             "HKAltCode=95\n"
  814.             "HKCtrlCode=95\n"
  815.             "HKShiftCode=95\n"
  816.             "HKAltAll=Off\n"
  817.             "HKCtrlAll=Off\n"
  818.             "HKShiftAll=Off\n"
  819.             "StartProject=HotHelp\n"
  820.             "StartKey=Startseite\n"
  821.             "ViewColor=3\n"
  822.             "SearchIgnore=On\n"
  823.             "SearchBack=Off\n"
  824.             "SearchAll=Off\n"
  825.             "ShiftProject=Libs 3.0\n"
  826.             "CtrlProject=Shell\n"
  827.             "CommandProject=Libs 3.0\n"
  828.             "FastFont=" (if install-fastfont "On" "Off") "\n"
  829.             "DefaultFont=Off\n"
  830.             "SmartFont=" (if install-fastfont "Off" "On") "\n"
  831.             "SmartColors=On\n"
  832.             "RamIcon=On\n"
  833.             "OPrEnvironment=Off\n"
  834.             "OPrName=OnlineProjekt\n"
  835.             "OPrDir=HOTHELP:OnlineProjekte\n"
  836.             "OPrFEnter=Off\n"
  837.             "OPrFSelect=On\n"
  838.             "OPrFFirst=Off\n"
  839.             "OPrFCheck=On\n"
  840.             "OPrFDoubleCheck=On\n"
  841.             "OPrFFloatText=Off\n"
  842.             "OPrMarkExclude=float|double|char|int|long|unsigned|void|extern|static|const|register|struct|union|enum|#define|class|inline|*|VOID|BYTE|UBYTE|WORD|UWORD|SHORT|USHORT|LONG|ULONG|APTR|BPTR|CPTR|STRPTR|BSTR|BOOL|FLOAT|DOUBLE\n"
  843.             "OPrMarkPara=\n"
  844.             "OPrMarkCmtStart=/*\n"
  845.             "OPrMarkCmtEnd=*/\n"
  846.             "OPrMarkCmtLine=//\n"
  847.             "OpenOnStart=Off\n"
  848.             "Editor=Select\n"
  849.             "EnvEditor=HHEditor\n"
  850.             "ARexxHost=HOTHELP_REXX\n"
  851.             "HKAmigaQual=192\n"
  852.             "HKOnlineQual=72\n"
  853.             "HKAmigaCode=95\n"
  854.             "HKOnlineCode=33\n"
  855.             "HKAmigaAll=Off\n"
  856.             "HKOnlineAll=On\n"
  857.             "ToolsDir=SYS:\n"
  858.             "DOSPattern=" (if os-20 "On" "Off") "\n"
  859.             "DisplayBeep=" (if os-21 "Flash" "DisplayBeep") "\n"
  860.             "OnlyPubScreen=Off\n"
  861.             "StdNumPad=Standard\n"
  862.             "CEDRealSize=Off\n"
  863.             "StartupMsg=On\n"
  864.             "CaseSensitivity=Off\n"
  865.             "LoadKeys=AsNeeded_Free\n"
  866.             "Language=Deutsch\n"
  867.     )
  868. )
  869. (working "\nDie Voreinstellungs-Datei wird erzeugt...")
  870. (textfile
  871.     (dest (tackon hothelp-dir "HotHelp3.Pref"))
  872.     (append pref)
  873.     (confirm)
  874.     (prompt (cat    "\nErzeugen der HotHelp-Voreinstellungs-Datei <"
  875.                         (tackon hothelp-dir "HotHelp3.Pref")
  876.                         ">"))
  877.     (help (cat        "    In dieser Datei werden alle Voreinstellungen des gesamten "
  878.                         "HotHelp-Systems festgehalten, die dann später über das Tool "
  879.                         "HotHelpPref editiert werden können.\n"
  880.                         "    Die Datei wurde an Ihre spezielle Konfiguration angepaßt "
  881.                         "und sollte daher grundsätzlich installiert werden."))
  882. )
  883. (complete 90)
  884.  
  885. ; Nun wird die Startup-Sequence (bzw. User-StartUp) an HotHelp angepaßt.
  886.  
  887. (set cmd (cat "Assign HOTHELP: \"" hothelp-dir "\"\n"))
  888.  
  889. (if (patmatch (fileonly hotkeyhelp-dir) "WBStartUp")
  890.     (
  891.     (if (askbool
  892.             (prompt    (cat    "\nHotKeyHelp wurde im Verzeichnis '" hotkeyhelp-dir "' "
  893.                                 "installiert.\n\n"
  894.                                 "Soll das Programm dennoch in die "
  895.                                 "Skript-Datei 'S:User-StartUp' eingetragen werden, so "
  896.                                 "daß es automatisch bei jedem Start aufgerufen wird?"))
  897.             (help        (cat    "    Alle Programme im Verzeichnis 'SYS:WBStartUp' werden "
  898.                                 "ab Betriebssystem-Version 2.0 automatisch gestartet, "
  899.                                 "sobald die Workbench geladen wird. In diesem Fall sollte "
  900.                                 "HotKeyHelp nicht von der Datei 'User-StartUp' aus "
  901.                                 "aufgerufen werden, da diese ebenfalls bei jedem Neustart "
  902.                                 "des Rechners ausgeführt wird.\n"
  903.                                 "    Handelt es sich bei dem gewählten Verzeichnis jedoch "
  904.                                 "nicht um 'SYS:WBStartUp' oder wird auf Ihrem System die "
  905.                                 "Workbench nicht automatisch gestartet, sollte der "
  906.                                 "Aufruf HotKeyHelps in die Skriptdatei eingefügt werden, "
  907.                                 "damit das Programm nach jedem Start zur Verfügung steht."))
  908.             (default 0))
  909.         (
  910.         (set cmd (cat cmd "\"" (tackon hotkeyhelp-dir "HotKeyHelp") "\"\n"))
  911.         )
  912.     )
  913.     )
  914. ;else
  915.     (set cmd (cat cmd "\"" (tackon hotkeyhelp-dir "HotKeyHelp") "\"\n"))
  916. )
  917.  
  918. (startup "HotHelp"
  919.     (prompt (cat    "\nDie folgenden Befehle werden nun in die Datei \"S:User-Startup\" "
  920.                         "eingetragen:\n\n"
  921.                         cmd))
  922.     (help @startup-help)
  923.     (command cmd)
  924. )
  925. (complete 95)
  926.  
  927. (if (= old-hh-version 0)
  928.     (run (cat run-clearstartup " " tools-language)
  929.         (prompt    (cat    "\nClearStartup wird ausgeführt\n\n"
  930.                             "Dieses Programm überarbeitet die Startup-Sequence, wenn von "
  931.                             "HotHelp-Version 2 auf " hh-version " umgestiegen wird."))
  932.         (help        (cat    "    Da sich der Installations-Vorgang zwischen HotHelp-Version "
  933.                             "2 und " hh-version " erheblich unterscheidet (HotHelp 2 "
  934.                             "wurde mit einem selbstgebauten Programm installiert, während "
  935.                             "HotHelp " hh-version " den Commodore-Installer verwendet), hat "
  936.                             "sich auch der Aufbau der beim Starten des Systems automatisch "
  937.                             "ausgeführten Befehle geändert.\n"
  938.                             "    Unter HotHelp 2 wurden diese Befehle in die "
  939.                             "Startup-Sequence eingebaut, während der Installer dafür den "
  940.                             "User-Startup verwendet. Aus diesem Grund müssen beim Umstieg "
  941.                             "von HotHelp 2 auf " hh-version " die alten Befehle aus der "
  942.                             "Startup-Sequence wieder entfernt werden."))
  943.         (confirm)
  944.     )
  945. )
  946. (complete 100)
  947.  
  948. ; LhA in der RAM-Disk wird nun nicht mehr benötigt.
  949. (delete "RAM:LhA")
  950.  
  951. (user 1)
  952. (message (cat    "\nDie Installation von HotHelp " hh-version " ist abgeschlossen.\n"
  953.                     "Bitte starten Sie jetzt Ihren Rechner neu!\n\n"
  954.                     "Anschließend können Sie HotHelp dann jederzeit über Alt-Help "
  955.                     "aktivieren.\n"
  956.                     "Shift-Help zeigt Hilfe zum Wort unter dem Cursor in Ihrem "
  957.                     "Editor an, während Amiga-Help den Inhalt des Clipboards als "
  958.                     "Schlüsselbegriff verwendet. Control-Help stellt einen Hilfstext "
  959.                     "zum jeweils zuletzt eingegebenen Wort dar."))
  960.  
  961.