Wie erstelle ich eine korrekte, umfassende und weitgehend selbst-erklärende Grundform für ein WordPerfect-Makro? Hierzu gehören: Formal korrekte Kopfzeile, Dokumentation von Dateinamen und Aufgabenstellung, Anlage der Struktur für Hauptprogramm und SUB-Routinen, Felder zur Dokumentation der Programmversion etc.
Makro JLMAKMAK.WCM legt die beschriebene Dateistruktur an und speichert sie unter vorläufigem Namen. Der Benutzer wird aufgefordert, diese neu entstandene Datei unter einem anderem, seine Aufgabe in etwa treffenden Dateibezeichnung abzuspeichern, ebenso die hierzu gehörende Textanmerkung zu wählen und einzutragen.
... und hier kommen die kleinen Helfer - in Form von Aufgabenstellungen und Lösungen!
Sobald ein Makroentwurf erst einmal fehlerfrei läuft, geht es ans Testen und Fortschreiben: Dazu muß man ungezählte Male - beim Editoraufruf wie zum Starten des Makros - den komplette Namen des neuen Makros eingeben. Dies beinhaltet nicht nur lästige Tipp-Arbeit, sondern damit auch immer wieder die Gefahr von Eingabefehlern. Ich zeige Ihnen einen nützlichen Helfer, der diese Eingaben auf das einfachst mögliche Maß beschränkt.
Das Makro JLMEinsA.WCM erzeugt und macht Gebrauch von zwei HotKey-Makros A.WCM’ und ‘1.WCM’, von denen eines den Makro-Editor mit dem Namen des Prüflings aufruft, das andere startet das Makro.
JLMEinsA modifiziert dazu die beiden HotKeys auf den Namen des Prüflings. Dieser muß einmal von Hand eingegeben werden. Danach beschränken sich die Tastatur-Eingaben zum Testen auf Alt-F10 & A bzw. Alt-F10 & 1
Bei den Tests passiert nicht immer das, was der Autor sich gedacht hat (denn der Compiler hat ja nur formale Fehler entdeckt!) Dann gilt es, logische Fehler aufzuspüren, Variablen und Abläufe genauer unter die Lupe zu nehmen. Damit nicht alles so schnell vorbei rauscht, habe ich einige Fehlerfallen geschrieben, die per Makro in den Text des Prüflings eingefügt werden können.
Makro JLPrompt.WCM fügt am Ort des Cursors eine vollständige Prompt-Routine ein, in die man seine eigenen Variablen eintippen kann, um ihren Inhalt beim Ablauf des Makros anzuzeigen. Insbesondere kann man auf diese Weise leicht feststellen, ob bestimmte Programm- Abschnitte überhaupt durchlaufen werden.
Manch spezielle Makrokonstrukte sind zu komplex um sie leicht aus dem Kopf niederzuschreiben. Bei manchen hilft einem auch kein Dialogeditor ...
JLHRTINS.WCM schreibt die numerischen Entsprechungen wichtiger Steuer- und Formatierungsbefehle: ‘HRT’ ist bequemer zu nutzen als etwa ‘HardReturn()’ JLTXTANM.WCM schreibt die (umfangreiche) Textroutine, um beim Sichern von Dokumenten deren Textanmerkung zu verfassen.
JLStepON.WCM trägt die Anweisungen Step(On!)/(Off!), ebenso Display(On!)/(Off!) ein, um ganze Programmabschnitte Schritt für Schritt untersuchen zu können. (Diese und andere Helfer starte ich durch Tastatur-Routinen wie etwa ‘Alt&Ctrl&S’ )
Logischer Konstrukte wie IF-THEN-ELSE, WHILE - DO - ENDWHILE, sowie verschiedene andere komplexe Schleifen (FOR-ENDFOR, ForEach) lassen sich relativ einfach automatisieren.
Die Namen JLWDENDWE. WCM, JLIFTHEN.WCM, FOR.WCM, FOREACH.WCM, und FORNEXT.WCM sprechen für sich. Den Aufruf kann jeder nach Geschmack an plausible, gut merkbare Tastaturmakros binden!
Disziplin bei der Strukturierung der Programme schafft Übersicht, man tut gut daran, sich dies zu erleichtern wie bei der Initialisierung von Variablen in einer SUB-Routine Label(weisezu@)
JLWEISZU.WCM schreibt eine SUB-Routine und ihren Aufruf so bequem in den Text, daß nur noch Variablen und Werte zu ergänzen sind.
Um das Systemdatum jederzeit in verschiedenen Notationen verfügbar zu halten, rufe ich zu Beginn der WordPerfect -Sitzung kurze Dienstmakros auf, die diese Werte zu persistenten Variablen aufbereiten.
JLAKTDAT.WCM erzeugt Datumsformen für Korrespondenz, Textanmerkungen und als Bestandteil von Dateinamen des Schriftgutes
Wenn Sie an diesen hilfreichen WordPerfect-Makros Freude haben - oder aber, wenn es damit Schwierigkeiten geben solle, höre ich gerne von Ihnen. Interessenten bekommen die besprochenen Makros und einige mehr
(aktualisiert) als Archiv gepackt: >>>>>>>>> WPMAKEXP
20080507
www.lindner-essen.de