MACCOMP 1.3 Stand 14.06.91 Copyright 1991 Frank-Oliver Dzewas, Alle Rechte vorbehalten. Was ist MACCOMP ? MACCOMP ist ein Zusatzprogramm zum Accessory MACREC und dient dazu sehr kleine, kurze und schnelle Makros zu entwickeln.MACCOMP l„uft wahlweise als Accessory oder als normales Programm.Ist MACCOMP als Accessory installiert wird, es als Bestandteil des MACREC Accessorys in dessen Benutzeroberfl„che integriert.MACCOMP kennt 7 Befehlw”rter.Mit Hilfe dieser Befehle ist es m”glich Makros, unter Umgehung der interaktiven Aufnahme unter MACREC, zu erstellen.MACCOMP bersetzt dazu einen von Ihnen generierten Quelltext in eine Makrodatei.MACCOMP ist auch in der Lage eine Makrodatei in Klartext zu rekompilieren. Grunds„tzliches MACCOMP arbeitet nach dem Prinzip einer Compilersprache (Quelltext schreiben, Quelltext bersetzen, (Programm)Makro testen).Um Makros mit MACCOMP zu erstellen ben”tigen Sie noch einen einen Texteditor der Texte im ASCII Format erzeugen kann. Die Befehle von MACCOMP sind keine richtige Programmiersprache,da keine Programmsprnge, Schleifen, Variablen usw. m”glich sind. Dafr beherschen Sie die 'Sprache' innerhalb sehr kurzer Zeit. Alle Befehle mssen klein geschrieben sein! Kommentare innerhalb des Quelltextes sind erlaubt.Ein Kommentar muss immer in einer Zeile stehen. Konstruktionen wie die folgende sind nicht erlaubt. { Kommentar... } korrekt dagegen w„re.. {Kommentar...} oder auch maus 319,199; {Maus in Bildschirmmitte} Wird beim kompilieren eines Quelltextes ein Sytaxfehler festgestellt, gibt es einen Hinweis in welcher Zeile der Fehler gefunden wurde und die fehlerhafte Zeile kann w„hrend der Kompilierung editiert werden.Tritt ein Fehler in einer Zeile mit einem meldung Befehl auf, wird die Kompilierung sofort abgebrochen, da in MACCOMP kein Texteditor integriert ist um l„ngere Zeilen zu bearbeiten. Geben Sie bei einem Befehl einen illegalen Wert an, wird der Wert kommentarlos auf einen gltigen Wert gesetzt. Befehlsw”rter und reservierte Zeichen maus x,y; Setzt Mauscursor auf (absolute) Bildschirmposition x,y. x und y k”nnen im Bereich von 0-32767 liegen. klick; Simuliert Mausklick mit linker Maustaste an der aktuellen Position des Mauscursors.Maustaste wird sofort wieder freigegeben. klick but,stat; Simuliert Mausklick mit beliebiger Maustaste (but) an der aktuellen Position des Mauscursors.but ist/sind die aktuell gedrckte(n) Maus- taste(n): 0=keine, 1=linke, 2=rechte, 3=beide Tasten.stat ist/sind die losgelassene(n) bzw. nicht gedrckte(n) Maustaste(n): 0=keine, 1=linke, 2=rechte, 3=beide.Der Wert fr but und stat darf also im Bereich von 0- 3 liegen. Beispiele: klick 1,0; Klick mit linker Maustaste klick 3,0; Klick mit rechter und linker Maustaste gleichzeitig. klick 0,1; Linke Maustaste freigeben. klick 0,3; Beide Maustasten freigeben. Wichtig!Der GEM betrachtet die Maustaste(n) solange als gedrckt, bis die Maustaste(n) mit dem Befehl klick 0,n; wieder freigegeben wird/werden.Diesen Effekt k”nnen Sie benutzen um z.B. Objekte/Icons zu verschieben. dklick; Simuliert Doppelklick mit linker Maustaste an der aktuellen Position des Mauscursors.Maustaste wird sofort wieder freigegeben.M”chten Sie einen Doppelklick mit dem klick n,n; Befehl erzeugen sind dazu folgende 5 Befehle notwendig: klick 1,1; klick 0,1; pause 100; {kann evntl. variieren} klick 1,1; klick 0,1; Um Ihnen diese Arbeit zu ersparen gibt es den dklick; Befehl. pause n; Wartet n 1000stel Sekunden (alle anderen zur Zeit aktiven GEM Applikation werden in dieser Zeit nicht angehalten).Um z.B. eine Wartezeit von einer Sekunde zu erzeugen ist der Wert 1000 anzugeben.Der maximale Wert fr n ist 2147483647.Der Faktor n wird durch die Abspielgeschwindigkeit beeinflusst.Der Wert der im Parametermen (im Programm MACREC)in 'Abspielgeschwindigkeit' eingetragen ist wird noch zum Wert n addiert. taste n,kb; Simuliert Tastendruck.n ist der Kode der Taste, kb ist der Status der Umschalttasten CONTROL, SHIFT und ALTERNATE.CAPS LOCK wird ignoriert.Um die Tastaturkodes zu ermitteln schalten Sie bitte im Parametermen den Schalter 'Positionsanzeige' ein (im Programm MACREC).Wenn Sie jetzt eine Taste drcken wird der Kode der Taste in der linken unteren Bildschirmecke angezeigt. meldung n,s,v,[Zeile 1|Zeile 2|Zeile 3...]; Fgt eine Meldung in einen Makro ein.Ist n=0, wird auf einen Tastenruck des Anwenders gewartet.Ist n>0, wird n Sekunden gewartet bis der Makro weiterl„uft (kann nicht abgebrochen werden, also Vorsicht mit gr”sseren Werten).In der Klammer drfen bis zu 15 Textzeilen a 64 Zeichen stehen.Die Textzeilen mssen durch das Zeichen '|' getrennt sein.Dieser Befehl kann auch mehrere Zeilen im Quelltext belegen.Z.B. in dieser Form: meldung n,s,v, [ Zeile 1| Zeile 2| Zeile 3| ]; Der meldung Befehl wird auch in dieser Form rekompiliert.Kommentare innerhalb der '[]' Klammern sind nicht erlaubt.Eine Meldung belegt (unabh„ngig von ihrer tats„chlichen L„nge) immer 1024 Bytes im Makro.Der maximale Wert fr n ist 2147483 (Sekunden).Ist s=1 wird vor dem Anzeigen der Meldung ein akustisches Signal ausgegeben.Ist s=0, dann nicht.Ist v=1 wird die Dialogbox (unabh„ngig von der tats„chlichen L„nge) in der die Meldung angezeigt wird in voller Gr”sse gezeichnet.Ist v=0 wird die Gr”sse der Meldungsbox an die L„nge der Meldung angepasst. ';' Jede Befehlszeile muss mit dem Semikolon enden! '{' und '}' Kommentare oder andere Texte innerhalb des Quelltextes mssen in ge- schweiften Klammern stehen. '[' und ']' Die eckigen Klammern drfen nicht im Meldungstext benutzt werden, da sie als Anfangs bzw. Endekennzeichen der Meldung benutzt werden.Sonst kann es zu Fehlinterpretationen kommen. '|' Ebenfalls fr den Befehl meldung reserviert. Installation Kopieren Sie die Datei MACCOMP.PRG auf Ihre Arbeitsdiskette/Partition, oder nennen Sie die Datei MACCOMP.PRG in MACCOMP.ACC um und kopieren Sie diese Datei auf Ihre Bootdisektte/Partition. Bedienung der Dialogboxen S. Anleitung MACREC. Dialogbox 'MAKRO KOMPILIEREN' 'Kompilieren' šbersetzt einen Quelltext in eine ausfhrbare Makrodatei. 'Rekompilieren' Wandelt eine Makrodatei in Klartext zurck. 'Information' Information ber Programm und Copyright. 'Abbruch' Programm wird beendet.Rckkehr zum aufrufenden Programm (oder in Warte- schleife, wenn als Accessory installiert). Dialogbox 'MACCOMP x.x ....' Information ber Programmversion und Copyright. 'Ok' Dialog beenden.Rckkehr zur Dialogbox 'MAKRO KOMPILIEREN.' Arbeitsablauf Makro kompilieren Quelltext mit einem beliebigen Editor schreiben und speichern (Dateiname ist egal, die Extension sollte .TXT sein).Der Text muss als ASCII Datei gesichert werden. MACCOMP aufrufen. Button 'Kompilieren' w„hlen. Es erscheint die GEM Dateiauswahlbox auf dem Bildschirm.Quelltext ausw„hlen und 'Ok' anklicken. Der Quelltext wird jetzt eingelesen, bersetzt und eine Makrodatei wird erzeugt (falls kein Fehler gefunden wurde). Die Makrodatei wird unter dem gleichen Namen wie die Quelltextdatei abgelegt, nur das die Extension jetzt .MAK ist (eine evntl. schon vohandene Datei gleichen Namens wird kommentarlos berschrieben). MACCOMP verlassen und Makro testen.Stellen Sie sicher das sich keine wichtigen Daten im Arbeitsspeicher befinden bevor Sie den Makro testen. Arbeitet der Makro nicht zu Ihrer Zufriedenheit, beginnen Sie wieder von vorn. Tips zum 'programmieren' von Makros Fgen Sie nach jedem Befehl eine l„ngere Pause mit dem Befehl pause n; ein.So k”nnen Sie den Ablauf des Makros genau verfolgen.Arbeitet der Makro korrekt k”nnen Sie die berflssigen Pausen wieder entfernen. Kommentieren Sie Ihre Quelltexte, damit Sie auch nach l„ngerer Zeit noch in der Lage sind zu bestimmen wozu ein bestimmter Makro dient.Legen Sie kommentierte Quelltexte sicher ab, damit beim rekompilieren nicht ungewollt ein Quelltext mit Kommentaren berschrieben wird. Vergessen Sie nicht die Maustaste nach einem klick x,y; Befehl mit klick 0,n; wieder freizugeben. Arbeitsablauf Makro rekompilieren MACCOMP aufrufen. Button 'Rekompilieren' w„hlen. Es erscheint die GEM Dateiauswahlbox auf dem Bildschirm.Makrodatei ausw„hlen und 'Ok' anklicken. Die Makrodatei wird eingelesen, und in Klartext zurckbersetzt.Evntl. erscheint die Meldung 'Datei xxxxxxxx.xxx existiert schon'.W„hlen Sie 'Ok', wird die schon existierende (Quelltext)Datei berschrieben. W„hlen Sie 'Abbruch', wird der Vorgang abgebrochen und Sie haben jetzt die M”glichkeit MACCOMP zu verlassen und die betreffende Textdatei um- zubenennen.Die Quelltextdatei wird unter dem gleichen Namen wie die Makrodatei abgelegt, nur das die Extension jetzt .TXT ist. Der Quelltext kann jetzt ver„ndert und dann wieder kompiliert werden. Zus„tzliche Features MACCOMP wertet auch die Kommandozeile aus.Das heisst, Sie k”nnen MACCOMP ber eine Shell o. „. mit einem Dateinamen als Parameter starten.Die Datei wird dann automatisch geladen und bersetzt.Das funktioniert allerdings nur beim kompilieren und wenn MACCOMP als Programm l„uft. Fehler/Warnmeldungen 'Zu wenig Speicher' Ramdiskprogramme/ACC's entfernen oder RAM Erweiterung kaufen. 'Datei existiert schon' Eine Datei gleichen Namens existiert schon.W„hlen Sie 'Ok', wird die gleichnamige Datei berschrieben (Vorsicht bei kommentierten Quelltexten!). 'Syntax Fehler in Zeile...' Ein Befehl wurde nicht erkannt.šberprfen Sie die entsprechende Zeile auf einen Tippfehler (Semikolon am Zeilenende fehlt, Kommata zwischen den Parametern fehlt, Kommentar steht nicht in '{ }'). Sollte die Zeile in der der Fehler gefunden wurde nicht l„nger als 30 Zeichen sein, k”nnen Sie die fehlerhafte Zeile sofort verbessern. 'Syntax Fehler in Meldung' Eine Meldung darf nur 15 Zeilen Text enthalten.Krzen Sie Ihren Text und fgen Sie noch einen meldung Befehl an bis der Platz fr Ihren Zweck ausreicht.Eine Textzeile in einer Meldung darf max. 64 Zeichen lang sein.Die Zeilen mssen durch das Zeichen '|' getrennt sein. 'Fehler in Kommandozeile' Es wurden fehlerhafte Argumente in der Kommandozeile bergeben. Tips und Tricks Fehlen Pausen in einem Makro, wird der Makro so schnell das ein grosser Teil der Ereignisse vom GEM nicht verarbeitet werden kann.Fgen Sie deshalb nach allen Aktionen fr die GEM einige Zeit braucht (z.B. Drop-Down Men aufklappen, Fenster bzw. Hintergrund neu zeichnen usw.) unbedingt eine entsprechende Pause ein. Wenn Sie eine bestimmte Aktion programmieren m”chten, fhren Sie die Aktion erst einmal manuell durch.Notieren Sie sich dabei alle wichtigen Aktionen (Mausposition, Mausklick, Tastendruck).Dann erst mit dem programmieren beginnen.So halten Sie die Fehlerquote gering. Sollte ein Programm nicht auf einen programmierten Tastendruck oder Mausklick reagieren, liegt es sehr wahrscheinlich daran das es keine Betriebssystemfunktion zur Ereignisabfrage benutzt.Abhilfe dagegen gibt es leider nicht. Durch umbenenen der Programmdatei MACCOMP.PRG in MACCOMP.ACC kann MACCOMP auch als Accessory ablaufen (Datei MACCOMP.ACC auf Startdiskette oder Bootpartition kopieren). Sie k”nnen MACCOMP.ACC allerdings nur ber MACREC aktivieren.Ist MACCOMP als Accessory installiert, erscheint im Hauptmen von MACREC ein neuer Button Namens 'Kompilieren'.šber diesen Button k”nnen Sie MACCOMP aktivieren.MACCOMP belegt keinen Eintrag in der Desktop Menleiste.