Auch wenn wohl nur noch wenig DOS-Programme eingesetzt werden, ist es für
Anfänger, z.B. auch für Schüler im Informatikunterricht sehr sinnvoll, sich zunächst
der Turbo-Pascal-Entwicklungsumgebung zu bedienen, um sich mit einer Programmiersprache
vertraut zu machen. Pascal ist insbesondere aus didaktischen Gesichtspunkten eine gute
Wahl.
Turbo-Pascal lässt sich problemlos auch in einer Windows-Umgebung installieren und
nutzen. Bei Windows 98, 2000, XP, sowie Windows 7 und 8 in der 32-bit-Version
funktioniert das direkt. Auf 64-bit-Systemen (Windows 7 und 8) kann man es unter
der DOSBox laufen lassen (weitere Informationen).
Die Vers. 5.5 steht übrigens
kostenlos zur Verfügung.
Als Turbo-Pascal auf den Markt kam, waren die Rechner noch sehr viel langsamer als heute.
Die übliche Taktfrequenz für 286-CPUs war 8 MHz, die für 486-CPUs 33 MHz.
Dass die Rechner einmal viel schneller würden, hat man damals leider beim
Programmieren der Bibliotheken nicht vorausgesehen.
Wenn man jetzt auf einem schnelleren Rechner ein mit den
Originalbibliotheken übersetztes Programm (Exe-Datei) laufen lässt, führt das
sofort zu dem Laufzeitfehler Runtime Error 200: Division by zero.
Ursache dafür ist der Initialisierungsteil der Unit CRT.
Hier wird für den Delay-Befehl ein von der Taktfrequenz des
Rechners abhängiger Schleifenzähler ermittelt.
Bis Turbo-Pascal 6 wurde dafür ein 16-bit-Wert verwendet, der bereits bei einem Takt von
ca. 20 MHz überläuft. Bei Turbo-Pascal 7 wurde er daher auf 32 Bit vergrößert.
Das sollte eiegentlich noch bis zu sehr viel höheren Taktfrequenzen ausreichen,
trotzdem gibt es bereits bei Taktfrequenzen ab ca. 200 MHz einen Fehler.
Ursache dafür ist eine nachfolgende Division durch 55, die einen Überlauf
verursacht (das Ergebnis ist größer als 16 Bit). Fälschlicherweise wird dies
dann als "Division durch 0" gemeldet.
Es gibt verschiedene Möglichkeiten, dieses Problem zu beheben:
Der folgende Patch kann auf alle mit TP/BP 6.0/7.00/7.01 compilierten Pascal-Programme angewendet werden. Er fügt die erforderlichen Änderungen in die Exe-Datei ein. Eine Beschreibung in Deutsch und Englisch ist in dem von Andreas Bauer bereitgestelltem Paket enthalten.
Wenn man die Quelltexte hat und diese neu compilieren will, benötigt man eine geeignet gepatchte Bibliothk Turbo.tpl.
Beschreibung | Version | Größe | Download |
Sammlung von Unteroutinen für verschiedene Zwecke Stringverarbeitung, Dateinamen zerlegen und zusammensetzen, blockweises Lesen und Schreiben von Dateien, Routinen für nullterminierte Strings, mathematische Funktionen |
Dez. 2001 | 20,4 kB | units.zip |
Datentransfer über die serielle Schnittstelle Pascal-Version: Eine Schnittstelle (COM1,..,COM4), interruptgepuffertes Lesen und Schreiben, Beispielprogramme |
Apr. 2001 | 6,59 kB | comdrv.zip |
Datentransfer über die serielle Schnittstelle TSR-Version: Pascal-Interface zu Assembler-TSR-Programmen (in den Speicher ladbare Programme) für 1 bis 8 serielle Schnittstellen |
Sep. 2000 | 60,7 kB | comxdrv.zip |
Beschreibung | Version | Größe | Download |
Ausdrucken von Turbo-Pascal-Programmen Erweiterte Ausdruckmöglichkeiten innerhalb der IDE (Seitenformatierung, Postscript-Ausgabe) |
Apr. 1994 | 17,1 kB | tpr.zip |
Festplattenwerkzeuge: Sichern und Zurückspeichern des Master-Boot-Records (MBR), Rekonstruktion der Partionierung einer Festplatte |
Jun. 2008 | 18,5 kB | part-tools-s.zip |