Anton Liebetrau Units und Utilities fUr Turbo Pascal Die professionelle Toolbox fUr die Softwareentwicklung unter Turbo Pascal ab Version 6.0 Aus dem Bereich .---- Computerliteratur Effektiv Starten mit Turbo Pascal 6.0 von Axel Kotulla Grafikprogrammierung mit Turbo Pascal 6.0 von Andreas Bartel MS-DOS Profi Utilities mit Turbo Pascal von Georg Fischer 100 Rezepte fUr Turbo Pascal von Erik Wischnewski Units und Utilities fOr Turbo Pascal von Anton Liebetrau Das Vieweg Buch zu Turbo Pascal fUr Windows von Ekbert Hering und Alexander Mendler Arbeiten mit MS-DOS QBasic von Michael Halvorson und David Rygmyr (Ein Microsoft PressNieweg-Buch) Effektiv Starten mit Visual Basic von Dagmar Sieberichs und Hans-Joachim Kruger Das Vieweg Buch zu Visual Basic von Andreas Maslo Computer Animation ... vom feinsten von Marc Schneider Das Vieweg Buch zu Borland C++ 3.0 von Axel Kotulla Effektiv Starten mit Turbo C++ von Axel Kotulla Objektorientiert mit Turbo C++ von Martin Aupperle Vieweg ----------------- Anton Liebetrau Units und Utilities fOr Turbo Pascal Die professionelle Toolbox fUr die Softwareentwicklung unter Turbo Pascal ab Version 6.0 I I vleweg Die Deutsche Bibliothek -CIP-Einheitsaufuahme Liebetrau, Anton: Units und Utilities fur Turbo Pascal: die professionelle Toolbox fur die Softwareentwicklung unter Turbo Pascal ab Version 6.0 / Anton Liebetrau. -Braunschweig; Wiesbaden : Vieweg, 1992 ISBN 978-3-528-052 I I -9 ISBN 978-3-322-90607-6 (eBook) DOl 10.1007/978-3-322-90607-6 Die Software-Routinen, beschrieben in diesem Buch, durfen in eigenen Anwendungsprogram men verwendet werden. Der Programmierer darf eigene Programme, die diese Routinen enthal ten, in ausfuhrbarer und compilierter Form ohne Einschriinkungen oder Verpflichtungen zu zu satzlichen Lizenzgebuhren weiterverkaufen; Dasselbe gilt auch fur die Warterbuch-Datei SPELL.LEX, wenn diese in eigenen Programmen verwendet wird. Die Quellcodes der einzelnen Units oder nur Teile davon durfen weder weitergegeben noch verkauft werden. Die zu diesem Buch geharenden Demo-Programme (SPELLCHK.PAS und MINIEDITPAS) durfen nicht weiterverkauft werden, jedoch kannen beliebige Teile der Demo-Programme in ei genen Programmen verwendet werden. Diese neuen Anwendungen mussen sich jedoch bei ei nem Verkauf so weitgehend von SPELLCHK.MOD und MINIEDITMOD unterscheiden, daB sie im Sinne des Urheberrechtes als eigenstandige Programme schutzbar sind. Das in dies em Buch enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Der Autor und der Verlag ubernehmen infolgedessen keine Ver antwortung und werden keine daraus folgende oder sonstige Haftung ubernehmen, die auf ir gendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Aile Rechte vorbehalten © Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, BraunschweiglWiesbaden, 1992 Softcover reprint of the hardcover I st edition 1992 Der Verlag Vieweg ist ein Unternehmen der Verlagsgruppe Bertelsmann International. Das Werk einschliel3lich aller seiner Teile ist urheberrechtlich geschutzt. Jede Verwertung auBerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmungen des Verlags unzulassig und strafbar. Das gilt insbe sondere fur Vervielfaltigungen, Obersetzungen, Mikroverfilmungen und die Einspeicherung und Vcrarbeitung in elektronischen Systemen. Umschlagsgestaltung: Schrimpf & Partner, Wiesbaden Gedruckt auf saurefreiem Papier 5 Vorwort Dieses Buch eignet sich besonders fUr denjenigen Programmierer, der fUr seine Software-Entwicklungen Turbo Pascal (ab Version 6.0) verwendet und trotz der vielen Standard-Routinen an Grenzen stoBt. Die fUnf in diesem Buch beschriebenen Units enthalten rund 150 neue Routinen und erweitem Turbo Pascal betdichtlich. Es enthill.t Routinen zur Textverarbeitung und Maussteuerung. Besonders nennenswert er scheint mir die Unit Spell; mit ihr wird es moglich, anhand einer beliebi gen Anzahl ge6ffneter Referenz-Worterbiichem (fiinf verschiedene Gro Ben sind moglich) Orthographie-Fehler in einem Text zu suchen. Es er kennt zusammengesetzte Hauptworter (mit und ohne Fugen-s), unter scheidet zwischen GroB- und Kleinschreibung und ist auBerdem unglaub lich schnell. Eine ahnliche Unit ist bis zum heutigen Zeitpunkt meines Wissens nicht auf dem Software-Markt erhaItlich. Dieses Buch ist in zwei Teile gegliedert. Der erste Teil beschreibt die Wirkungsweise der einzelnen Routinen und verdeutlicht einzelne Aspekte durch kurze Beispiel-Programme. 1m zweiten Teil (Anhang) finden Sie niitzlichen Tabellen und eine Ubersicht aller Units. SchlieBlich werden die von der Unit Spell verwendeten Algorithmen und Datenstrukturen ausfUhrlich erUiutert und mit Graphiken verdeutlicht. Auf den beiliegen den Disketten finden sie neben den beschriebenen Units und einem Wor terbuch mit rund 80000 Wortem die beiden leistungsfahigen Demo-Pro gramme SPELLCHK.PAS und MINIEDIT.PAS. Die einzelnen Units sind mit gr6Bter Sorgfalt geschrieben und getestet worden. Da sich aber Fehler nie ganz ausschlieBen lassen oder vielleicht einzelne Routinen nicht Ihren Vorstellungen entsprechen, bin ich fUr Hin weise und Anregungen jederzeit dankbar. Winterthur, Marz 1992 Anton Liebetrau 6 Inhaltsverzeichnis Vorwort ....................................................................... 5 Beschreibung der Units ..................................................... 7 Die Unit Mouse .......................................................... 8 Die Unit Spell ............................................................ 55 Die Unit Standard ........................................................ 75 Die Unit Sys .............................................................. 96 Die Unit Txt ............................................................... 129 Anhang ........................................................................ 155 A - ErIauterungen zur Unit Spell ...................................... 156 B - Ubersicht der Units.................................................. 167 C - Tastencodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 D - Graphikzeichen fiir Tabellen .. . . .. . . .. . . . .... . .. . . . .. ... . . .... . . .. 176 E - IDM-Zeichensatz ..................................................... 177 Literaturhinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Nachwort ..................................................................... 180 Sachwortverzeichnis ......................................................... 181 7 · ..· . Beschreibung der UOI-tS ........... .-:.:--;>::<, .. .. ":': ','. 8 Die Unit Mouse Zweck Erlaubt die Verwendung einer Maus als Eingabegedit. Bemerkung Urn eine Maus betreiben zu konnen, benotigen Sie neben der Hardware auch einen Maustreiber (MOUSE. COM oder MOUSE.SYS), der die Funktionen zur Maussteuerung bereitstellt. Fiir die Installation des Maus treibers stehen Ihnen zwei Wege offen: MOUSE.COM wird wie ein gew6hnliches Prograrnm gestartet und kann bei Bedarf in der Datei AUTOEXEC. BAT eingetragen werden (somit wird der Treiber bei jedem Systemstart selbstiindig geladen). Der Treiber bleibt resident im Speicher. MOUSE.SYS befindet sich als Eintrag in der Datei CONFIG. SYS und Iadt den Maustreiber bei jedem System- start (erweitern Sie also beispielsweise die Datei CONFIG.SYS um die Zeile DEVICE=C:IMOU SE.SYS). Die Unit Mouse erkennt automatisch, ob ein Treiber installiert ist. Falls nicht, sind die rneisten Routinen nicht ausfiihrbar (siehe auch Mouse Ready), jedoch behindern sie auch nicht die ProgrammausfUhrung. Turbo Pascal 6.0 verfUgt iiber leistungsfahige Units (Turbo Vision), die sich fUr die Entwicklung von rnausgesteuerten Benutzeroberflachen ausgezeichnet eignen. Dennoch ist in diesern Buch die Unit Mouse ent halten, darnit die Maus auch bei kleineren Programrnen (im Text- und Graphikmodus) als Eingabegerat eingesetzt werden kann. Folgende Pro zeduren und Funktionen stehen in der Unit Mouse zur Verfiigung: AnyButton Priift, ob eine beliebige Maustaste gedriickt wird Buttons Ermittelt die verfUgbaren Maustasten ConvertCoords Konvertiert Maus-Koordinaten ConvertOff Schaltet die Umrechnung (in Abhangigkeit des ak tuellen Bildschirm-Modus) fUr die Maus-Position aus ConvertOn Schaltet die Urnrechnung (in Abhangigkeit des ge setzten Bildschirrn-Modus) fUr die Maus-Position ein (entspricht der Standard-Einstellung) 9 Die Unit Mouse DoubleClick Priift, ob eine Maustaste in einer gewissen Zeit spanne zwei Mal gedriickt wird DoubleClickRange Priift, ob eine Maustaste innerhalb eines bestimm ten Rechtecks zwei Mal gedriickt wird DriverSize Liefert die Grofie des Puffers, in dem die aktuel len Parameter des Maustreibers gespeichert wer den sollen GetClickPos Ermittelt die Position, bei der eine Maustaste ge driickt wurde GetMotion Ermittelt die relative Mausbewegung in der Ein heit "Mickey" GetMousePos Ermittelt die aktuelle Position des Mauszeigers GetPage Ermittelt die aktuelle Bildschirmseite, in der der Mauscursor angezeigt wird GetRelease Pos Ermittelt die Position, bei der eine Maustaste los gelassen wurde InitMouse Setzt einige Maus-Parameter auf ihre Anfangswer te zuriick IsConvertOn Priift, ob die Maus-Koordinaten umgewandelt werden (in Abhangigkeit des gesetzten Bild schirm-Modus) IsLightPenOn Priift, ob die Lichtstift-Emulation aktiv ist IsMouseOn Priift, ob der Mauszeiger sichtbar ist LeftButton Priift, ob die linke Maustaste gedriickt wird LightPenOff Schaltet die Lichtstift-Emulation aus LightPenOn Schaltet die Lichtstift-Emulation ein MiddleButton Priift, ob die mittlere Maustaste gedriickt wird MouseActRange Priift, ob sich die aktuelle Maus-Position in einem bestimmten rechteckigen Bereich befindet MouseCondOff Schaltet den Mauscursor aus, sobald dieser in ei nen gewissen Bildschirmausschnitt gefiihrt wird MouseOff Schaltet den Mauscursor aus MouseOn Schaltet den Mauscursor ein MouseRange Priift, ob sich ein bestimmter Punkt in einem rechteckigen Ausschnitt befindet MouseReady Priift, ob eine Maus betrieben werden kann RightButton Ermittelt, ob die rechte Maustaste gedriickt wird RestoreDriver Stellt die zuvor gesicherten Einstellungen des Maustreibers wieder her
Description: