Programm >> MENU-MAKER << *************************************************************************** MENU-MAKER V1.0 *************************************************************************** Die Anleitung besteht aus folgenden Kapiteln: Kap. 1.0 : * Vorwort * 1.1 : Fuer was einen Menu-Maker ?? Kap. 2.0 : * Anwendung & Nachteile * 2.1 : Anwendung des Menu-Makers 2.1.1 : Menuetexte eingeben 2.1.2 : Ausfuehrdateien eingeben 2.1.3 : Menuefarben aendern 2.1.4 : Menueposition und Ueberschrift aendern 2.1.5 : Anzahl Menues aendern 2.1.6 : Menue Laden 2.1.7 : Menue Saven 2.1.8 : Information 2.1.9 : Ende 2.2 : Nachteile des Menu-Makers Kap. 3.0 : * Programmaufbau, Tips & Tricks * 3.1 : Programmaufbau 3.2 : Tips & Tricks Kap. 4.0 : * Nachwort * 4.1 : copyright und PD-Erklaerung *************** * Kapitel 1.0 * *************** 1.1 Fuer was einen Menu-Maker ?? Als ich meine erste PD-Diskette erhielt (Fred-Fish #58), aergerte ich mich darueber, dass man die Diskette nicht einfach booten kann (z.B. man muss die ASDG-RamDisk zuerst auf die Workbench-Diskette kopieren und erst dann kann man sie mit dem mount-Befehl installieren). Spaeter dann merkte ich, dass viele PD-Disketten schlecht aufgebaut sind (vor allem die Fish). Ich habe mich dann an den Amiga 1000 gesetzt und angefangen den Menu-Maker zu programmieren. Dieses Programm habe ich programmiert, damit man ein Brauchbares Menue in den PD-Disketten installieren kann (wenigstens in die, die keins haben). Vielleicht haben Sie eigene Disketten, in denen Sie nur die fuer Sie nuetzliche PD-Programme zusammenbringen (spart Platz !!). Dort koennen Sie auch ganz leicht ein schoenes und komfortables Menue errichten. Nun koennen Sie mit Menu-Maker ein (oder mehrere) Menue(s) erstellen. Wenn Sie nun das Menue aufrufen, erscheinen die einzelnen Titel. Jetzt koennen Sie den Titel anklicken und nun fuert das Programm einen Text (Filename) aus (z.B. mount vd0:). Sie koennen aber auch Batch-Dateien ausfueren lassen (z.B. execute batch1). Doch dazu spaeter mehr. *************** * Kapitel 2.0 * *************** 2.1 Anwendung des Menu-Makers Starten Sie den Menu-Maker von der WB (einfach anklicken) oder von CLI (Menu-Maker/Menu-Maker). ACHTUNG : Falls Sie eine Speichererweiterung haben, laden Sie zuerst NOFASTMEM !! Nun erscheint ein neues Bild (achten Sie darauf, dass Sie noch genug Speicher frei haben). 2.1.1 Menuetexte eingeben Wenn Sie dieses Fenster anklicken, erscheint ein neues Fenster das folgendermassen aussieht. ************************************************************** * Menuetexte eingeben * ************************************************************** * * * Sie koennen jetzt die Menuetexte eingeben !!! * * * * ============= * * | <= 1 => | * * ============= * * * * ======================================================== * * = = * * ======================================================== * * * * ========= ========= * * |ABBRUCH| | OKAY | * * ========= ========= * * * ************************************************************** Nun koennen Sie die Texte eingeben, die spaeter beim Menue angewaehlt werden koennen. Es ist moeglich bis zu 9 Menuepunkte zu erstellen (fuer mehrere Menues schauen Sie bei Tips & Tricks nach). Die Zahl (beim Beispiel die 1) zeigt das aktuelle Menue an. Um auf ein anderes Menue zu schalten, muessen Sie einfach die Zahl anklicken. Geben Sie nun die neue Menuezahl ein. Die Pfeile neben der Zahl koennen Sie auch anklicken, damit schaltet das Programm selber auf das naechste, (rechter Pfeil) bzw. vorherige (linke pfeil), Menue um. Um die Texte ueberhaupt eingeben zu koennen, muessen Sie das folgende Fenster anklicken: ======================================================== = Hier klicken = ======================================================== Danach koennen Sie den Text eingeben. Wenn Sie fertig sind und alles ok ist, muessen Sie OKAY anklicken. Das Programm nimmt nun die neuen Daten auf. Danach befinden Sie sich wieder am Anfang. Falls Sie die neuen Texte nicht uebernehmen wollen, klicken Sie einfach ABBRUCH an. Das hat die gleiche folge wie OKAY, ausser das das Programm die neuen Daten nicht aufnimmt. Diese zwei Befehle (OKAY & ABBRUCH) bewirken ueberall das gleiche. Spaeter werde ich diese Befehle nicht mehr erwaehnen. Sie kommen praktisch ueberall vor und bewirken staendig das gleiche. 2.1.2 Ausfuehrdateien eingeben Falls Sie dieses Fenster anklicken, erscheint ein genau gleich aufgebautes Untermenue wie bei Kap. 2.1.2 . Alles ist gleich, nur mit dem Unterschied, dass die Texte nicht als Menuepunkte erschienen, sondern dass das Programm diese Texte (Befehle) ausfuehrt, sobald man spaeter dieses Menue anklickt. Die Texte muessen Sie so eingeben, wie Sie das Programm vom CLI her starten. Es koennen jedoch auch batch-Dateien gestartet werden. (Befehl = 'execute BatchDatei'). 2.1.3 Menuefarben aendern Nun koennen Sie die Farben aendern. Wie Sie vielleicht wissen, setzt der Amiga die Farben aus einem rot-, gruen- und blau-Anteil zusammen. Oben Links sind 3 Schieber, die Sie vielleicht von den Preferences her kennen, sie sind beschrieben mit ROT, GRUEN und BLAU. Wenn sich der Schieber ganz links befindet, so hat die Farbe (rot, gruen oder blau) den geringsten Anteil (um genau zu sein hat die Farbe garkeinen Anteil = 0). Befindet sich der Schieber ganz rechts, so hat die Farbe (wieder rot, gruen oder blau) den groessten Anteil (= 15). Neben den 3 Schiebern sind folgende Fenster: __ |__| Farbe 1 __ |__| Farbe 2 __ |__| Farbe 3 __ |__| Farbe 4 __ |__| Aktuelle Farbe Wenn Sie nun die 4-te Farbe aendern wollen, klicken Sie die Farbe an. Danach ist die Farbe unter Aktuelle Farbe zu sehen. Das Programm stellt nun den rot, gruen und blau-Anteil ein. Danach koennen Sie die Farbe aendern. Was ABBRUCH und OKAY fuer folgen haben, wissen Sie ja bereits. 2.1.4 Menueposition & Ueberschrift aendern Nun erscheint ein Fenster. Hier koennen Sie den Titeltext ein- geben (z.B. FRED-FISH #58 oder PD-CompactDisk #13). OKAY und ABBRUCH haben wie immer die gleichen folgen. Wenn Sie nun eines dieser Felder (OKAY/ABBRUCH) anklicken, erscheint ein anderes Bild, mit dem Menue. Mit den Cursortasten (rauf/runter) koennen Sie nun die Position der Menuepunkten aendern (wegen des flimmerns, schauen Sie bitte bei 'Nachteile' nach). Mit den Cursortasten (links/rechts) koennen Sie die Menue Schrift aendern. Die Taste RETURN bewirkt, dass Sie fertig sind. Danach erschient wieder OKAY und ABBRUCH. 2.1.5 Anzahl Menues aendern Sie koennen in einem Menue 2 bis 9 Menuepunkte erstellen. (fuer mehrere Menues schauen Sie bei Tips & Tricks nach). Klicken Sie die Zahl an und geben die neue Anzahl der Menuepunkte ein. 2.1.6 Menue laden Zu diesem Punkt ist nicht viel zu sagen. Geben Sie den Filenamen ein und das Menue wird geladen. Falls Fehler auftreten, gibt diese das Programm aus. ACHTUNG : Wenn Sie ein Menue laden, geht das Menue im Speicher verloren (bzw. es wird ueberschrieben). 2.1.7 Menue speichern Zu diesem Punkt ist auch nicht viel zu sagen. Geben Sie den Filenamen ein und das Menue wird gespeichert. Falls Fehler auftreten, gibt diese das Programm auch hier aus. 2.1.8 Information Dieser Punkt gibt einige Informationen aus. 2.1.9 Ende Mit diesem Punkt koennen Sie den Menu-Maker beenden. Es erfolgt nur eine Sicherheitsabfrage, wenn Sie nach der letzten Aenderung nicht abgespeichert haben. 2.2 Nachteile Zum flimmern bei der neuen Positionierung. Fuer das Bewegen der Menuepunkte habe ich die Library Funktion MoveWindow (-168) von Intuition benutzt. Diese Funktion flimmert halt. Da das flimmern nur im Editor entsteht, ist das nicht so schlimm (im spaeteren Menue merkt man nichts). Nun zu ZWEI GROSSEN NACHTEILEN. NR.1 Da die Ausfuehrdateien mittels der dos.library Funktion Execute (-222) ausgefuert werden, muss der CLI-Befehl RUN im c: Directory sein. Der dos.library Befehl Execute laeuft halt nur mit dem RUN-Befehl !! NR.2 Dos-Execute (von der dos.library) startet den eingegebenen Text als Task (darum RUN), der beendet wird sobald der Text fertig ausgefuehrt wird. Nun zum Nachteil: Startet man eine Batchdatei (mit CLI-execute), so nuetzt der CLI-Befehl EndCLI in der BatchDatei nichts, da der Task ausgeschaltet wird (zumindest wird dies versucht), der durch den CLI-Befehl RUN entstanden ist. In den meissten Faellen wird jedoch EndCLI selten gebraucht. Einen kleinen Trick gibt es jedoch, doch dazu mehr bei Tips & Tricks. *************** * Kapitel 3.0 * *************** 3.1 Programmaufbau Sobald Sie den Menu-Maker starten oeffnet das Programm einen neuen Screen und ein neues Window. Danach werden alle noetigen Initialisierungen vorgenommen (Farben, neue Prefs usw.) Die verschiedenen Menuepunkte sind Gadgets. Dann wird mittels der exec-Funktion WaitPort (-384) auf ein Signal eines Gadgets gewartet. Wenn ein Signal an- gekommen ist, wird das Signal mit der exec-GetMsg (-372) abgeholt. Falls das Signal fuer mein Programm ungueltig ist, wird wieder WaitPort (-384) angesprungen. Ist das Signal gueltig fuer mein Programm, so wird dies mit der exec-Funktion ReplyMsg (-378) dem System bestaetigt. Kommt ein gueltiges Signal rein, so wird zu der Routine gesprungen, in der ein Unterprogramm ablaeuft (z.B. Menuetexte eingeben, Ausfuehrdateien eingeben usw.). Ist das Unterprogramm fertig, so springt es wieder die Routine WaitPort (-384) an. Dort geht alles wieder von vorne los. Nun noch zu den Unterprogrammen. Jedes Unterprogramm oeffnet ein Requester mit der intuition.library-Funktion Request (-240). 'ENDE' oeffnet nur ein Requester fuer die Sicherheit, falls Sie nach der letzten Aenderung nicht abgespeichert hatten. Die Pfeile bei Menutext und bei Ausfuehrdateien sind auch Gadgets, die wieder mit WaitPort (-384) und GetMsg (-372) usw. kontrolliert werden. Die Eingabegadgets sind String-Gadgets. OKAY, ABBRUCH und die Pfeile sind Boolen-Gadgets. Die Schieberegler bei der Farbwahl, sind Proportional-Gadgets. Der Punkt 'Menueposition & Ueberschrift aendern' nimmt eine Sonderstellung ein. Dieser Punkt oeffnet nach dem Requester einen neuen Screen und zwei neue Windows (1. fuer die Zeichnung und 2. fuer die Menuepunkte). 3.2 Tips & Tricks Um mehr als 9 Menuepunkte anwaehlen zu koennen, muessen Sie 2 (oder mehrere) Menues erzeugen. Bei 2 Menues (bis 16 Menuepunkte) muessen Sie die Menues folgendermassen gestalten: (xxx = Ihre Eingabe) +++++++++++ + MENUE 1 + +++++++++++ -------------------------------------------------- | Nr. | Text | Ausfuerdatei | -------------------------------------------------- | 1 | xxx | xxx | | 2 | xxx | xxx | | 3 | xxx | xxx | | 4 | xxx | xxx | | 5 | xxx | xxx | | 6 | xxx | xxx | | 7 | xxx | xxx | | 8 | xxx | xxx | | 9 | naechstes Menue | 'filename' menue2 | -------------------------------------------------- +++++++++++ + MENUE 2 + +++++++++++ -------------------------------------------------- | Nr. | Text | Ausfuerdatei | -------------------------------------------------- | 1 | xxx | xxx | | 2 | xxx | xxx | | 3 | xxx | xxx | | 4 | xxx | xxx | | 5 | xxx | xxx | | 6 | xxx | xxx | | 7 | xxx | xxx | | 8 | xxx | xxx | | 9 | vorheriges Menue | 'filename' menue1 | -------------------------------------------------- Waehlt man nun Menue1/Menuepunkt 9, so laed das Programm menue2 und man kann nun die anderen Menues anwaehlen. Waehlt man nun Menue2/Menuepunkt 9, so laed das Programm wieder das menue1 und man kann dort weiterwaehlen. Mit dieser Methode koennen beliebig viele Menuepunkte erstellt werden. Wenn Sie Ihre eigenen PD-Disketten haben, machen Sie am besten ein Hauptmenue. In diesem Hauptmenue koennen Sie dann verschiedene Bereiche anklicken (Anwender-Menue, Spiele-Menue, Kopierprogramme- Menue usw.). Aus den Untermenues koennen Sie dann noch 'Zurueck zum Hauptmenue' anklicken. Diese Methode bietet viel kompfort. Es ist auch nicht schwer, wenn man spaeter etwas sucht. Nun noch zum Problem mit RUN, EXECUTE und ENDCLI. Dieser Trick ist keine 100% Loesung, aber er hilft einwenig aus. Brauchen Sie ein ENDCLI in einer Batch-Datei, so nuetzt dieser in dieser nichts. Starten Sie Ihr Menue beim booten durch die Startup-Sequence, so besteht die Moeglichkeit, in der Startup-Sequence ein ENDCLI einzufuegen. Der ENDCLI-Befehl wird ausgefuehrt. Jedoch muessen Sie wissen, dass bei jeder Auswahl nun ein ENDCLI ausgefuehrt wird. Bei allen Eingabefenstern, haben folgende Tastenkombinationen nuetzliche Ausfuehrungen: rechte Amiga-taste & X : Eingabe loeschen rechte Amiga-taste & U : Undo (letzte Eingabe rueckgaengig machen) *************** * Kapitel 4.0 * *************** 4.1 Copyright und PD-Erklaerung Das Copyright des Programmes MENU-MAKER V1.0 bleibt bei mir, dem Autor. Dieses Programm ist Public Domain und darf gratis kopiert werden. Falls einer dieses Programm verkauft, so darf er nur seine Kosten decken (Diskette, Porto usw.) und sich nicht bereichern. M.Manthos