--------------------------------- ModList ------------------------------------ Dieses Programm dient dazu Modula-2 Quelltexte auszudrucken. Was ist daran so besonders? Nun, alle Modula-Schlüsselwörter werden im Fettdruck ausgegeben, alle Kommen- tare werden kursiv gestellt, jede Zeile erhält eine Nummer und 'last not least' gibt's noch 'ne seitenweise Formatierung. Das alles dient dazu, hinterher bestimmte Textstellen leichter auffinden zu können und die Lesbarkeit des Listings durch die markierten Kommentare und M2-Schlüsselwörter zu steigern. Ausgedacht hat sich das ganze die Redaktion der Zeitschrift: CHIP-TOOL-Praxis/Modula-Sonderheft (Gruß an den Programmierer, wirklich mal ein nützliches Programm) Ich hab eigentlich nichts anderes gemacht als das Listing ( das auf einem MS-DOS M2-Compiler erstellt wurde ) abzutippen, und es an den Stellen, an denen es erforderlich war, auf die Besonderheiten des Amiga und des M2-Amiga- Compilers umzustellen. Viel Spass mit dem Programm, Andreas P.S.: Ich hoffe, daß ich durch die Umsetzung des Programms auf den Amiga nicht gegen irgend welche Copyrights verstosse. ModList Version 1.2 ------------------- Mich (Bene) hat die Verbesserungswut gepackt. Ich hoffe, daß ich das Programm nicht nur unnötig verkompliziert, sondern auch etwas bedienungsfreundlicher gemacht habe. Hier die Änderungen: * Die Ein/Ausgaben laufen jetzt nicht mehr über OpenInput/OpenOutpt von InOut sondern über das FileSystem. Der Grund dafür ist, das das Modul InOut praktisch keine Fehler abfängt und nicht auf das Dateiende achtet ("done" wird nicht richtig gesetzt). Deshalb hat die alte Version nicht korrekt aufgehört, als die Eingabedatei zu Ende war oder wenn man den Drucker auf OffLine gestellt hat. Der Fehler ist jetzt behoben. * Jetzt mal eine Moralpredigt an alle Druckerprogrammierer: as glaubt ihr eigentlich, wozu die Preferences und die ganzen Drucker- treiber da sind? Bestimmt nicht deswegen, damit dann jeder sein Programm trotzdem eigenbrödlerisch schreibt und nur seinen eigenen Drucker ansteuert. Preferences mit seinen Druckertreibern ist dazu da, damit Druckprogramme, die keine besonderen Fähigkeiten verlangen, sondern nur Dinge benötigen, die eigentlich jeder Drucker kann (Fettschrift, Unterstreichen usw) ohne Anpassung auf allen Konfigurationen laufen. Es gibt deshalb genormte Steuerzeichen (Esc-Sequenzen), die im "Rom Kernel Reference Manual Libraries and Devices" von Addison Wessley im Kapitel "Printer device" auf Seite 420 beschrieben werden. Diese Standardsequenzen werden vom printer-device (prt:) automatisch in die Steuerzeichen des mit Preferences eingestellten Druckers übersetzt. Ich habe deshalb anstatt der spezifischen Steuerzeichen die Standard- Esc-Sequencen implementiert. Das ganze funktioniert bei mir und Fridtjof einwandfrei und ohne Programmänderungen, obwohl wir verschiedene Drucker haben. * Da ich öfters auch auf Einzelblatt drucke, habe ich eine Abfrage eingebaut, die prüft, ob bei Preferences "Single Sheet" eingestellt ist und wenn ja, dann bei jeder Seite wartet, bis man ein Blatt eingelegt hat. (leider ist im Modul "Intuition.def" der Compilerversion V3.2d ein Fehler, weshalb dies nur mit der Korrigierten Version (liegt bei) funktioniert.) * Bei langen Pfadnamen ist es lästig, den Namen der Quelldatei anzugeben, deshalb habe ich das Programm so erweitert, daß der Workbench-Argument- Mechanismus funktioniert. Man braucht jetzt nur noch das Icon des Texts anzuklicken, den man drucken möchte und danach ModList doppelklicken. Startet man ModList "pur" kann man natürlich den Namen auch von Hand eingeben. * Das automatische Anhängen von "mod" habe ich ausgebaut, weil es sonst unmöglich ist, ein Definitionsmodul (.def) auszudrucken. Viel Spaß Bene