Handbuch Wega-Developer Kit 1 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! ------------------------------------------------------------------------ ** *** *** *** * *** *** *** *** *** *** *** *** *** *** *** *** *** *** ### ### ######### ######## ######## ### ### ######### ########## ########## ### ### ### ### ### ### ### ### ### ######### ### #### ########## ### ### ### ######### ### #### ########## ### ### ### ### ### ### ### ### ############# ######### ########## ### ### ########### ######### ######## ### ### *** *** *** *** *** *** *** *** *** *** *** *** *** *** * *** *** *** ** Handbuch ======== (Stand: 23.12.1992) Copyright 1991/92 by Dietmar Rabich Koppelbusch 37 D-W4408 Dlmen-Hausdlmen Tel. & Fax 02594-86103 Alle Rechte vorbehalten! Handbuch Wega-Developer Kit 2 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Inhaltsverzeichnis ------------------------------------------------------------------------ Inhaltsverzeichnis: Inhaltsverzeichnis .......................... 2 I. Allgemeines ................................. 3 II. Einleitung ................................. 13 III. Bedienung .................................. 17 IV. šbersichten ................................ 24 V. Konstanten ................................. 42 VI. Makros ..................................... 66 VII. Typen ...................................... 67 VIII. Dateifunktionen ............................ 89 IX. Graphikfunktionen ......................... 102 X. Speicherunktionen ......................... 205 XI. Systemfunktionen .......................... 211 XII. Fensterfunktionen ......................... 217 XIII. Beispiele ................................. 232 XIV. Debuggingtool Buggy ....................... 244 Stichwortverzeichnis ...................... 260 Handbuch Wega-Developer Kit 3 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ I. Allgemeines ************** 3D ======================================================================== Die Objekte in Wega lassen sich auch mit 3-dimensionalen Effekten nutzen. Die Darstellung wird selbstt„tig verwaltet. Es besteht die M”glichkeit, alle Wega-Objekte, die die 3D-Darstellung erlauben, mittels der Funktion GSet3D() oder einzelne mit dem Status DRAW3D (siehe auch G3DTune()) zu aktivieren. Die 3D-Darstellung wird jedoch nur dann genutzt, wenn mindestens 16 Farben zur Verfgung stehen. Ein Wort der Mahnung: 3D-Effekte nachtr„glich in einem von 2D-Objekten beherrschten System unterzubringen bringt zwangsl„ufig eine Vermischung der Effekte mit sich. Wega stellt alle die Objekte dreidimensional dar, bei denen es sinnvoll erscheint. Bei anderen werden lediglich die Farben angepažt. Handbuch Wega-Developer Kit 4 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ AES ======================================================================== Application Environment Services Diese Dienste fr die Programmumgebung (AES frei bersetzt) sind Bestandteil des GEM. Sie bernehmen beispielsweise die Aufgaben der Fenster- und Formularverwaltung, wobei unter Formularen Dialoge zu verstehen sind. Die AES greifen zur Ausgabe auf das VDI zurck. Die eingeschr„nkte Funktionalit„t einiger AES-Funktionen machte es notwendig, diese Funktionen innerhalb von Wega neu zu programmieren. Wega nutzt das VDI zur Darstellung eigener Objekttypen. Zu diesem Zweck ”ffnet Wega fr sich eine eigene virtuelle Workstation. Zur Darstellung wird der Standardzeichensatz benutzt. Bei einer Ver„nderung des von den AES genutzten Zeichensatzes sind die Wega-Objekte folglich nicht betroffen. Handbuch Wega-Developer Kit 5 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ BIOS, XBIOS ======================================================================== (eXtended) Basic Input/Output System Das BIOS ist die unterste Ebene des Betriebssystems TOS und dient als Bindeglied zwischen GEMDOS und der Hardware. Es ist fr alles verantwortlich, was unterhalb von GEM und GEMDOS stattfindet. Das XBIOS enth„lt hardwarespezifische Funktionen, die als Erweiterung der BIOS-Funktionen gedacht sind. GEM- und GEMDOS-Funktionen sind auf jeden Fall (X)BIOS-Funktionen vorzuziehen! Handbuch Wega-Developer Kit 6 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ DOS ======================================================================== Disk Operating System (bekannt u.a. unter MS DOS, PC DOS, DR DOS) DOS dient als Basissystem zur Kommunikation mit der Peripherie. Daher stammt auch der Namensbestandteil "Disk", denn ursprnglich war das System nur zur Kommunikation mit einem Disk-Laufwerk gedacht. Allerdings ist der Aufgabenbereich auch heute noch nicht nennenswert gr”žer. Ein Betriebssystem wird durch diverse Ger„tetreiber (Tastatur, Bildschirm) erweitert, wodurch eigentlich erst ein komplettes Betriebssystem entsteht. (siehe auch GEMDOS, TOS) Handbuch Wega-Developer Kit 7 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ GEM ======================================================================== Graphics Environment Manager Der GEM bernimmt High Level-Ein- und Ausgabe-Funktionen. Er untergliedert sich in die zwei Funktionsbl”cke AES und VDI. Bei sauberer Programmierung lassen sich GEM-Programme leicht auf andere Betriebssystemplattformen portieren. Allerdings wird GEM auf anderen Betriebssystemen in der Regel nur schlecht bis gar nicht untersttzt. Zudem wird das Atari-GEM wie auch das Digital Research-GEM (nur die Wurzeln sind gemeinsam) st„ndig weiterentwickelt, wodurch sich beide voneinander entfernen. Eine Portierung wird folglich immer schwerer. Die Notwendigkeit, auch auf andere Betriebssystemfunktionen zurckgreifen zu mssen, macht die Portierung nahezu unm”glich. Programme, die Wega nutzen, lassen sich nicht portieren. Symbol des GEM ist ein geschliffener Edelstein, in englischer Sprache auch gem genannt. Handbuch Wega-Developer Kit 8 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ GEMDOS ======================================================================== GEM-Disk Operating System Das GEMDOS als integrierter Bestandteil des Betriebssystems TOS bernimmt (wie DOS) die Kommunikation mit Massenspeichereinheiten. Handbuch Wega-Developer Kit 9 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ Literatur ======================================================================== Atari Profibuch ST/STE/TT, D. Rabich/J. F. Reschke/H.-D. Jankowski, Sybex-Verlag 1991/92 GEM Programmier-Handbuch, P. Balma/W. Fitler, Sybex-Verlag 1987/88 Vom Anf„nger zum GEM-Profi, D. Geiž/J. Geiž, Hthig Buch Verlag Heidelberg 1990 Handbuch Wega-Developer Kit 10 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ OS/2 ======================================================================== Operating System/2 Das Betriebssystem OS/2 nutzt wie Windows (oder Windows NT) eine fensterorientierte graphische Oberfl„che. Bei OS/2 nennt sich dieser Bestandteil Presentation Manager. Handbuch Wega-Developer Kit 11 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ TOS ======================================================================== The Operating System Das TOS umfažt s„mtliche Teile des Betriebssystems (im Gegensatz zum DOS). Dazu geh”ren GEM, GEMDOS, BIOS und XBIOS. Nur wenige Treiber erg„nzen das TOS. Zu den wenigen Treibern geh”ren CD-ROM- oder Festplattentreiber wie auch spezielle Ausgabetreiber (beispielsweise fr Plotter) ber das Programm GDOS (Graphics device operating system), welches den GEM erg„nzt. Handbuch Wega-Developer Kit 12 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Allgemeines ------------------------------------------------------------------------ VDI ======================================================================== Virtual Device Interface Das VDI als Bestandteil des GEM ist die Schnittstelle zwischen der Applikation und den graphikf„higen Ausgabeger„ten. Wega nutzt das VDI zur Darstellung einiger Objekttypen. Aus diesem Grund ”ffnet Wega mit der Funktion GWegaInit() unter anderem eine virtuelle Workstation, die mit GWegaDone() wieder geschlossen wird. Handbuch Wega-Developer Kit 13 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Einleitung ------------------------------------------------------------------------ II. Einleitung ************** Einleitung ======================================================================== Das Wega Developer Kit - kurz Wega-DK - stellt eine Bibliothek mit ntzlichen Funktionen dar, die bei jedem Programm Verwendung finden k”nnen. Sinn und Zweck dieser Bibliothek ist, die Vereinheitlichung und anwenderfreundliche Gestaltung von Softwareprogrammen zu untersttzen. Aus diesem Grunde hat sich jede Person, die Programme unter der Ver- wendung von Wega entwickelt, an die Gestaltungsrichtlinien fr GEM- Programme zu halten. Hinzu kommen Einschr„nkungen der Bibliothek Wega, die jedoch sehr gering sind: Rcksprache mit dem Autor von Wega vor der Ver”ffentlichung von mit Wega-DK entwickelter Software. Lauff„higkeit der Software unter allen TOS-Versionen und Bild- schirmaufl”sungen. Ausnahmen sind mit dem Autor von Wega abzu- sprechen. Hintergrund, PopUps, Radiobuttons, Rahmen, Selectbuttons und Titelzeilen der Dialogboxen wie im Wegademo vorgegeben. Die Beschreibung der Funktionen soll einen Anhaltspunkt fr den Gebrauch der Funktionen der Bibliothek Wega geben. Handbuch Wega-Developer Kit 14 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Einleitung ------------------------------------------------------------------------ Copyright ======================================================================== Copyright (c) 1991/92/93 by Dipl.-Math. Dietmar Rabich; Anschrift: Koppelbusch 37, D-W4408 Dlmen-Hausdlmen, Tel. & Fax +49 2594 86103. Das Wega Developer Kit wird seit dem 1. Januar 1993 nach dem Sharewareprinzip vertrieben. Eine Benutzung der Bibliothek, die ber einen Test hinausgeht, darf erst nach der Entrichtung des Obolus in H”he von 100 DM (in Verbindung mit der Registrierung) erfolgen. Auf die Verwendung des Wega Developer Kit ist in der zu dem mit dem Wega Developer Kit entwickelten Programm geh”rigen Beschreibung sowie im Programm selbst hinzuweisen. Wird Wega Developer Kit in Zeitschriften vorgestellt, so wird um die Zusendung eines kostenlosen Belegexemplars der Zeitschrift gebeten. Auszge aus der Anleitung oder der Hilfedatei drfen nur nach vorheriger schriftlicher Genehmigung abgedruckt werden. Das Listing darf weder komplett noch teilweise ver”ffentlicht werden, es sei denn, es liegt eine schriftliche Genehmigung des Autors vor. Von jeder mit dem Wega Developer Kit entwickelten Software ist ein kostenloses Belegexemplar an den Autor von Wega Developer Kit zu senden. Bei der Weitergabe von Wega Developer Kit in Verbindung mit kommer- ziellen Programmen ist in der Regel nicht gestattet. Der kommerzielle Mitvertrieb ist nur bei einer Lizenzvereinbarung mit dem Autor gestattet. Bei der Weitergabe des Wega Developer Kit durch Mailboxen oder kommerzielle Sharewareversender ist darauf hinzuweisen, daž es sich bei dem Wega Developer Kit um ein Sharewareprodukt handelt. Milit„rischen Institutionen ist es strikt untersagt, Wega bzw. Wega Developer Kit in irgendeiner Form zu nutzen. Die schliežt sowohl die direkte Verwendung von Wega bzw. Wega Developer Kit als Bibliothek als auch die indirekte Verwendung in Programmen ein. Die Anwenderinnen und Anwender sind darauf hinzuweisen. Einschr„nkung der Gew„hrleistung, Haftungsausschluž Es wird keine Garantie fr die Richtigkeit des Inhalts dieses Handbuchs oder der Bibliothek bernommen. Die Eignung der Dateien bzw. der Dokumentation fr einen bestimmten Verwendungszweck wird nicht zugesichert. Eine Haftung fr den bei Gebrauch entstehenden Schaden ist beschr„nkt auf Vorsatz und grobe Fahrl„ssigkeit. Eine Haftung fr Mangelfolgesch„den ist ausgeschlossen. Da sich Fehler, trotz aller Bemhungen, nie vollst„ndig vermeiden lassen, ist der Autor fr Hinweise jederzeit dankbar. Alle Rechte vorbehalten! Warenzeichen "ATARI", "ST", "Mega ST", "TT" und "TOS" sind eingetragene Warenzeichen von ATARI Computers. "GEM" ist ein eingetragenes Warenzeichen von Handbuch Wega-Developer Kit 15 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Einleitung ------------------------------------------------------------------------ Digital Research. "Script II" ist ein Warenzeichen der Application Systems Heidelberg Software GmbH. "Pure-C" ist ein Warenzeichen der Pure Software GmbH (Vertrieb: Application Systems Heidelberg Software GmbH). "Turbo C fr den Atari" ist ein Warenzeichen der Borland GmbH. BigScreen bzw. "BigScreen 2" ist ein Warenzeichen der SciLab GmbH, Hamburg. Weitere Soft- und Hardwarebezeichnungen sind in den meisten F„llen auch eingetragene Warenzeichen und unterliegen als solche den gesetzlichen Bestimmungen. Wega Developer Kit erlaubt die Verwendung jedes Rechners der ST-Reihe und jedes der TT-Reihe. Jede Monitoraufl”sung ist prinzipiell m”glich. Legen Sie sich unbedingt Sicherheitskopien Ihrer Disketten an! Handbuch Wega-Developer Kit 16 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Einleitung ------------------------------------------------------------------------ Shareware ======================================================================== Das Sharewareprinzip bedeutet fr das Wega Developer Kit, daž das Wega Developer Kit vollst„ndig und unver„ndert ohne durch Dritte hinzugefgte Dateien weitergegeben werden darf. Eine Nutzung zu Testzwecken ist bis zu 21 Tage nach der Installation erlaubt. Eine weitergehende Nutzung ist erst nach der Registrierung und der Entrichtung des Obolus gestattet. Handbuch Wega-Developer Kit 17 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Bedienung ------------------------------------------------------------------------ III. Bedienung ************** AUTO ======================================================================== AUTO ist der Name eines Ordners bzw. Verzeichnisses auf dem Bootlauf- werk (in der Regel A: oder C:), also dem Laufwerk, von dem zu Beginn einer Sitzung Programme und Accessories geladen werden. Programme, die sich im AUTO-Ordner befinden (Extension PRG) verwenden kein GEM. Handbuch Wega-Developer Kit 18 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Bedienung ------------------------------------------------------------------------ Bedienung der Dialoge ======================================================================== Die Bedienung der Wega-Dialoge ist gegenber der herk”mmlichen Bedienung um folgende Dinge erweitert worden: Zentrierbox: Das Klicken auf die drei Striche oder das Eselsohr oben rechts und Festhalten der Maustaste erm”glicht eine Posi- tionierung der Dialogbox auf dem Bildschirm. Ein Doppel- klick hat das Zentrieren der Dialogbox zur Folge. H„lt man gleichzeitig eine der SHIFT-Tasten oder die rechte Maus- taste gedrckt, so verschwindet die Dialogbox erst, l„žt sich dann verschieben und erscheint wieder, sobald die linke Maustaste losgelassen wurde. Checkbox: Ist die entsprechende Option gew„hlt, so erscheint ein Kreuz in dem K„stchen, andernfalls nicht. Die entsprechende Option wird durch Klick auf das K„stchen oder den Text erreicht. Radiobutton: Eine der mit einem Kreis gekennzeichneten Optionen inner- halb einer Gruppe kann gew„hlt werden. Sie wird durch einen Klick auf den Kreis oder den dazugeh”rigen Text selektiert. Popup-Men: Hinter dem schattierten Feld verbirgt sich eine Auswahl- m”glichkeit. Klickt man auf das Feld, so erscheint ein kleines Men, bei dem der vorgew„hlte, aktuelle Eintrag durch ein H„kchen gekennzeichnet ist. Wird die Maustaste nach dem Klick festgehalten, so wird die Auswahl der Ein- tr„ge durch das Loslassen der Maustaste bewerkstelligt. Wird nur einmal kurz auf den Eintrag geklickt, so bleibt das Men solange auf dem Bildschirm, bis auf einen Eintrag oder aužerhalb des Mens geklickt wird oder eine der Tasten , oder gedrckt wird. Der gew„hlte Eintrag wird bernommen, wenn sich beim Loslassen der Maustaste der Mauszeiger innerhalb des Popup-Mens befand oder oder gedrckt wird. Mit den Cursortasten bzw. kann alternativ zwischen den Eintr„gen gewechselt werden. Die Taste positioniert automatisch auf den ersten Eintrag. Popup-Men mit Cyclebutton: Diese Auswahlm”glichkeit ist analog zu obigen, jedoch mit dem Unterschied, daž ber das Feld rechts der n„chstfolgende Eintrag (zyklisch) ausgew„hlt wird. Nach einem Doppelklick auf das Feld k”nnen die Eintr„ge auch in der anderen Richtung durchlaufen werden. Der Zeitabstand zwischen dem Erscheinen zweier Eintr„gen wird in WEGA.CPX eingestellt. Scrollbar: Der Scrollbalken hat die blichen Bedienungselemente wie nach einem Klick auf die Pfeile ein zeilen- bzw. spalten- weises und auf den Hintergrund ein seitenweises Bl„ttern. Wird der Slider bewegt, so „ndern sich parallel die darzu- stellenden Eintr„ge. Der Modus fr das zeilen- bzw. spaltenweise Bl„ttern kann ber das Kontrollfeldmodul WEGA.CPX beinflužt werden. Editfelder: Bei den Editfeldern bestehen neben den blichen Bearbeitungsm”glichkeiten wie * oder ein Zeichen zurck Handbuch Wega-Developer Kit 19 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Bedienung ------------------------------------------------------------------------ oder vor, * Eintrag l”schen, * oder n„chstes Feld, * voriges Feld oder * den L”schm”glichkeiten mit bzw. noch weitere M”glichkeiten. So kann mit * CONTROL+ bzw. CONTROL+ ein Wort nach links bzw. rechts gesprungen, * SHIFT+ bzw. SHIFT+ an den Anfang bzw. das Ende des Felds, * SHIFT+ zum vorigen Feld (oder beim ersten zum letzten Feld) gewechselt, * auch vom letzten zum ersten Feld gewechselt werden, * CONTROL+ bzw. CONTROL+ bis zum n„chsten Wort nach links bzw. rechts und * SHIFT+ bzw. SHIFT+ die restliche Zeile nach links bzw. rechts gel”scht, * das erste Feld angesprungen und * SHIFT+ das letzte Feld angesprungen werden. In Verbindung mit CONTROL bewirken die Tasten * das Kopieren des Feldinhalts in einen Zwischenspeicher, * zus„tzlich noch das L”schen des Felds, * das Kopieren des Zwischenspeichers in das Feld, * das Umdrehen des Feldinhalts, * das Vertauschen der beiden Zeichen links vom Cursor, * das Konvertieren des Inhalts in Kleinbuchstaben, * das Konvertieren des Inhalts in Grožbuchstaben, * das Konvertieren des Inhalts in Grož- und Kleinschrift, * <+> das Addieren von 1 zum Feldinhalt, wenn dieser nur aus Ziffern besteht und * <-> das Subtrahieren von 1 vom Feldinhalt, wenn dieser nur aus Ziffern besteht. S„mtliche Zeichen des ASCII-Zeichensatzes (mit Ausnahme von NUL) lassen sich ber Tastatur eingeben, wenn CONTROL+ gedrckt wird und anschliežend eine maximal dreistellige Zahl. Werden nur ein oder zwei Ziffern eingegeben, so muž die Sequenz mit irgendeiner Taste beendet werden. Zwischen zwei Tastendrcken drfen h”chstens zwei Sekunden liegen. Bei der Eingabe von Zeichen - insbesondere internationalen Sonderzeichen - k”nnen diese konvertiert werden (siehe Zeichenkonvertierung). Shortcut: Der unterstrichene bzw. farbige Buchstabe repr„sentiert die Tastenkombination, mit der ein Objekt alternativ ausgew„hlt werden kann. Als Tastenkombination gilt dann ALTERNATE+<"gekennzeichnete Taste">. Handbuch Wega-Developer Kit 20 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Bedienung ------------------------------------------------------------------------ WEGACOOK.PRG ======================================================================== WEGACOOK ist ein Programm, welches in den AUTO-Ordner kopiert werden kann. Wird es mitgestartet und existierte vorher bereits ein Cookiejar, so wird u.a. ein globaler Zwischenspeicher fr die Editfelder installiert (siehe auch WEGA.CPX). Handbuch Wega-Developer Kit 21 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Bedienung ------------------------------------------------------------------------ WEGA.CPX ======================================================================== Die diversen Einstellungen, die mit Hilfe von Wega entwickelte, k”nnen ber dieses Kontrollfeld-Modul ver„ndert werden. Zu diesen Einstellungen geh”ren: * Farbe der Titelzeile in den Dialogboxen, * Wartezeit bei Cyclebuttons o.„., * Sliderbewegung, * Modus der automatischen Zentrierung. Die Einstellungen sind nur dann wirksam, wenn WEGACOOK.PRG erfolgreich einen Cookie installiert hat. Handbuch Wega-Developer Kit 22 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Bedienung ------------------------------------------------------------------------ Zeichenkonvertierung ======================================================================== Die Konvertierung erfolgt durch Positionierung des Cursors im Editfeld rechts neben einem passenden Zeichen und dem Drcken von ALTERNATE in Verbindung mit einem Konvertierungszeichen. Beispiel: Links neben dem Cursor steht ein 'e', dann wird ALTERNATE+<'> gedrckt und schon wird das 'e' gel”scht und durch ein '‚' ersetzt. Zeichen Konvertierungs- Ergebnis zeichen a % ‘ A % ’ a '   a - ¦ a . † A . a : „ A : Ž a ^ ƒ a _ ¦ a ` … A ` ¶ A ~ · a ~ ° c % ½ c , ‡ C , € c / › c | › E ' e ' ‚ e : ‰ e ^ ˆ e ` Š f - Ÿ i % À I % Á i ' ¡ i : Œ i ^ i ` L - œ N ~ ¥ n ~ ¤ O % µ o % ´ o ' ¢ o - § o / ³ O / ² o : ” O : ™ o ^ “ o _ § o ` • O ~ ¸ o ~ ± r % ¾ s % ž t % ¿ Handbuch Wega-Developer Kit 23 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Bedienung ------------------------------------------------------------------------ u ' £ U : š u : u ^ – u ` — Y - y : ˜ ! % ­ < < ® > > ¯ ? % ¨ SPACE ' º SPACE : ¹ ~ ~ ÷ Handbuch Wega-Developer Kit 24 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ IV. šbersichten *************** Bitbl”cke fr GDoAlert() ======================================================================== GBitblkAsterisk() Bitblock Asterisk GBitblkCalculator() Bitblock Taschenrechner GBitblkDisk() Bitblock Diskette GBitblkExclamationmark() Bitblock Ausrufezeichen GBitblkHelp() Bitblock Hilfe GBitblkInformation() Bitblock Information GBitblkLetter1() Bitblock Brief 1 GBitblkLetter2() Bitblock Brief 2 GBitblkQuestionmark() Bitblock Fragezeichen GBitblkScript() Bitblock Script GBitblkStopsign() Bitblock Stopschild GBitblkTeddy() Bitblock Teddy GBitblkWarning() Bitblock Warnung GBitblkWega() Bitblock Wega Handbuch Wega-Developer Kit 25 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Buggy-Funktionen ======================================================================== Buggy() BuggyB() BuggyL() BuggyS() BuggyTrace() BuggyW() SetBuggyDelay() SetBuggyMode() SetBuggyName() Handbuch Wega-Developer Kit 26 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Wega-Massenspeicherfunktionen ======================================================================== FBuildFolder() Ordner anlegen FChkName() Namen berprfen FComplete() Pfad vervollst„ndigen FDiskFormat() Diskette formatieren FExists() Datei auf Existenz prfen FFileCopy() Datei kopieren FFileMove() Datei bewegen FFolderCopy() Ordner kopieren FMediach() Mediachange provozieren FSplit() Dateinamen und -pfad aufsplitten FSplit2() Dateinamen und -pfad aufsplitten FTree() Verzeichnisbaum durchlaufen Handbuch Wega-Developer Kit 27 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Erlaubte Zeichen bei Editfeldern, Formatangaben ======================================================================== Zeichen| Beschreibung | Eingabezeichen -------+--------------------+------------------------------------------- H | Hexadezimalziffern | ['0'-'9'], ['A'-'F'] 9 | Dezimalziffern | ['0'-'9'] + | Vorzeichen (+/-) | '+', '-' D | Vorzeichen, | '+', '-', ['0'-'9'], ',', '.' | Ziffern, Kommata, | | Punkte | A | Grožbuchstaben und | ['A'-'Z'], ' ' | Leerzeichen | a | Buchstaben und | ['a'-'z'], ['A'-'Z'], ' ' | Leerzeichen | I | internationale | ['A'-'Z'], ' ', | Grožbuchstaben und | {nationale Sonderzeichen} | Leerzeichen | i | internationale | ['a'-'z'], ['A'-'Z'], ' ', | Buchstaben und | {nationale Sonderzeichen} | Leerzeichen | N | Grožbuchstaben, | ['A'-'Z'], ['0'-'9'], ' ' | Ziffern und | | Leerzeichen | n | Buchstaben, | ['a'-'z'], ['A'-'Z'], ['0'-'9'], ' ' | Ziffern und | | Leerzeichen | P | Zeichen eines | ['A'-'Z'], ['0'-'9'], '\', ':', '*', '?', | Pfadnamens mit | '_', '!', '@', '#', '$', '%', '^', '&', | Wildcards | '(', ')', '+', '-', '=', '~', '`', ';', | | ''', '\', '"', ',', '<', '>', '|', '[', | | ']', '{', '}', '.' p | Zeichen eines | ['A'-'Z'], ['0'-'9'], '\', ':', '_', '!', | Pfadnamens | '@', '#', '$', '%', '^', '&', '(', ')', | | '+', '-', '=', '~', '`', ';', ''', '\', | | '"', ',', '<', '>', '|', '[', ']', '{', | | '}', '.' F | Zeichen eines | ['A'-'Z'], ['0'-'9'], '_', '!', '@', '#', | Dateinamens | '$', '%', '^', '&', '(', ')', '+', '-', | | '=', '~', '`', ';', ''', '\', '"', ',', | | '<', '>', '|', '[', ']', '{', '}', '.' X | alle Zeichen | [32-255] Handbuch Wega-Developer Kit 28 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Wega-Graphikfunktionen ======================================================================== GArrayToRect() Array in Rechteck umwandeln GBegUpdate() Beginn Update GBitblkAsterisk() Bitblock Asterisk GBitblkCalculator() Bitblock Taschenrechner GBitblkDisk() Bitblock Diskette GBitblkExclamationmark() Bitblock Ausrufezeichen GBitblkHelp() Bitblock Hilfe GBitblkInformation() Bitblock Information GBitblkLetter1() Bitblock Brief 1 GBitblkLetter2() Bitblock Brief 2 GBitblkQuestionmark() Bitblock Fragezeichen GBitblkScript() Bitblock Script GBitblkStopsign() Bitblock Stopschild GBitblkTeddy() Bitblock Teddy GBitblkWarning() Bitblock Warnung GBitblkWega() Bitblock Wega GChgFlags() Objektflags ver„ndern GChgState() Objektstatus ver„ndern GChildWalk() Abh„ngige Objekte abwandern GCloseWorkstation() Virtuelle Workstation schliežen GDelDesk() Defaultobjektbaum abmelden GDelMenu() Men abmelden GDialCenter() Dialogbox zentrieren GDialFinish() Dialog beenden GDialInit() Dialogbox initialisieren GDialPrepare() Dialog vorbereiten GDialReset() Dialogdefinitionen zurcksetzen GDoAlert() Alertroutine GDoDialog() Dialog durchfhren GDragBox() Dragbox zeichnen GEndUpdate() Ende Update GFormDo() Formular-/Dialogverwaltung GFselInput() Dateiauswahlbox GGetParent() Parentobjekt ermitteln GGetText() Text ermitteln GListInit() Sliderelemente in der Gr”že anpassen GMapKey() Tastencode ermitteln bzw. auswerten GMArrow() Mauszeiger als Pfeil GMBusy() Mauszeiger als Biene/Stundenglas GMenuFind() Meneintrag zur Taste finden GMFCalculator() Mausform Taschenrechner GMFDiskDown() Mausform Diskette (abw„rts) GMFDiskUp() Mausform Diskette (aufw„rts) GMFFourArrow() Mausform FourArrow GMFHourglass() Mausform Hourglass GMFLeftArrow() Mausform LeftArrow GMFPencil() Mausform Stift GMFQuestionmark() Mausform Fragezeichen GMFRadar() Mausform Radar GMFSmiley() Mausform Smiley GMFTeacup() Mausform Teacup GMFTeddy() Mausform Teddy GMGet() Mausform vom Stack holen GMHand() Mauszeiger als flache Hand GMOff() Mauszeiger abschalten GMOn() Mauszeiger anschalten GMOutlinedcross() Mauszeiger als ausgeh”hltes Kreuz GMPointhand() Mauszeiger als zeigende Hand Handbuch Wega-Developer Kit 29 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ GMPut() Mausform auf Stack speichern GMRestore() Vorletzte Mauszeigerform setzen GMTextcursor() Mauszeiger als Textcursor GMThickcross() Mauszeiger als dickes Kreuz GMThincross() Mauszeiger als dnnes Kreuz GMUser() Mauszeiger als frei definierte Form GObjcChange() Objektstatus „ndern GObjcDraw() Objekt ausgeben GObjcRDraw() Objekt vom Rootobjekt aus ausgeben GOpenWorkstation() Virtuelle Workstation ”ffnen GPointEqual() šberprfung zweier Punkte auf Gleichheit GPointInRect() šberprfung, ob Punkt in einem Rechteck liegt GPopUp() Popup-Men ausgeben und verwalten GQChar() Zeichengr”žen abfragen GQDelay() Wartezeit abfragen GQSlide() Slidermodus abfragen GQ3DPossible() Abfrage, ob 3D-Darstellung m”glich GRectEqual() šberprfung zweier Rechtecke auf Gleichheit GRectIntersect() Gemeinsames Rechteck ermitteln GRectSurround() Ungebendes Rechteck ermitteln GRectToArray() Rechteck in Array umwandeln GRubberBox() Rubberbox zeichnen GScrpClr() Inhalt des Scrapverzeichnis l”schen GScrpRead() Zugriffspfad fr Scrapverzeichnis lesen GSetDesk() Defaultobjektbaum setzen GSetMenu() Men setzen GSetText() Text setzen GSet2DColor() Farben fr 2D-Darstellung setzen GSet3D() 3D-Effekte setzen GSet3DColor() Farben fr 3D-Darstellung setzen GSlideBox() Slidebox zeichnen GTreeWalk() Objektbaum abwandern GWegaInit() Wega initialisieren GWegaDone() Wega abmelden GXFormDo() Basis-Formularverwaltung GXPopUp() Popup-Men ausgeben und verwalten G3DTune() Objekte bzgl. der 3D-Effekte umwandeln G3DTuneBack() Objekte bzgl. der 3D-Effekte in 2D umwandeln Handbuch Wega-Developer Kit 30 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Konstanten ======================================================================== ACCESSORY APPLICATION BUBBLE_CENTER BUBBLE_RIGHT BUBBLE_LEFT BUBBLE_UPPER BUBBLE_LOWER BUBBLE_UPPERRIGHT BUBBLE_UPPERLEFT BUBBLE_LOWERRIGHT BUBBLE_LOWERLEFT CLR_2D_BACKGROUND CLR_2D_DISABLED CLR_2D_LINE CLR_2D_TEXT CLR_2D_TEXTLOW16 CLR_2D_TEXTLOW4 CLR_3D_BACKGROUND CLR_3D_FOREGROUND CLR_3D_LIGHT CLR_3D_SHADOW CNTR_AUTO CNTR_MOUSE CNTR_SCREEN CNTR_WORLD CNTR_FREE CNTRY_DEN CNTRY_FIN CNTRY_FRA CNTRY_FRG CNTRY_HOL CNTRY_ITA CNTRY_NOR CNTRY_SAU CNTRY_SPA CNTRY_SWE CNTRY_SWF CNTRY_SWG CNTRY_TUR CNTRY_UK CNTRY_USA ERR_BADFAT ERR_BADCHAR ERR_CANCEL ERR_DOUBLEDESTINATION ERR_EXTLENGTH ERR_NAMELENGTH ERR_NODRIVE ERR_NODESTINATION ERR_NOMEMORY ERR_NOSOURCE ERR_PATHLENGTH ERR_TIMESTAMP ERR_WRITE FALSE GEM_VERSION KEY_ALT0 KEY_ALT1 Handbuch Wega-Developer Kit 31 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ KEY_ALT2 KEY_ALT3 KEY_ALT4 KEY_ALT5 KEY_ALT6 KEY_ALT7 KEY_ALT8 KEY_ALT9 KEY_DOWN KEY_F1 KEY_F2 KEY_F3 KEY_F4 KEY_F5 KEY_F6 KEY_F7 KEY_F8 KEY_F9 KEY_F10 KEY_F11 KEY_F12 KEY_F13 KEY_F14 KEY_F15 KEY_F16 KEY_F17 KEY_F18 KEY_F19 KEY_F20 KEY_HELP KEY_HOME KEY_INSERT KEY_ISO KEY_LEFT KEY_RIGHT KEY_SF1 KEY_SF2 KEY_SF3 KEY_SF4 KEY_SF5 KEY_SF6 KEY_SF7 KEY_SF8 KEY_SF9 KEY_SF10 KEY_UNDO KEY_UP MAXFILE MAXFILEEXT MAXFILENAME MAXPATH MODE_CHANGE MODE_DELETE MODE_SET SL_EXPONENTIELL SL_KONSTANT SL_LINEAR SL_LOGARITHMISCH TRUE B_GEM Handbuch Wega-Developer Kit 32 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ B_NULL B_MIDI B_STDAUX B_STDERR B_STDOUT B_STDPRN Handbuch Wega-Developer Kit 33 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Makros ======================================================================== MakeObj() BuggyB() BuggyL() BuggyS() BuggyTrace() BuggyW() Handbuch Wega-Developer Kit 34 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Wega-Speicherfunktionen ======================================================================== MemAlloc() Speicher reservieren MemCompress() Speicher komprimieren MemExtract() Speicher expandieren/extrahieren MemFree() Speicher freigeben MemQuery() Gr”žten Speicherblock erfragen Handbuch Wega-Developer Kit 35 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Mausformen fr GMUser() ======================================================================== GMFCalculator() Mausform Taschenrechner GMFDiskDown() Mausform Diskette (abw„rts) GMFDiskUp() Mausform Diskette (aufw„rts) GMFFourArrow() Mausform FourArrow GMFHourglass() Mausform Hourglass GMFLeftArrow() Mausform LeftArrow GMFPencil() Mausform Stift GMFQuestionmark() Mausform Fragezeichen GMFRadar() Mausform Radar GMFSmiley() Mausform Smiley GMFTeacup() Mausform Teetasse GMFTeddy() Mausform Teddy Handbuch Wega-Developer Kit 36 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Tabelle der erweiterten Objekttypen ======================================================================== erweiterter | | Objekttyp | Basistyp | resultierende Darstellung -------------+-----------+---------------------------------------------- 1 ** | G_BOX, | Movebutton; Verschieben und Zentrieren einer | G_IBOX | Dialogbox 2 | G_BOXTEXT | Titelzeile; Gr”že, Position und Farbe werden | | angepažt 3 | G_BOX, | Programmicon | G_IBOX | 4 *** | G_STRING | Checkbox/Radiobox; Kreuzchen/runder Knopf, | | ggf. mit Shortcut 5 * | G_BUTTON | Groupbox; Titel und Rahmen setzen 6 ** | G_STRING | fetter Text 7 ** | G_STRING | unterstrichener Text 8 * | G_BOX, | horizontale Linie | G_IBOX | 9 *** | egal | vergr”žern; H”he des Objekts um 1/8 | | vergr”žern, ggf. mit Shortcut (nur G_BUTTON) 10 *** | G_BOXCHAR | Cyclebutton; Button mit Symbol fr zyklischen | | Wechsel bei PopUp-Mens (je nach | | SELECTED-Status unterschiedliche Richtung!) 11 * | G_BOX, | Pfeil von links nach rechts | G_IBOX | 12 * | G_BOX, | Pfeil von links unten nach rechts oben | G_IBOX | 13 * | G_BOX, | Pfeil von unten nach oben | G_IBOX | 14 * | G_BOX, | Pfeil von rechts unten nach links oben | G_IBOX | 15 * | G_BOX, | Pfeil von rechts nach links | G_IBOX | 16 * | G_BOX, | Pfeil von rechts oben nach links unten | G_IBOX | 17 * | G_BOX, | Pfeil von oben nach unten | G_IBOX | 18 * | G_BOX, | Pfeil von links oben nach rechts unten | G_IBOX | 19 ** | G_STRING | Text zentriert mit Strichen rechts und links 20 ** | G_STRING | Text im Blocksatz, wobei die Breite des | | Objekts relevant ist 21 * | G_STRING | Text schattiert 22 ** | G_STRING | Text unterstrichen (mit Bercksichtigung der | | Unterl„ngen) 23 * | G_BOX, | Movebutton als Eselsohr | G_IBOX | 24 ** | G_STRING | Shortcuttext, Text, bei dem ein Buchstabe | | unterstrichen wird 25 *** | G_BOXCHAR | Cyclebutton, wie Typ 10, jedoch nur fr | | Spiele o.„., 26 *** | G_STRING | Checkbox/Radiobox, wie Typ 4, jedoch nur fr | | Spiele o.„. 27 *** | G_STRING | Lampe, wie Typ 4 (haupts„chlich Checkbox), | | jedoch nur fr Spiele o.„. 28 *** | G_STRING | Schalter, wie Typ 4 (haupts„chlich Checkbox), | | jedoch nur fr Spiele o.„. 29 * | G_BUTTON | Groupbox, wie Typ 5, jedoch mit Ausgleich der | | Children 30 | egal | Verringerung der Breite um 1 Pixel Handbuch Wega-Developer Kit 37 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ 31 *** | G_STRING | Smiley, wie Typ 4 (haupts„chlich Checkbox), | | jedoch nur fr Spiele o.„. 32 *** | G_STRING | Haken, wie Typ 4 (haupts„chlich Checkbox) 33 *** | G_STRING | Pfeil, wie Typ 4 34 *** | G_BOXCHAR | Cyclebutton (Doppelpfeil), wie Typ 10 35 *** | G_BOXCHAR | Pfeil, Symbol fr Comboboxen 36 * | G_STRING | Effekttext 37 * | G_BOX, | punktierter Rahmen (2D), | G_IBOX | Schattenrahmen positiv (3D) 38 * | G_BOX, | punktierter Rahmen (2D), | G_IBOX | Schattenrahmen negativ (2D) 39 - 49 | - | reserviert 50 | egal | Sound 51 - 99 | - | reserviert 100 | egal | Anpassung der Breite 101 | egal | Anpassung der Breite und H”he 102 | egal | Anpassung der H”he Die Typen 1 bis 99 werden von GDialInit() ben”tigt, die Typen 100 bis 102 von GListInit(). S„mtliche erweiterte Typen werden nach dem Aufruf der entsprechenden Funktionen automatisch entfernt. Ein zweiter Aufruf hat folglich keinen Zweck. Fr interne Zwecke werden die erweiterten Typen 0x40, 0x80 und 0xD0 ben”tigt. Die oberen zwei Bits sind also ebenso reserviert. * Die gekennzeichneten Objekte sind 3D-f„hig. ** Eingeschr„nkt 3D-f„hig (nur Farbanpassung). *** 3D-f„hig bei Buttons mit Shortcut. * Der Status WHITEBAK wird bercksichtigt. Handbuch Wega-Developer Kit 38 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Wega-Systemfunktionen ======================================================================== OsConAttr() Tastataturattribute abfragen/setzen OsGetCookie() Cookie erfragen OsGetCountry() L„nderkennung ermitteln OsGetDate() TOS-Versionsdatum erfragen OsGetNmbFloppy() Anzahl der Diskettenlaufwerke ermitteln OsGetVersion() TOS-Version erfragen Handbuch Wega-Developer Kit 39 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Typen ======================================================================== BOOLEAN BYTE CHAR CBITBLK DLGINFO DSKFMTINFO FCOPYINFO FILEINFO GPOINT INFOVSCR INT KEY LONG PRG_BITBLK SHORT UBYTE UINT ULONG USHORT UWORD VOID WORD Handbuch Wega-Developer Kit 40 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Wega-Fensterfunktionen ======================================================================== WClose() Fenster schliežen WDraw() Fenster ausgeben WFull() Fenster auf volle Gr”že WMove() Fenster bewegen WObjcDraw() Fenster mit Objektbaum ausgeben WObjcRDraw() Fenster mit Objektbaum (ab Root) ausgeben WObjcRedraw() Fenster mit Objektbaum ausgeben WObjcRRedraw() Fenster mit Objektbaum (ab Root) ausgeben WObjcMove() Fenster mit Objektbaum bewegen WOpen() Fenster ”ffnen WRedraw() Fenster (neu) ausgeben WSetInfo() Informationszeile setzen WSetTitle() Titelzeile setzen WSize() Fenstergr”že ver„ndern WTop() Fenster nach oben bringen Handbuch Wega-Developer Kit 41 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! šbersichten ------------------------------------------------------------------------ Wega ======================================================================== Wega-Fensterfunktionen W...() Wega-Graphikfunktionen G...() Wega-Massenspeicherfunktionen F...() Wega-Speicherfunktionen Mem...() Wega-Systemfunktionen Os...() Buggy-Funktionen Handbuch Wega-Developer Kit 42 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ V. Konstanten ************* ACCESSORY ======================================================================== Name ACCESSORY Deklaration in wega.h Definition !_app Bedeutung Accessory Verweis Konstanten, APPLICATION Handbuch Wega-Developer Kit 43 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ APPLICATION ======================================================================== Name APPLICATION Deklaration in wega.h Definition _app Bedeutung Applikation Verweis Konstanten, ACCESSORY Handbuch Wega-Developer Kit 44 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ BUBBLE_... ======================================================================== Name |Deklara-|Definition|Beschreibung |tion in | | -----------------+--------+----------+----------------------- BUBBLE_CENTER |wega.h | 0x0 |Plazierung mittig BUBBLE_LEFT |wega.h | 0x1 |Plazierung links BUBBLE_RIGHT |wega.h | 0x2 |Plazierung rechts BUBBLE_UPPER |wega.h | 0x4 |Plazierung oben BUBBLE_LOWER |wega.h | 0x8 |Plazierung unten BUBBLE_UPPERRIGHT|wega.h | 0x5 |Plazierung oben rechts BUBBLE_UPPERLEFT |wega.h | 0x6 |Plazierung oben links BUBBLE_LOWERRIGHT|wega.h | 0x9 |Plazierung unten rechts BUBBLE_LOWERLEFT |wega.h | 0xA |Plazierung unten links Verweis Konstanten, GXBubble() Handbuch Wega-Developer Kit 45 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ CLR_... ======================================================================== Name |Deklaration in|Definition|Beschreibung -----------------+--------------+----------+----------------------- CLR_2D_TEXT |wega.h |BLACK |Textfarbe 2D CLR_2D_TEXTLOW16 |wega.h |LWHITE |Textfarbe 2D (niedrige | | |Aufl”sung, 16 Farben) CLR_2D_TEXTLOW4 |wega.h |GREEN |Textfarbe 2D (niedrige | | |Aufl”sung, 4 Farben) CLR_2D_BACKGROUND|wega.h |WHITE |Hintergrundfarbe 2D CLR_2D_DISABLED |wega.h |LWHITE |Farbe gesperrt 2D CLR_2D_LINE |wega.h |BLACK |Linienfarbe 2D | | | CLR_3D_FOREGROUND|wega.h |BLACK |Vordergrundfarbe 3D CLR_3D_BACKGROUND|wega.h |LWHITE |Hintergrundfarbe 3D CLR_3D_SHADOW |wega.h |LBLACK |Farbe Schatten 3D CLR_3D_LIGHT |wega.h |WHITE |Farbe beleuchtet 3D Verweis Konstanten, GSet2DColor(), GSet3DColor() Handbuch Wega-Developer Kit 46 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ CNTRY_... ======================================================================== Name |Deklaration in|Definition|L„nderkennung ---------+--------------+----------+-------------------------- CNTRY_USA|wega.h | 0 |USA CNTRY_FRG|wega.h | 1 |Bundesrepublik Deutschland CNTRY_FRA|wega.h | 2 |Frankreich CNTRY_UK |wega.h | 3 |Grožbritannien CNTRY_SPA|wega.h | 4 |Spanien CNTRY_ITA|wega.h | 5 |Italien CNTRY_SWE|wega.h | 6 |Schweden CNTRY_SWF|wega.h | 7 |Schweiz (franz”sisch) CNTRY_SWG|wega.h | 8 |Schweiz (deutsch) CNTRY_TUR|wega.h | 9 |Trkei CNTRY_FIN|wega.h | 10 |Finnland CNTRY_NOR|wega.h | 11 |Norwegen CNTRY_DEN|wega.h | 12 |D„nemark CNTRY_SAU|wega.h | 13 |Saudi-Arabien CNTRY_HOL|wega.h | 14 |Niederlande Verweis Konstanten, OsGetCountry() Handbuch Wega-Developer Kit 47 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ CNTR_... ======================================================================== Name |Deklaration in|Definition|Beschreibung -----------+--------------+----------+------------------------------- CNTR_SCREEN|wega.h | 0 |bezglich Bildschirm zentrieren CNTR_MOUSE |wega.h | 1 |bezglich Mauszeiger zentrieren CNTR_WORLD |wega.h | 2 |bezglich Ausschnitt zentrieren CNTR_AUTO |wega.h | 3 |laut WEGA.CPX-Einstellung | | | zentrieren CNTR_FREE |wega.h | 4 |frei positionieren Verweis Konstanten, GDialCenter() Handbuch Wega-Developer Kit 48 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ Name CONST Deklaration in portab.h Definition const Bedeutung Konstante Bemerkung Eine Verwendung dieser Bezeichnung aus Portabilit„tsgrnden ist nicht notwendig. Handbuch Wega-Developer Kit 49 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ ERR_... ======================================================================== Name |Deklara-|Defini-|Bedeutung |tion in |tion | ---------------------+--------+-------+--------------------------------- ERR_NOMEMORY |wega.h | 1 |kein Speicher reservierbar ERR_NOSOURCE |wega.h | 2 |keine Quelldatei ERR_NODESTINATION |wega.h | 3 |keine Zieldatei ERR_WRITE |wega.h | 4 |Schreibfehler ERR_CANCEL |wega.h | 5 |Funktion wurde abgebrochen ERR_DOUBLEDESTINATION|wega.h | 6 |Zieldatei schon vorhanden ERR_TIMESTAMP |wega.h | 7 |Zeitpunkt nicht „nderbar ERR_NODRIVE |wega.h | 8 |kein passendes Laufwerk angegeben ERR_BADFAT |wega.h | 9 |FAT zu grož oder anderweitig | | | nicht passend gew„hlt ERR_PATHLENGTH |wega.h | 99 |Pfad zu lang ERR_NAMELENGTH |wega.h | -1 |Dateiname zu lang | | | (bei Namensberprfung) ERR_EXTLENGTH |wega.h | -2 |Extension zu lang | | | (bei Namensberprfung) ERR_BADCHAR |wega.h | -3 |Ungltige Zeichen im Dateinamen | | | (bei Namensberprfung) Verweis Konstanten Handbuch Wega-Developer Kit 50 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ Name EXTERN Deklaration in portab.h Definition extern Bedeutung externe Variable Bemerkung Eine Verwendung dieser Bezeichnung aus Portabilit„tsgrnden ist nicht notwendig. Handbuch Wega-Developer Kit 51 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ FALSE ======================================================================== Name FALSE Deklaration in portab.h Definition 0 Bedeutung falsch Verweis Konstanten, BOOLEAN, TRUE Handbuch Wega-Developer Kit 52 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ GEM_VERSION ======================================================================== Name GEM_VERSION Deklaration in wega.h Definition _GemParBlk.global[0] Bedeutung GEM-Versionsnummer Verweis Konstanten Handbuch Wega-Developer Kit 53 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ Name GLOBAL Deklaration in portab.h Definition - Bedeutung globale Variable Bemerkung Eine Verwendung dieser Bezeichnung aus Portabilit„tsgrnden ist nicht notwendig. Handbuch Wega-Developer Kit 54 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ KEY_... ======================================================================== Name |Deklara-|Defini-|Bedeutung |tion in |tion | ----------+--------+-------+-------------------------------------------- KEY_ISO |wega.h | 0x37 |ISO-Taste, tritt auf, wenn ein Nicht-US- | | | Keyboard mit US-TOS benutzt wird KEY_F1 |wega.h | 0x3b |Funktionstaste 1, F1 KEY_F2 |wega.h | 0x3c |Funktionstaste 2, F2 KEY_F3 |wega.h | 0x3d |Funktionstaste 3, F3 KEY_F4 |wega.h | 0x3e |Funktionstaste 4, F4 KEY_F5 |wega.h | 0x3f |Funktionstaste 5, F5 KEY_F6 |wega.h | 0x40 |Funktionstaste 6, F6 KEY_F7 |wega.h | 0x41 |Funktionstaste 7, F7 KEY_F8 |wega.h | 0x42 |Funktionstaste 8, F8 KEY_F9 |wega.h | 0x43 |Funktionstaste 9, F9 KEY_F10 |wega.h | 0x44 |Funktionstaste 10, F10 KEY_F11, |wega.h | 0x54 |Funktionstaste 11, F11, SHIFT+, sF1 KEY_SF1 | | | KEY_F12, |wega.h | 0x55 |Funktionstaste 12, F12, SHIFT+, sF2 KEY_SF2 | | | KEY_F13, |wega.h | 0x56 |Funktionstaste 13, F13, SHIFT+, sF3 KEY_SF3 | | | KEY_F14, |wega.h | 0x57 |Funktionstaste 14, F14, SHIFT+, sF4 KEY_SF4 | | | KEY_F15, |wega.h | 0x58 |Funktionstaste 15, F15, SHIFT+, sF5 KEY_SF5 | | | KEY_F16, |wega.h | 0x59 |Funktionstaste 16, F16, SHIFT+, sF6 KEY_SF6 | | | KEY_F17, |wega.h | 0x5a |Funktionstaste 17, F17, SHIFT+, sF7 KEY_SF7 | | | KEY_F18, |wega.h | 0x5b |Funktionstaste 18, F18, SHIFT+, sF8 KEY_SF8 | | | KEY_F19, |wega.h | 0x5c |Funktionstaste 19, F19, SHIFT+, sF9 KEY_SF9 | | | KEY_F20, |wega.h | 0x5d |Funktionstaste 20, F20, SHIFT+, sF10 KEY_SF10 | | | KEY_UNDO |wega.h | 0x61 |Taste KEY_HELP |wega.h | 0x62 |Taste KEY_INSERT|wega.h | 0x52 |Taste KEY_HOME |wega.h | 0x47 |Taste KEY_UP |wega.h | 0x48 |Taste <^> KEY_DOWN |wega.h | 0x50 |Taste KEY_LEFT |wega.h | 0x4b |Taste <<> KEY_RIGHT |wega.h | 0x4d |Taste <>> KEY_ALT1 |wega.h | 0x78 |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<1>! KEY_ALT2 |wega.h | 0x79 |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<2>! KEY_ALT3 |wega.h | 0x7a |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<3>! KEY_ALT4 |wega.h | 0x7b |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<4>! KEY_ALT5 |wega.h | 0x7c |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<5>! KEY_ALT6 |wega.h | 0x7d |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<6>! KEY_ALT7 |wega.h | 0x7e |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<7>! KEY_ALT8 |wega.h | 0x7f |Taste , Bemerkung: Nicht zu Handbuch Wega-Developer Kit 55 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ | | | verwechseln mit ALTERNATE+<8>! KEY_ALT9 |wega.h | 0x80 |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<9>! KEY_ALT0 |wega.h | 0x81 |Taste , Bemerkung: Nicht zu | | | verwechseln mit ALTERNATE+<0>! Verweis Konstanten, GMapKey() Handbuch Wega-Developer Kit 56 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ Name LOCAL Deklaration in portab.h Definition auto Bedeutung lokale Variable Bemerkung Eine Verwendung dieser Bezeichnung aus Portabilit„tsgrnden ist nicht notwendig. Handbuch Wega-Developer Kit 57 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ MAXFILE ======================================================================== Name MAXFILE Deklaration in wega.h Definition 12 Bedeutung maximale Dateinamenl„nge Verweis Konstanten Handbuch Wega-Developer Kit 58 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ MAXFILEEXT ======================================================================== Name MAXFILEEXT Deklaration in wega.h Definition 3 Bedeutung maximale L„nge der Dateinamenerweiterung (Extension) Verweis Konstanten Handbuch Wega-Developer Kit 59 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ MAXFILENAME ======================================================================== Name MAXFILENAME Deklaration in wega.h Definition 8 Bedeutung maximale L„nge des Dateinamens (ohne Extension) Verweis Konstanten Handbuch Wega-Developer Kit 60 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ MAXPATH ======================================================================== Name MAXPATH Deklaration in wega.h Definition 256 Bedeutung maximale Pfadl„nge Verweis Konstanten Handbuch Wega-Developer Kit 61 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ Name MLOCAL Deklaration in portab.h Definition static Bedeutung statische Variable Bemerkung Eine Verwendung dieser Bezeichnung aus Portabilit„tsgrnden ist nicht notwendig. Handbuch Wega-Developer Kit 62 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ MODE_... ======================================================================== Name |Deklaration in|Definition|Beschreibung -----------+--------------+----------+-------------------------- MODE_SET |wega.h | 0 |Status oder Flags setzen MODE_DELETE|wega.h | 1 |Status oder Flags l”schen MODE_CHANGE|wega.h | 2 |Status oder Flags umkehren Verweis Konstanten, GChgFlags(), GChgState() Handbuch Wega-Developer Kit 63 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ Name REG Deklaration in portab.h Definition register Bedeutung Register-Variable Bemerkung Eine Verwendung dieser Bezeichnung aus Portabilit„tsgrnden ist nicht notwendig. Handbuch Wega-Developer Kit 64 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ SL_... ======================================================================== Name |Deklaration in|Definition|Beschreibung ----------------+--------------+----------+----------------------- SL_EXPONENTIELL |wega.h | 0 |exponentielle Bewegung SL_LINEAR |wega.h | 1 |lineare Bewegung SL_LOGARITHMISCH|wega.h | 2 |logarithmische Bewegung SL_KONSTANT |wega.h | 3 |konstante Bewegung Verweis Konstanten, GQSlide() Handbuch Wega-Developer Kit 65 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Konstanten ------------------------------------------------------------------------ TRUE ======================================================================== Name TRUE Deklaration in portab.h Definition !FALSE Bedeutung wahr Verweis Konstanten, BOOLEAN, FALSE Handbuch Wega-Developer Kit 66 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Makros ------------------------------------------------------------------------ VI. Makros ********** Objektbaumadresse und Objektindex zu Objektadresse umwandeln ======================================================================== Definition MakeObj(tree, obj)((tree) + (obj)) Deklaration in wega.h Aufruf OBJECT *pobj, *tree; WORD obj; pobj = MakeObj(tree, obj); Beispiel Dialog Verwendung bei diversen Funktionen ntzlich Beschreibung Wandelt Objektbaumadressen in Verbindung mit einem Index aus dem Objektbaum zu einem Pointer auf das betreffende Objekt um. Parameter tree Objektbaum, obj Objektindex. Verweis Makros Handbuch Wega-Developer Kit 67 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ VII. Typen ********** Boole'sche Variable ======================================================================== typedef enum { true = TRUE, false = FALSE } BOOLEAN; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Enth„lt die beiden boole'schen Werte wahr und falsch, die bei einigen Funktionen notwendig sind. Verweis Typen Handbuch Wega-Developer Kit 68 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Byte (vorzeichenbehaftet) ======================================================================== typedef signed char BYTE; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Byte (8 Bit) mit Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 69 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Color-Bitblock ======================================================================== typedef struct _cbitblk { BITBLK bitblk; /* BITBLK-Struktur fr eine Farbebene */ struct _cbitblk *next; /* n„chste Farbebene (oder NULL) */ } CBITBLK; Definition in wega.h Verwendung GDoAlert(), GBitblk... Beschreibung Enth„lt die BITBLK-Information fr jede Farbebene (fr Sinnbild bei Alertboxen). Verweis Typen Handbuch Wega-Developer Kit 70 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Character ======================================================================== typedef unsigned char CHAR; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Character Verweis Typen Handbuch Wega-Developer Kit 71 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Dialog-Information ======================================================================== typedef struct { OBJECT *tree; GRECT start; GRECT size; GRECT world; MFDB background; struct { UINT autosave : 1; UINT growshrink : 1; UINT centermode : 4; } status; } DLGINFO; Definition in wega.h Verwendung Interne Struktur zur Verwaltung der Dialogboxen Verweis Typen Handbuch Wega-Developer Kit 72 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Formatierinformation Diskette ======================================================================== typedef struct { WORD sides; /* Gesamtanzahl Seiten */ WORD tracks; /* Gesamtanzahl Tracks */ WORD done; /* Angabe in Promille */ CHAR akt_drive; /* aktuelles Laufwerk */ WORD akt_side; /* aktuelle Seite */ WORD akt_track; /* aktueller Track */ WORD form_tracks; /* Anzahl bereits formatierter Tracks */ } DSKFMTINFO; Definition in wega.h Verwendung beim Formatieren von Disketten Beschreibung Enth„lt Angaben zu der gerade zu formatierenden Diskette. Die Gesamtzahl der Seiten bzw. Tracks gibt einen šberblick, wieviel pro Diskette zu erledigen ist. Der Wert done spiegelt den Grad wieder, wie weit der Formatiervorgang fortgeschritten ist. Die Werte akt_... bezeichnen das aktuelle Laufwerk (A oder B falls gltig, sonst ' '), die aktuelle Seite (1 oder 2 falls gltig, sonst 0) und den aktuellen Track (1 bis tracks falls gltig, sonst 0). Form_tracks besagt, wieviele Tracks bereits formatiert sind. Verweis Typen Handbuch Wega-Developer Kit 73 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Kopierinformation Datei ======================================================================== typedef struct { CHAR *source; /* Quelldatei */ CHAR *destination; /* Zieldatei */ ULONG size; /* Gr”že der Datei */ ULONG read; /* gelesene Byte */ ULONG written; /* geschriebene Byte */ } FCOPYINFO; Definition in wega.h Verwendung beim Kopieren oder Bewegen von Dateien Beschreibung Enth„lt Angaben zu gerade kopierten Datei. Dazu geh”ren Name der Quell- und der Zieldatei, Gr”že der Datei in Byte, Anzahl der gelesenen und geschriebenen Byte. Verweis Typen Handbuch Wega-Developer Kit 74 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Datei- oder Ordnerinformation ======================================================================== typedef struct { CHAR *path, /* Pfad (mit Wildcard) */ *name; /* Name der Datei */ ULONG size; /* Gr”že */ union { UWORD idate; /* Datum */ struct { UINT year : 7; /* +1980! */ UINT month : 4; UINT day : 5; } date; } udate; union { UWORD itime; /* Uhrzeit */ struct { UINT hours : 5; UINT minutes : 6; UINT twosecs : 5; /* *2! */ } time; } utime; union { UBYTE cattrib; /* Attribute */ struct { UINT filler : 2; UINT archives : 1; UINT folder : 1; UINT volume : 1; UINT system : 1; UINT hidden : 1; UINT readonly : 1; } attrib; } uattrib; } FILEINFO; Definition in wega.h Verwendung beim Aufruf des Verzeichnisbaums Beschreibung Enth„lt zu einem Verzeichniseintrag notwendigen Informati- onen wie Pfad, Name, Gr”že oder letzten Žnderungszeit- punkt. Verweis Typen Handbuch Wega-Developer Kit 75 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Punkt ======================================================================== typedef struct { WORD g_x; WORD g_y; } GPOINT; Definition in wega.h Verwendung bei diversen Funktionen Beschreibung Enth„lt die Daten eines Punkts („hnlich GRECT). Verweis Typen Handbuch Wega-Developer Kit 76 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Information "Virtual Screen" ======================================================================== typedef struct { LONG cookie; /* muž "VSCR" sein */ LONG product; /* Analog zur XBRA-Kennung */ WORD version; /* Version des VSCR-Protokolls */ GRECT visible; /* Sichtbarer Bildschirmausschnitt */ } INFOVSCR; Definition in wega.h Verwendung Abfrage des sichtbaren Bildschirmausschnitts Beschreibung Einen Zeiger auf diese Struktur erh„lt man ber den Cookie VSCR. Die Struktur kann ausgenutzt werden, um beispiels- weise Dialogboxen bezglich des sichtbaren Bildschirm- ausschnitts zu plazieren. Verweis Typen Handbuch Wega-Developer Kit 77 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Integer (vorzeichenbehaftet) ======================================================================== typedef signed int INT; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Integer mit Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 78 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Tasteninformation ======================================================================== typedef struct { struct { INT scancode : 1; INT numeric : 1; INT alternate : 1; INT control : 1; INT lshift : 1; INT rshift : 1; } state; CHAR key; } KEY; Definition in wega.h Verwendung bei der Auswertung von Tastencodes Beschreibung Enth„lt Angaben zu der gedrckten Taste: scancode: Scan- oder ASCII-Code, numeric: numerischer Tastaturblock, alternate: Alternate-Taste, control: Control-Taste, lshift: linke Shift-Taste, rshift: rechte Shift-Taste, key: ASCII-Zeichen (falls m”glich) Verweis Typen Handbuch Wega-Developer Kit 79 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Long (vorzeichenbehaftet) ======================================================================== typedef signed long LONG; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Long (32 Bit) mit Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 80 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Programmbitbl”cke ======================================================================== typedef struct { BITBLK *blk_8x16; BITBLK *blk_16x16; } PRG_BITBLK; Definition in wega.h Verwendung bei der Initialisierung einer Dialogbox Beschreibung Enth„lt die Adressen zweier Bitbl”cke in der Gr”že 8 x 16 und 16 x 16 Pixel, die in der Dialogbox je nach Monitoraufl”sung gesetzt werden. Verweis Typen Handbuch Wega-Developer Kit 81 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Short (vorzeichenbehaftet) ======================================================================== typedef signed short SHORT; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Short (16 Bit) mit Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 82 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Byte (nicht vorzeichenbehaftet) ======================================================================== typedef unsigned char UBYTE; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Byte (8 Bit) ohne Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 83 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Integer (nicht vorzeichenbehaftet) ======================================================================== typedef unsigned int UINT; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Integer ohne Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 84 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Long (nicht vorzeichenbehaftet) ======================================================================== typedef unsigned long ULONG; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Long (32 Bit) ohne Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 85 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Short (nicht vorzeichenbehaftet) ======================================================================== typedef unsigned short USHORT; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Short (16 Bit) ohne Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 86 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Word (nicht vorzeichenbehaftet) ======================================================================== typedef unsigned int UWORD; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Word (16 Bit) ohne Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 87 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Void ======================================================================== typedef void VOID; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Void (quasi typenlos) Verweis Typen Handbuch Wega-Developer Kit 88 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Typen ------------------------------------------------------------------------ Word (vorzeichenbehaftet) ======================================================================== typedef signed int WORD; Definition in portab.h Verwendung bei diversen Funktionen Beschreibung Word (16 Bit) mit Vorzeichen Verweis Typen Handbuch Wega-Developer Kit 89 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ VIII. Dateifunktionen ********************* Pfad aufbauen ======================================================================== Definition WORD FBuildFolder(const CHAR *path); Prototyp in wega.h Aufruf CHAR path[MAXPATH + 1]; WORD ret; ret = FBuildFolder(path); if(ret) { ... } Verwendung Pfad aufbauen Beschreibung Diese Funktion legt alle zu dem angegebenen Pfad geh”ri- gen Ordner an. Parameter path Pfad (mit oder ohne angeh„ngten Dateinamen). Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen, Dcreate() Handbuch Wega-Developer Kit 90 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Dateinamen berprfen ======================================================================== Definition WORD FChkName(CHAR *name); Prototyp in wega.h Aufruf CHAR name[MAXFILE + 1]; WORD ret; ret = FChkName(name); if(ret) { ... } else { ... } Verwendung Dateinamen auf Korrektheit berprfen Beschreibung Der angegebene Dateiname wird auf Korrektheit hin ber- prft. Hierbei werden sowohl die L„ngen des Namens als auch die der Extension beachtet. Ferner berprft die Funktion s„mtliche Zeichen des Namens, ob diese berhaupt in Datei- namen enthalten sein drfen. Parameter name zu berprfender Dateiname. (Der Dateiname wird teil- weise korrigiert zurckgeliefert! Falsche Zeichen sind durch Fragezeichen ersetzt.) Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 91 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Dateiname vervollst„ndigen ======================================================================== Definition WORD FComplete(CHAR *dest, CHAR *srce); Prototyp in wega.h Aufruf CHAR srcefile[MAXPATH + 1], destfile[MAXPATH + 1]; WORD ret; ret = FComplete(destfile, srcefile); if(ret) { ... } Verwendung Dateinamen vervollst„ndigen (Pfad und Laufwerksangabe) Beschreibung Die Funktion vervollst„ndigt den in srcefile angegebenen Namen. Es ist gleichgltig, ob es sich um einen Datei- oder Ordnernamen handelt. Wird ein Leerstring bergeben, so er- h„lt man lediglich den aktuellen Pfad (mit Laufwerksangabe) zurck. Parameter srcefile zu vervollst„ndigender Dateiname, destfile vollst„ndiger Dateiname mit Pfad und Laufwerks- angabe. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 92 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Diskette formatieren ======================================================================== Definition WORD FDiskFormat(WORD drive, WORD sides, WORD tracks, WORD sectors, WORD clustersize, WORD fatsize, WORD dirsize, const CHAR *name, BOOLEAN (*dinfo)(DSKFMTINFO *dskinfo, VOID *data), VOID *data); Prototyp in wega.h Aufruf BOOLEAN (*info)(DSKFMTINFO*, VOID*); WORD drive, ret; ret = FDiskFormat(0x1, 2, 80, 9, 2, 3, 7, "DISKETTE", info, NULL); if(ret) { ... } Verwendung Diskette formatieren Beschreibung Mit dieser Funktion wird eine Diskette in dem angegebenen Format formatiert. Parameter drive Laufwerks (Bit 0: A, Bit 1: B), sides Seiten (1 oder 2), tracks Tracks (in der Regel 80), sectors Sektoren pro Track (in der Regel 9, 10 oder 18), clustersize Clustergr”že in Sektoren (in der Regel 1 oder 2), fatsize Fatgr”že in Sektoren (in der Regel 3, 5 oder 9), dirsize Wurzelverzeichnisgr”že in Sektoren (in der Regel 7), name Name der Diskette, dinfo Informationsfunktion, die ber den aktuellen Stand der Formatierung informiert, wobei bei einem Rckgabewert TRUE die Formatierung abgebrochen wird, data Adresse von Daten, die an die Funktion dinfo durchgereicht wird. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Bemerkung Hier noch einmal eine Zusammenstellung g„ngiger Formate: Parameter sides tracks sectors clusters. fatsize dirsize Handbuch Wega-Developer Kit 93 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Format TOS 1/2 80 9 2 5 7* TOS (Va. 1) 1/2 80 10 2 3 7 TOS (Va. 2) 1/2 80 10 2 5 7 TOS (Va. 3) 1/2 82 10 2 3 1-7** DOS 0,72 MB 1/2 80 9 2 3 7 DOS 1,44 MB 2 80 18 1 9 7 OS/2 2 80 18 1 9 7 Ein zur DOS oder OS/2 kompatibles Format kann unter TOS grunds„tzlich nur mit Einschr„nkungen formatiert werden. Die Lesbarkeit der Disketten unter TOS bzw. DOS oder OS/2 wird jedoch erreicht. * Dieses Format ist das Standardformat unter TOS. ** Mit 82 Tracks formatierte Disketten funktionieren nur dann, wenn das entsprechende Laufwerk diese Tracks an- sprechen kann. In der Regel funktioniert dies. In Aus- nahmef„llen k”nnte jedoch die Hardware (Diskettenlauf- werk) gesch„digt werden. Verweis Wega-Massenspeicherfunktionen, Flopfmt(), Floprd(), Flopwr(), Protobt() Handbuch Wega-Developer Kit 94 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Existenz einer Datei prfen ======================================================================== Definition WORD FExists(const CHAR *name); Prototyp in wega.h Aufruf CHAR file[MAXPATH + 1]; WORD ret; ret = FExists(file); if(ret) { ... } else { ... } Verwendung Datei (auch mit Wildcards) auf Existenz prfen Beschreibung Die Funktion berprft, ob eine bestimmte Datei existiert. Parameter file Dateiname (auch mit Pfad) oder Maske. Rckgabe 0, falls keine Datei existiert, !=0, sonst. Verweis Wega-Massenspeicherfunktionen, Fsfirst() Handbuch Wega-Developer Kit 95 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Datei kopieren ======================================================================== Definition WORD FFileCopy(CHAR *dest, CHAR *srce, BOOLEAN (*info)(FCOPYINFO *fci, VOID *data), VOID *data); Prototyp in wega.h Aufruf CHAR srcefile[MAXPATH + 1], destfile[MAXPATH + 1]; BOOLEAN (*info)(FCOPYINFO*, VOID*); WORD ret; ret = FFileCopy(destfile, srcefile, info, NULL); if(ret) { ... } Verwendung Datei kopieren Beschreibung Die Funktion kopiert die in srcefile angegebene Datei nach destfile, wobei der Zielname nicht angegeben werden muž. Wird er nicht angegeben, so wird automatisch der Name der Quelldatei genommen. Eine Angabe des Zielpfads ist jedoch immer sinnvoll. Die Informationsfunktion informiert darber, wie weit der Kopiervorgang fortgeschritten ist. Parameter srcefile Dateiname der Quelldatei (mit Pfadangabe), destfile Dateiname der Zieldatei oder nur Pfadangabe, info Adresse einer Funktion, die w„hrend des Kopier- vorgangs zur Information aufgerufen werden soll (oder NULL, wenn dies nicht gewnscht ist). Wird von der Informationsfunktion TRUE zurckgegeben, so wird der Kopiervorgang abgebrochen, data Adresse von Daten, die an die Funktion info durchgereicht wird. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 96 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Datei bewegen ======================================================================== Definition WORD FFileMove(CHAR *dest, CHAR *srce, BOOLEAN (*info)(FCOPYINFO *fci, VOID *data), VOID *data); Prototyp in wega.h Aufruf CHAR srcefile[MAXPATH + 1], destfile[MAXPATH + 1]; BOOLEAN (*info)(FCOPYINFO*, VOID*); WORD ret; ret = FFileMove(destfile, srcefile, info, NULL); if(ret) { ... } Verwendung Datei bewegen Beschreibung Die Funktion bewegt die in srcefile angegebene Datei nach destfile, wobei der Zielname nicht angegeben werden muž. Wird er nicht angegeben, so wird automatisch der Name der Quelldatei genommen. Eine Angabe des Zielpfads ist jedoch immer n”tig. Die Informationsfunktion informiert darber, wie weit der Bewegungsvorgang fortgeschritten ist. Parameter srcefile Dateiname der Quelldatei (mit Pfadangabe), destfile Dateiname der Zieldatei oder nur Pfadangabe, info Adresse einer Funktion, die w„hrend des Bewe- gungsvorgangs zur Information aufgerufen werden soll (oder NULL, wenn dies nicht gewnscht ist). Wird von der Informationsfunktion TRUE zurckge- geben, so wird der Bewegungsvorgang abgebrochen, data Adresse von Daten, die an die Funktion info durchgereicht wird. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 97 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Ordner kopieren ======================================================================== Definition WORD FFolderCopy(CHAR *dest, CHAR *srce, BOOLEAN (*info)(FCOPYINFO *fci, VOID *data), VOID *data); Prototyp in wega.h Aufruf CHAR srcefldr[MAXPATH + 1], destfldr[MAXPATH + 1]; BOOLEAN (*info)(FCOPYINFO*, VOID*); WORD ret; ret = FFolderCopy(destfldr, srcefldr, info, NULL); if(ret) { ... } Verwendung Ordner kopieren Beschreibung Die Funktion kopiert den in srcefldr angegebenen Ordner (natrlich mit den darin enthaltenen Dateien) nach destfldr, wobei der Zielname nicht angegeben werden muž. Wird er nicht angegeben, so wird automatisch der Name des Quellordners genommen. Eine Angabe des Zielpfads ist jedoch immer sinnvoll. Die Informationsfunktion informiert darber, wie weit der Kopiervorgang fortgeschritten ist. Parameter srcefldr Ordnername des Quellordners (mit Pfadangabe), destfldr Ordnername des Zielordners oder nur Pfadangabe, info Adresse einer Funktion, die w„hrend des Kopier- vorgangs zur Information aufgerufen werden soll (oder NULL, wenn dies nicht gewnscht ist). Wird von der Informationsfunktion TRUE zurckgegeben, so wird der Kopiervorgang abgebrochen, data Adresse von Daten, die an die Funktion info durchgereicht wird. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 98 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Mediachange ======================================================================== Definition WORD cdecl FMediach(WORD drive); Prototyp in wega.h Aufruf WORD ret, drive; ret = FMediach(drive - 'A'); if(ret) { ... } Verwendung Mediachange provozieren Beschreibung Die Funktion bewirkt, daž das System annimmt, daž das Massenspeichermedium auf dem angegebenen Laufwerk ge- wechselt wurde. Parameter drive Laufwerk (0 = A, 1 = B, ...). Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 99 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Dateiname aufsplitten ======================================================================== Definition WORD FSplit(CHAR *drive, CHAR *path, CHAR *name, CHAR *extension, CHAR *filename); Prototyp in wega.h Aufruf CHAR filename[MAXPATH + 1], drive[4], path[MAXPATH + 1], name[MAXFILENAME + 1], extension[MAXFILEEXT + 1]; WORD ret; ret = FSplit(drive, path, name, extension, filename); if(ret) { ... } Verwendung Dateinamen (vervollst„ndigen und) aufsplitten Beschreibung Der mit filename bergebene Dateiname wird vervollst„ndigt und in seine Bestandteile aufgesplittet. Zurckgegeben wird die Laufwerksangabe, der Pfad, der Dateiname und die Extension. Parameter drive Puffer fr Laufwerksangabe, path Puffer fr Pfadangabe, name Puffer fr Dateiname, extension Puffer fr Extension, filename Dateiname. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 100 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Dateiname aufsplitten ======================================================================== Definition WORD FSplit2(CHAR *drive, CHAR *path, CHAR *name, CHAR *filename); Prototyp in wega.h Aufruf CHAR filename[MAXPATH + 1], drive[4], path[MAXPATH + 1], name[MAXFILE + 1]; WORD ret; ret = FSplit2(drive, path, name, filename); if(ret) { ... } Verwendung Dateinamen (vervollst„ndigen und) aufsplitten Beschreibung Der mit filename bergebene Dateiname wird vervollst„ndigt und in seine Bestandteile aufgesplittet. Zurckgegeben wird die Laufwerksangabe, der Pfad und der Dateiname. Parameter drive Puffer fr Laufwerksangabe, path Puffer fr Pfadangabe, name Puffer fr Dateiname, filename Dateiname. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen Handbuch Wega-Developer Kit 101 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Dateifunktionen ------------------------------------------------------------------------ Verzeichnisbaum durchlaufen ======================================================================== Definition WORD FTree(const CHAR *lpath, UWORD nmb_fldrwcard, CHAR **fldrwcard, UWORD nmb_filewcard, CHAR **filewcard, BOOLEAN (*mwfile)(FILEINFO *finfo, VOID *data), VOID *data); Prototyp in wega.h Aufruf CHAR *folders[] = {"*.*"}, *files[] = {"*.APP", "*.PRG", "*.GTP"}; WORD ret; BOOLEAN (*info)(FILEINFO*, VOID*); ret = FTree("C:\", 1, folders, 3, files, info, NULL); if(ret) { ... } Verwendung Verzeichnisbaum durchlaufen Beschreibung Die Funktion durchl„uft einen vollen Verzeichnisbaum und ruft fr jeden gefundenen Ordner bzw. jede gefundene Datei die Funkion mwfile auf. Gibt die Funktion mwfile den Wert TRUE zurck, so wird die weitere Suche abgebrochen. Es wird nicht darauf geachtet, ob eine Datei zu mehreren der ange- gebenen Masken pažt! Dateien, die sich in Ordnern befinden, deren Namen nicht zu der Maske pažt, werden nicht gefunden! Parameter lpath Pfad, ab dem hierarchisch abw„rts gesucht werden soll, nmb_fldrwcard Anzahl der zu beachtenden Masken fr die Ordner, fldrwcard Masken fr die zu suchenden Ordner, nmb_filewcard Anzahl der zu beachtenden Masken fr die Dateien, filewcard Masken fr die zu suchenden Dateien, mwfile Funktion, die fr jede gefundene Datei bzw. fr jeden gefundenen Ordner aufgerufen wird, data Adresse auf Daten, die an die Funktion mwfile durchgereicht wird. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Massenspeicherfunktionen, Fsfirst(), Fsnext() Handbuch Wega-Developer Kit 102 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ IX. Graphikfunktionen ********************* Konvertierung in 3D-Darstellung ======================================================================== Definition BOOLEAN G3DTune(OBJECT *tree, WORD startobj, BOOLEAN set3D); Prototyp in wega.h Aufruf G3DTune(tree, ROOT, TRUE); Verwendung Konvertierung in 3D-Darstellung Beschreibung Die Funktion wandelt alle nicht von Wega verwalteten Objekte bezogen auf die Farben so um, daž eine Darstellung mit 3D-Effekten erfolgen kann. Hierbei wird weiž in die 3D-Hintergrundfarbe und schwarz in die 3D-Vordergrundfarbe umgewandelt. Leere Muster werden zudem in vollfl„chige Muster konvertiert, damit die Farben bercksichtigt werden k”nnen. Parameter tree Objektbaum, der konvertiert werden soll, startobj Objekt, ab dem die Konvertierung erfolgen soll, set3D Flag, welches angibt, ob der Status DRAW3D gesetzt werden soll. Verweis Wega-Graphikfunktionen, 3D, GSet3D(), G3DTuneBack(), GQ3DPossible(), GSet3DColor() Handbuch Wega-Developer Kit 103 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Konvertierung von 3D- in 2D-Darstellung ======================================================================== Definition BOOLEAN G3DTuneBack(OBJECT *tree, WORD startobj, BOOLEAN set3D); Prototyp in wega.h Aufruf G3DTuneBack(tree, ROOT, TRUE); Verwendung Konvertierung von 3D- in 2D-Darstellung Beschreibung Die Funktion wandelt alle nicht von Wega verwalteten Objekte bezogen auf die Farben so um, daž eine Darstellung mit 2D-Effekten erfolgen kann. Hierbei wird die 3D-Hintergrundfarbe in weiž und in die 3D-Vordergrundfarbe in schwarz umgewandelt. Vollf„chige Muster werden zudem in leere Muster konvertiert. Parameter tree Objektbaum, der konvertiert werden soll, startobj Objekt, ab dem die Konvertierung erfolgen soll, set3D Flag, welches angibt, ob der Status DRAW3D entfernt werden soll. Verweis Wega-Graphikfunktionen, 3D, G3DTune(), GSet3D(), GQ3DPossible(), GSet3DColor() Handbuch Wega-Developer Kit 104 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Array in Rechteck umwandeln ======================================================================== Definition VOID GArrayToRect(GRECT *g, WORD *xy); Prototyp in wega.h Aufruf GRECT g; WORD a[4]; GArrayToRect(&g, a); Verwendung Array in Rechteck umwandeln Beschreibung Die Funktion wandeln ein Array (Ecke links oben, Ecke rechts unten) in ein Rechteck (GRECT, also Ursprung - Ecke links oben -, Breite, H”he) um. Parameter a Array, g Rechteck. Verweis Wega-Graphikfunktionen, GRectToArray() Handbuch Wega-Developer Kit 105 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Update Beginn ======================================================================== Definition VOID GBegUpdate(VOID); Prototyp in wega.h Aufruf GBegUpdate(); ... GEndUpdate(); Verwendung Update beginnen Beschreibung Ausgaben anderer Applikationen sperren und Mauskontrolle bernehmen. Die Aufrufe drfen geschachtelt werden! Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 106 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Asterisk ======================================================================== Definition CBITBLK* GBitblkAsterisk(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkAsterisk(), ...); Verwendung Bitblock Asterisk fr Alertroutine Beschreibung In der Alertbox wird ein Asterisk dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 107 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Taschenrechner ======================================================================== Definition CBITBLK* GBitblkCalculator(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkCalculator(), ...); Verwendung Bitblock Taschenrechner fr Alertroutine Beschreibung In der Alertbox wird ein Taschenrechner dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 108 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Diskette ======================================================================== Definition CBITBLK* GBitblkDisk(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkDisk(), ...); Verwendung Bitblock Diskette fr Alertroutine Beschreibung In der Alertbox wird eine Diskette dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 109 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Ausrufezeichen ======================================================================== Definition CBITBLK* GBitblkExclamationmark(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkExclamationmark(), ...); Verwendung Bitblock Ausrufezeichen fr Alertroutine Beschreibung In der Alertbox wird ein Ausrufezeichen dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 110 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Help ======================================================================== Definition CBITBLK* GBitblkHelp(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkHelp(), ...); Verwendung Bitblock Wega fr Alertroutine Beschreibung In der Alertbox wird ein Rettungsring dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 111 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Information ======================================================================== Definition CBITBLK* GBitblkInformation(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkInformation(), ...); Beispiel Fenster Verwendung Bitblock Information fr Alertroutine Beschreibung In der Alertbox wird ein Informationszeichen dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 112 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Brief 1 ======================================================================== Definition CBITBLK* GBitblkLetter1(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkLetter1(), ...); Verwendung Bitblock Brief 1 fr Alertroutine Beschreibung In der Alertbox wird ein Brief dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 113 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Brief 2 ======================================================================== Definition CBITBLK* GBitblkLetter2(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkLetter2(), ...); Verwendung Bitblock Brief 2 fr Alertroutine Beschreibung In der Alertbox wird ein Brief dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 114 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Fragezeichen ======================================================================== Definition CBITBLK* GBitblkQuestionmark(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkQuestionmark(), ...); Verwendung Bitblock Fragezeichen fr Alertroutine Beschreibung In der Alertbox wird ein Fragezeichen dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 115 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Script ======================================================================== Definition CBITBLK* GBitblkScript(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkScript(), ...); Verwendung Bitblock Wega fr Alertroutine Beschreibung In der Alertbox wird ein Papier mit Stift dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 116 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Stopschild ======================================================================== Definition CBITBLK* GBitblkStopsign(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkStopsign(), ...); Beispiel Fenster Verwendung Bitblock Stopschild fr Alertroutine Beschreibung In der Alertbox wird ein Stopschild dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 117 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Teddy ======================================================================== Definition CBITBLK* GBitblkTeddy(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkTeddy(), ...); Verwendung Bitblock Teddy fr Alertroutine Beschreibung In der Alertbox wird ein Teddy dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 118 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Warnungszeichen ======================================================================== Definition CBITBLK* GBitblkWarning(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkWarning(), ...); Verwendung Bitblock Warnungszeichen fr Alertroutine Beschreibung In der Alertbox wird ein Warnungszeichen dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 119 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bitblock Wega ======================================================================== Definition CBITBLK* GBitblkWega(VOID); Prototyp in wega.h Aufruf GDoAlert(GBitblkWega(), ...); Verwendung Bitblock Wega fr Alertroutine Beschreibung In der Alertbox wird das Wegazeichen dargestellt. Verweis Wega-Graphikfunktionen, GBitblk...() Handbuch Wega-Developer Kit 120 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objektflags ver„ndern ======================================================================== Definition VOID GChgFlags(OBJECT *obj, WORD flags, WORD mode); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; GChgFlags(MakeObj(tree, obj), SELECTABLE, MODE_SET); Verwendung Objektflags ver„nden Beschreibung Die Flags eines Objekts werden durch diese Funktion ver„n- dert. Sie k”nnen gesetzt, gel”scht oder gewechselt werden. Parameter obj Zeiger auf Objektstruktur. flags Flags, die ver„ndert werden sollen. mode Modus: MODE_SET bewirkt das Setzen der durch flags angegeben Bits in den Flags, MODE_DELETE das L”schen der durch flags angegebenen Bits in den Flags und MODE_CHANGE das L”schen der durch flags angegebenen Bits in den Flags, falls ein Bit davon gesetzt ist, und ansonsten das Setzen der Bits. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 121 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objektstatus ver„ndern ======================================================================== Definition VOID GChgState(OBJECT *obj, WORD state, WORD mode); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; GChgState(MakeObj(tree, obj), SELECTED, MODE_SET); Beispiel Dialog Verwendung Objektstatus ver„nden Beschreibung Die Status eines Objekts werden durch diese Funktion ver- „ndert. Sie k”nnen gesetzt, gel”scht oder gewechselt wer- den. Parameter obj Zeiger auf Objektstruktur. state Status, die ver„ndert werden sollen. mode Modus: MODE_SET bewirkt das Setzen der durch state angegeben Bits in den Status, MODE_DELETE das L”schen der durch state angegebenen Bits in den Status und MODE_CHANGE das L”schen der durch state angegebenen Bits in den Status, falls ein Bit davon gesetzt ist, und ansonsten das Setzen der Bits. Verweis Wega-Graphikfunktionen, GObjcChange(), objc_change() Handbuch Wega-Developer Kit 122 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objektbaum in einer Hierarchieebene durchlaufen ======================================================================== Definition VOID GChildWalk(OBJECT *tree, WORD start, BOOLEAN (*callrout)(OBJECT *dial, WORD obj, VOID *data), VOID *data); Prototyp in wega.h Aufruf OBJECT *tree; WORD (*do_it)(OBJECT*, WORD, VOID*); GChildWalk(tree, GROUPBOX, do_it, NULL); Verwendung Objektbaum in der Hierarchieebene unter dem Objekt start durchlaufen Beschreibung Diese Funktion stellt die ntzliche M”glichkeit dar, Objektb„ume in einer bestimmten Hierarchieebene zu durch- laufen. Fr jedes Objekt in der Hierarchieebene unter start im Baum tree wird die Funktion do_it aufgerufen. Somit lassen sich beispielsweise praktische Positionierungen in Groupboxen vornehmen. Parameter tree Objektbaum. start Parentobjekt (ROOT fr die h”chstm”gliche, hier erlaubte Hierarchieebene). callrout Pointer auf eine Funktion, die fr jedes Objekt aufgerufen werden soll. Die Funktion gibt TRUE zurck, falls der Objektbaum nicht weiter durchlaufen werden soll, und FALSE sonst, data Adresse von Daten, die an die Funktion callrout durchgereicht wird. Verweis Wega-Graphikfunktionen, GTreeWalk() Handbuch Wega-Developer Kit 123 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Virtuelle VDI-Workstation schliežen ======================================================================== Definition VOID GCloseWorkstation(WORD v_handle); Prototyp in wega.h Aufruf WORD v_handle; v_handle = GOpenWorkstation(); if(v_handle) { ... GCloseWorkstation(v_handle); } Beispiel Fenster Verwendung virtuelle VDI-Workstation schliežen Beschreibung Diese Funktion schliežt die zu dem Handle geh”rige virtuelle VDI-Workstation. Parameter v_handle Handle der virtuellen VDI-Workstation. Verweis Wega-Graphikfunktionen, GOpenWorkstation(), v_clsvwk() Handbuch Wega-Developer Kit 124 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Desktop entfernen ======================================================================== Definition VOID GDelDesk(VOID); Prototyp in wega.h Aufruf OBJECT *desk; GSetDesk(desk); ... GDelDesk(); Verwendung Defaultobjektbaum (Desktop) entfernen Beschreibung Ein zu Anfang der Applikation gesetzter Defaultobjektbaum wird wieder entfernt. Der Aufruf dieser Funktion muž vor Ende der Applikation erfolgen! Verweis Wega-Graphikfunktionen, GSetDesk(), wind_set() Handbuch Wega-Developer Kit 125 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Men entfernen ======================================================================== Definition VOID GDelMenu(OBJECT *tree); Prototyp in wega.h Aufruf OBJECT *menu; GSetMenu(menu); ... GDelMenu(menu); Beispiel Fenster Verwendung Men entfernen Beschreibung Ein gesetztes Men wird wieder entfernt. Der Aufruf dieser Funktion muž vor Ende der Applikation erfolgen! Parameter menu Pointer auf Objektbaum mit Men. Verweis Wega-Graphikfunktionen, GSetMenu(), menu_bar() Handbuch Wega-Developer Kit 126 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dialogbox zentrieren ======================================================================== Definition VOID GDialCenter(DLGINFO *dlginfo, WORD modus, GRECT *world); Prototyp in wega.h Aufruf DLGINFO dlginfo; GRECT world; GDialCenter(&dlginfo, CNTR_WORLD, &world); Beispiel Dialog Verwendung Dialogbox zentrieren Beschreibung Mit dieser Funktion wird eine Dialogbox bezogen auf den Bildschirm oder ein beliebig vorgegebenes Rechteck (z.B. ein Fenster) zentriert. Ferner l„žt sich die Dialogbox bezglich der aktuellen Mausposition plazieren. Eine Zentrierung der Dialogboxen sollte bei Betrieb im Fenster nur bezglich des Bildschirms (CNTR_SCREEN), bei "traditionellem" Betrieb jedoch automatisch (CNTR_AUTO) oder den Modi entsprechend w„hlbar erfolgen. Parameter dlginfo Dialogboxinformation (siehe GDialInit()). modus Zentriermodus, wobei die Auswahl aus folgenden Modi erfolgt: CNTR_AUTO bezglich Bildschirm oder Maus- zeigerposition (siehe WEGA.CPX), CNTR_SCREEN bezglich Bildschirm, CNTR_MOUSE bezglich Mauszeigerposition, CNTR_WORLD bezglich Rechteck (world), CNTR_FREE freie Positionierung. world Rechteck, auf das sich die Zentrierung beziehen soll. Verweis Wega-Graphikfunktionen, WEGA.CPX, WEGACOOK.PRG, GDialFinish(), GFormDo(), GDialInit(), GDialPrepare(), form_center() Handbuch Wega-Developer Kit 127 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dialog nachbereiten ======================================================================== Definition VOID GDialFinish(DLGINFO *dlginfo); Prototyp in wega.h Aufruf DLGINFO dlginfo; GDialPrepare(&dlginfo); ... GDialFinish(&dlginfo); Beispiel Dialog Verwendung Dialog nachbereiten Beschreibung Ein Dialog wird mit dieser Funktion nachbereitet. Dazu ge- h”rt haupts„chlich das Restaurieren des Hintergrunds. Parameter dlginfo Dialogboxinformation (siehe GDialInit()). Verweis Wega-Graphikfunktionen, GDialCenter(), GFormDo(), GDialInit(), GDialPrepare(), form_dial() Handbuch Wega-Developer Kit 128 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dialogbox initialisieren ======================================================================== Definition VOID GDialInit(OBJECT *tree, GRECT *start, PRG_BITBLK *pb, DLGINFO *dlginfo); Prototyp in wega.h Aufruf OBJECT *tree, DLGINFO dlginfo; PRG_BITBLK pb; GRECT start; GDialInit(tree, &start, &pb, &dlginfo); Beispiel Dialog Verwendung Dialogbox initialisieren, erweiterte Objekttypen installieren Beschreibung Diese Funktion setzt alle erweiterten Objekttypen in der Dialogbox, initialisiert die DLGINFO-Struktur und setzt das Programmicon. Hierbei finden folgende erweiterten Objektty- pen Bercksichtigung: 1 Movebutton; Button, der beim Anklicken die Positi- onierung bzw. Zentrierung (nach Doppelklick) der Dia- logbox erm”glicht, 2 Titelzeile; Gr”že, Position und Farbe anpassen, 3 Programmicon; entsprechend der Bildschirmaufl”sung setzen, 4 Checkbox/Radiobox; Radiobutton (rund) oder Checkbox (K„stchen mit Kreuz) setzen, 5 Groupbox; Titel und Rahmen setzen, 6 fetter Text; Text in fetter Schrift, 7 unterstrichener Text; Text mit Unterstreichung, 8 Linie (horizontal); horizontale, drei Pixel dicke Linie, 9 vergr”žern; H”he des Objekts um 1/8 vergr”žern (hautps„chlich fr Buttons), 10 Cyclebutton; Button mit Symbol fr zyklischen Wechsel bei PopUp-Mens (je nach SELECTED-Status unterschied- liche Richtung!), 11 Pfeil von links nach rechts, 12 Pfeil von links unten nach rechts oben, 13 Pfeil von unten nach oben, 14 Pfeil von rechts unten nach links oben, 15 Pfeil von rechts nach links, 16 Pfeil von rechts oben nach links unten, 17 Pfeil von oben nach unten, 18 Pfeil von links oben nach recht unten, 19 Text zentriert mit Strichen rechts und links, 20 Text im Blocksatz, wobei die Breite des Objekts rele- vant ist, 21 Text schattiert, 22 Text unterstrichen (mit Bercksichtigung der Unter- l„ngen), 23 Movebutton als Eselsohr, 24 Shortcuttext, Text, bei dem ein Buchstabe unterstrichen wird, Handbuch Wega-Developer Kit 129 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ 25 Cyclebutton, wie Typ 10, jedoch nur fr Spiele o.„., 26 Checkbox/Radiobox, wie Typ 4, jedoch nur fr Spiele o.„., 27 Lampe, wie Typ 4 (haupts„chlich Checkbox), jedoch nur fr Spiele o.„., 28 Schalter, wie Typ 4 (haupts„chlich Checkbox), jedoch nur fr Spiele o.„., 29 Groupbox, wie Typ 5, jedoch mit vertikalem Ausgleich der Children innerhalb der Groupbox, 30 Verringerung der Breite um 1 Pixel, 31 Smiley, wie Typ 4 (haupts„chlich Checkbox), jedoch nur fr Spiele o.„., 32 Haken, wie Typ 4, 33 Pfeil, wie Typ 4, 34 Doppelpfeil, wie Typ 10, 50 Sound. Parameter tree Objektbaum. start Startrechteck fr die wachsenden bzw. schrumpfenden Rechtecke oder NULL, falls diese nicht gewnscht sind. pb Bitbl”cke, die in der Dialogbox gesetzt werden, damit das Programm an dem Bitblock/Bild identi- fiziert werden kann. dlginfo Struktur mit wichtigen Daten, die in der Regel statt der Objektstruktur benutzt wird; alle darin mitgefhrten Daten sind intern und drfen nicht ver„ndert werden. Bemerkung - Soll beispielsweise auf die Texte, die durch die erwei- terten Objekttypen ver„ndert werden, nach der Initiali- sierung noch zugegriffen werden, so mssen die Adressen der Zeichenketten vorher gemerkt werden. Es ist nicht m”glich, die Adressen nach der Initialisierung umzusetzen! - Bei den Checkboxen und den Radiobuttons (Typ 4), bei vergr”žerten Objekten vom Typ G_BUTTON (Typ 9) und bei dem Shortcuttext (Typ 24) l„žt sich mit einem einleitenden "[" vor einem der Buchstaben ein unterstrichener bzw. bei bestimmten Aufl”sungen ein farbiger Buchstabe erzeugen. Somit lassen sich in ein- facher Form Shortcuts anzeigen. In diesem besonderen Fall ist es nicht n”tig, bei GFormDo() oder GXFormDo() eine šbersetzungsfunktion anzugeben! Der Shortcuttext selbst darf nur statisch sein! GXFormDo() ermittelt zu dem Objekt das Parentobjekt und sucht dann unterhalb dieses Objekt nach einem Objekt mit einem der Flags EDITABLE, EXIT, SELECTABLE bzw. TOUCHEXIT. Das derart ermittelte Objekt wird dann gew„hlt. Somit lassen sich beispielsweise Tastatur- steuerungen von Editfelder oder Popup-Mens erreichen. - Die Funktion GWegaInit() muž vor dem Aufruf dieser (wie auch der anderen Funktionen aufgerufen werden. Es st”rt jedoch nicht, GWegaDone() und sp„ter wieder GWegaInit() aufzurufen. (Wichtig insbesondere fr Accessories, da GWegaInit() dynamischen Speicher anfordert, GDialInit() jedoch nicht.) - GDialInit() darf fr jeden Objektbaum nur einmal aufgerufen werden. Verweis Wega-Graphikfunktionen, WEGA.CPX, WEGACOOK.PRG, Handbuch Wega-Developer Kit 130 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objekttypen, erweiterte, GDialReset(), GListInit() Handbuch Wega-Developer Kit 131 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dialog vorbereiten ======================================================================== Definition VOID GDialPrepare(DLGINFO *dlginfo); Prototyp in wega.h Aufruf DLGINFO dlginfo; GDialPrepare(&dlginfo); ... GDialFinish(&dlginfo); Beispiel Dialog Verwendung Dialog vorbereiten Beschreibung Ein Dialog wird mit dieser Funktion vorbereitet. Dazu geh”rt u.a. das Umschalten auf die Mausform "Zeiger", das Sichern des Hintergrunds und die Ausgabe der Dialogbox. Parameter dlginfo Dialogboxinformation (siehe GDialInit()). Verweis Wega-Graphikfunktionen, GDialCenter(), GDialFinish(), GFormDo(), GDialInit(), form_dial() Handbuch Wega-Developer Kit 132 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dialogdefinitionen zurcksetzen ======================================================================== Definition VOID GDialReset(VOID); Prototyp in wega.h Aufruf GDialReset(); Verwendung Dialogdefinitionen zurcksetzen Beschreibung Die Dialogdefinitionen (mit GDialInit()) werden zurckgesetzt. Anschliežend ist kein Aufruf der Dialoge mehr m”glich. Die Funktion kann dazu verwandt werden, eine bereits geladene Resourcedatei zu verwerfen und dann eine neue zu laden. Verweis Wega-Graphikfunktionen, GDialInit() Handbuch Wega-Developer Kit 133 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Alertroutine ======================================================================== Definition WORD GDoAlert(CBITBLK *cbitblk, const CHAR *text, const CHAR *buttons, WORD bdefault, BOOLEAN fly); Prototyp in wega.h Aufruf WORD ret; ret = GDoAlert(GBitblkInformation(), "So wird die Alertroutine implementiert!", " [OK ", 0, FALSE); if(ret >= 0) { /* Auswertung */ ... } else { /* Fehlerbehandlung */ ... } Beispiel Fenster Verwendung Alertroutine Beschreibung Die Funktion stellt als Ersatz fr form_alert() eine erweiterte Alertroutine dar. Sie liefert den angeklickten Button oder eine Fehlermeldung zurck. Der Text wird selbst„ndig formatiert. Zentriert wird unter BigScreen 2 gem„ž des aktuellen Bildschirmausschnitts, ansonsten gem„ž der Einstellung in WEGA.CPX. Parameter cbitblk Adresse einer Struktur mit einem 4 Zeichen breiten und 2 Zeichen hohen Bitblock-Struktur (aufl”sungsabh„ngig!) sowie ggf. einem Verweis auf eine weitere, text Zeichenkette mit dem auszugebenden Text, wobei mit '|' harte Trennungen vorgenommen werden k”nnen, buttons Zeichenkette mit Buttons, die durch '|' getrennt sind; Shortcuts werden mit einem einleitenden '[' gekennzeichnet, bdefault Defaultbutton (Basis 0), fly Flag, ob die Alertbox beweglich sein soll (nur Flydialdesign). Rckgabe >= 0 angeklickter Button, -1 kein ausreichend grožer Speicherplatz vorhanden, -2 zu viele Zeilen in der Alertbox, -3 zu viele, zu breite Buttons. Verweis Wega-Graphikfunktionen, GBitblk...(), form_alert() Handbuch Wega-Developer Kit 134 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dialog vollst„ndig durchfhren ======================================================================== Definition WORD GDoDialog(DLGINFO *dlginfo); Prototyp in wega.h Aufruf DLGINFO dlginfo; obj = GDoDialog(&dlginfo); Verwendung Dialog vollst„ndig - also mit Vor- und Nachbereitung - durchfhren Beschreibung Diese Funktion stellt eine sehr einfache Art der Dialog- abarbeitung dar. Ist BigScreen 2 gestartet, so wird bezglich des aktuellen Bildschirmausschnitts zentriert, Ansonsten richtet sich die Zentrierung nach der Einstellung ber WEGA.CPX. Eine Auswertung des Doppelklicks erfolgt nicht. Parameter dlginfo Dialoginformation. Rckgabe Objekt, welches angeklickt wurde (ohne Doppelklickken- nung!). Verweis Wega-Graphikfunktionen, GDialInit() Handbuch Wega-Developer Kit 135 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dragbox ======================================================================== Definition VOID GDragBox(GRECT *source, GRECT *world, GPOINT *dest, VOID (*info)(GRECT *size, VOID *data), VOID *data); Prototyp in wega.h Aufruf GRECT g, w; GPOINT d; VOID (*info)(GRECT*, VOID*); GDragBox(&g, &w, &d, info, NULL); Verwendung Dragbox darstellen Beschreibung Ein Rechteck wird innerhalb eines anderen verschoben, wo- bei eine gleichzeitig eine Infofunktion aufgerufen wird, die ber die aktuelle Position des Rechtecks informiert. Parameter g zu bewegendes Rechteck, w Rahmen, in dem das Rechteck bewegt werden darf, d Punkt, an dem sich der Ursprung des Rechtecks zum Zeitpunkt des Loslassens der linken Maustaste befand, info Funktion, die bei jeder Ver„nderung der Position des Rechtecks aufgerufen wird (oder NULL, falls dies nicht von Interesse ist), data Adresse von Daten, die an die Funktion info durchgereicht wird. Verweis Wega-Graphikfunktionen, graf_dragbox() Handbuch Wega-Developer Kit 136 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Update Ende ======================================================================== Definition VOID GEndUpdate(VOID); Prototyp in wega.h Aufruf GBegUpdate(); ... GEndUpdate(); Verwendung Update beenden Beschreibung Anderen Applikationen Ausgaben wieder erlauben bzw. Maus- kontrolle wieder abgeben. Die Aufrufe drfen geschachtelt werden! Verweis Wega-Graphikfunktionen, GBegUpdate(), wind_update() Handbuch Wega-Developer Kit 137 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dialog durchfhren ======================================================================== Definition WORD GFormDo(DLGINFO *dlginfo, LONG *start, BOOLEAN *doubleclick, WORD (*translate)(KEY *key, VOID *datatrans), LONG (*timer)(VOID *datatimer), VOID *datatrans, VOID *datatimer); Prototyp in wega.h Aufruf DLGINFO dlginfo; BOOLEAN doppel; WORD obj; LONG start = (LONG)ROOT; WORD (*translate)(KEY*, VOID*); LONG (*timer)(VOID*); obj = GFormDo(&dlginfo, &start, &doppel, translate, timer, NULL, NULL); Beispiel Dialog Verwendung Dialog durchfhren Beschreibung Ein Dialog wird mit dieser Funktion durchgefhrt, wobei das Verschieben der Dialogbox automatisch geschieht. Zurckge- geben wird das angeklickte Objekt ohne Kennzeichnung des Doppelklicks! Ob ein Doppelklick erfolgt ist oder nicht ist an dem dritten Parameter zu erkennen. Die Funktion translate ist ein kleiner Leckerbissen. Meldet man eine passende Funktion an, so k”nnen Tastatureingaben in ange- w„hlte Objekte bersetzt werden. Somit l„žt sich relativ problemlos eine Tastatursteuerung der Dialogboxen er- reichen. (Ferner werden Editfelder komfortabler behandelt. Neben der M”glichkeit, mit TAB zum n„chsten Eingabefeld zu springen, kann mit SHIFT+TAB ein Feld zurckgesprungen werden. Mit SHIFT+ wird an den Anfang bzw. an das Ende des Editfelds gesprungen, bei CONTROL+ wortweise. SHIFT+ l”scht die Zeile bis zum Ende bzw. zum Anfang, bei CONTROL+ wortweise. CONTROL+ speichert den Inhalt des Editfelds und l”scht anschliežend das Editfelds, CONTROL+ kopiert den Inhalt des Editfelds in einen Zwischenspeicher und CONTROL+ fr den Inhalt des Zwischenspeichers in das Editfeld ein. Der Zwischenspeicher existiert lokal fr jedes Programm, es sei denn, der Wega-Cookie konnte mit WEGACOOK.PRG installiert werden. In diesem Fall ist der Zwischenspeicher global!) S„mtliche Zeichen des ASCII-Zeichensatzes (mit Ausnahme von NUL) lassen sich ber Tastatur eingeben, wenn CONTROL+ gedrckt wird und anschliežend eine Handbuch Wega-Developer Kit 138 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ maximal dreistellige Zahl. Werden nur ein oder zwei Ziffern eingegeben, so muž die Sequenz mit irgendeiner Taste beendet werden. Zwischen zwei Tastendrcken drfen h”chstens zwei Sekunden liegen. Bei der Eingabe von Zeichen - insbesondere internationalen Sonderzeichen - k”nnen diese konvertiert werden (siehe Zeichenkonvertierung). Parameter dlginfo Dialogboxinformation (siehe GDialInit()). start Startobjekt fr Editfelder (wie form_do()), wobei das Feld, in dem der Cursor zuletzt stand, zurckgegeben wird. Die Daten sind aufgeteilt in das obere Wort (Position in der Zeichenkette) und das untere Wort (Objekt selbst). doubleclick TRUE: Doppelklick erfolgt, FALSE: kein Doppelklick. translate Adresse einer Funktion, die Tastatureingaben in Mausklicks bersetzt (oder NULL, falls keine šbersetzung gewnscht ist); Rckgabe- wert ist der Index des Objekts, welches ein- zusetzen ist, oder -1. timer Adresse einer Funktion, die zyklisch aufgeru- fen wird (oder NULL, falls dies nicht ge- wnscht ist); Rckgabewert ist das Zeitinter- vall in Millisekunden, welches bis zum n„chsten Aufruf verstreichen soll, oder 0, falls kein weiterer Aufruf gewnscht ist, datatrans Adresse von Daten, die an die Funktion translate durchgereicht wird, datatimer Adresse von Daten, die an die Funktion timer durchgereicht wird. Rckgabe Objekt, welches angeklickt wurde (ohne Doppelklickken- nung!). Bemerkung Die Funktion GFormDo() basiert auf der Funktion GXFormDo(), die die eigentliche Dialogverwaltung bernimmt. Bei GXFormDo() wird lediglich der Movebutton zum Bewegen der Dialogbox nicht ausgewertet. Ferner ist eine Auswertung der Messages m”glich, womit sich GXFormDo() auch zur Dialog- verwaltung von Dialogen in Fenstern eignet. Wird ein Windowhandle angegeben, so wird die Rechteckliste des dazugeh”rigen Fenster fr die Ausgabe des Cursors bei Editfeldern bercksichtigt. Verweis Wega-Graphikfunktionen, GXFormDo(), form_do(), Bedienung, Formate Handbuch Wega-Developer Kit 139 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Dateiauswahlbox ======================================================================== Definition BOOLEAN GFselInput(CHAR *path, CHAR *wildcard, CHAR *name, CHAR *label, BOOLEAN (*check)(CHAR *path, CHAR *wildcard, CHAR *name, VOID *data), VOID *data); Prototyp in wega.h Aufruf BOOLEAN checkname(CHAR *path, CHAR *wildcard, CHAR *name, VOID *data) { return(name[0] ? TRUE : FALSE); } CHAR path[MAXPATH] = "", wildcard[14] = "", name[14] = ""; if(GFselInput(path, wildcard, name, "W„hle aus...", checkname, NULL)) { ... } Verwendung Auswahl eines Dateinamens Beschreibung Beim Aufruf dieser Funktion erscheint die Dateiauswahlbox. Pfad und Maske werden getrennt bergeben, da diese in der Regel auch getrennt ben”tigt werden. Das Label wird ab TOS 1.04 automatisch bercksichtigt. Es braucht keine gesonderte Betrachtung der beiden ab TOS 1.04 existierenden Dateiauswahl-Routinen der AES zu erfolgen! Parameter path Pfad, bei leerem oder unvollst„ndigem Pfad wird dieser wie folgt erg„nzt: "" wird zu "://", ":" wird zu "://", "/" wird zu ":/", "://" bleibt unver„ndert. wildcard Maske fr die auszuw„hlenden Dateien, bei leerer Maske wird diese durch "*.*" ersetzt. name Name der gew„hlten Datei (ist nach "OK" immer gefllt!). label Titel fr die Dateiauswahlbox (Verwendung ab TOS 1.04, ansonsten wird der Parameter ignoriert), check Funktion (oder NULL), die die Eingaben berprft und bei Rckgabe von TRUE ein Verlassen der Dateiauswahlroutine erm”glicht, data Adresse von Daten, die an Check durchgereicht wird. Rckgabe TRUE, falls "OK" gew„hlt wurde, Handbuch Wega-Developer Kit 140 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ FALSE, falls "Abbruch" gew„hlt wurde. Verweis Wega-Graphikfunktionen, fsel_input(), fsel_exinput() Handbuch Wega-Developer Kit 141 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Parentobjekt ermitteln ======================================================================== Definition WORD GGetParent(OBJECT *tree, WORD obj); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj, parent; parent = GGetParent(tree, obj); if(parent >= 0) { ... } Verwendung Parentobjekt zu einem Objekt ermitteln Beschreibung Mit Hilfe dieser Funktion l„žt sich das Parentobjekt ermit- teln, also das Objekt, welches obj als Child enth„lt. Parameter tree Objektbaum. obj Objekt, zu dem das Parentobjekt zu ermitteln ist. Rckgabe Parentobjekt oder -1, falls kein Parentobjekt ermittelt werden konnte. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 142 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Text aus Objektstrukturen ermitteln ======================================================================== Definition WORD GGetText(OBJECT *obj, CHAR *s); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; CHAR buffer[38]; if(!GGetText(MakeObj(tree, obj), buffer)) { ... } Verwendung Texte bzw. Zeichenketten aus Objektstrukturen ermitteln Beschreibung Unabh„ngig vom Typ des Objekts ermittelt diese Funktion den Inhalt eines zu diesem Objekt geh”rigen Texts. Dies funk- tioniert selbstverst„ndlich nur dann, wenn das Objekt mit Text zu tun hat. Parameter obj Pointer auf eine Objektstruktur. s Puffer, der grož genug ist, den Text bzw. die Zeichenkette aufzunehmen. Rckgabe 0, falls kein Fehler aufgetreten ist, -1 sonst. Verweis Wega-Graphikfunktionen, GSetText() Handbuch Wega-Developer Kit 143 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Listbox initialisieren ======================================================================== Definition VOID GListInit(OBJECT *tree, WORD start); Prototyp in wega.h Aufruf OBJECT *tree; GListInit(tree, LISTBOX); Verwendung Gr”ženanpassung von Slidern und Close-, Full- und Size- boxen Beschreibung Elemente, die den Randelementen von Fenstern entsprechen, werden bei Listboxen in der Gr”že angepažt. Eine Positi- onierung entsprechend den ver„nderten Gr”žen erfolgt je- doch nicht! Parameter tree Objektbaum mit Listbox, start Index einer die Listbox umfassenden Box. Je nach dem erweiterten Objekttyp erfolgt folgende Anpassung: 100: Breite, 101: Breite und H”he, 102: H”he. Verweis Wega-Graphikfunktionen, GDialInit() Handbuch Wega-Developer Kit 144 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Taste bestimmen ======================================================================== Definition VOID GMapKey(KEY *key, WORD bkey, WORD bstate); Prototyp in wega.h Aufruf KEY k; GMapKey(&k, bk, bs); Verwendung Taste eindeutig und unabh„ngig bestimmen Beschreibung Das Problem der unterschiedlichen Tastaturbelegungen wird durch diese Funktion gel”st. Unabh„ngig von der Belegung der Tasten ermittelt GMapKey aus dem Tastencode (z. B. aus evnt_keybd() oder evnt_multi()) und dem Status der Sonder- tasten (z. B. aus evnt_multi() oder Kbshift()), welche Taste tats„chlich gedrckt wurde. Insbesondere bei der l„nderunabh„ngigen Programmierung ist dies wichtig! Parameter key Struktur, die mit den notwendigen Tasten- informationen versorgt wird, bkey Tastencode (16 Bit!), bstate Sondertastenstatus. Verweis Wega-Graphikfunktionen, KEY_... Handbuch Wega-Developer Kit 145 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als Pfeil ======================================================================== Definition VOID GMArrow(VOID); Prototyp in wega.h Aufruf GMArrow(); Beispiel Fenster Verwendung Mauszeiger als Pfeil darstellen (Standard) Beschreibung Der Mauszeiger wird als Pfeil dargestellt. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 146 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als Biene bzw. Stundenglas ======================================================================== Definition VOID GMBusy(VOID); Prototyp in wega.h Aufruf GMBusy(); Verwendung Mauszeiger als Biene darstellen (bei l„ngeren Operationen) Beschreibung Der Mauszeiger wird als Biene dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 147 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Meneintrag zur Taste finden ======================================================================== Definition WORD GMenuFind(OBJECT *menutree, KEY *skey); Prototyp in wega.h Aufruf KEY key; OBJECT *menutree; WORD entry; entry = GMenuFind(menutree, &key); if(entry != -1) { ... } Verwendung Meneintrag zur Taste finden Beschreibung Die Funktion untersucht jeden Eintrag in einem Men, der vom Typ G_STRING ist und bei dem nicht der Status DISABLED gesetzt ist. Sie interpretiert die aufgefhrte Tasten- kombination und vergleicht mit der bergeben Struktur (KEY). Stimmen die Daten der Struktur mit dem Tastenkrzel berein, so gibt GMenuFind() die Nummer des Eintrags zurck. Andernfalls erh„lt man -1. Parameter menutree Zeiger auf Men-Objektbaum, skey Adresse einer KEY-Struktur. Rckgabe Nummer des zur KEY-Struktur passenden Eintrags oder -1. Verweis Wega-Graphikfunktionen, GMapKey() Handbuch Wega-Developer Kit 148 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Taschenrechner ======================================================================== Definition MFORM* GMFCalculator(VOID); Prototyp in wega.h Aufruf GMUser(GMFCalculator()); Verwendung Mausform Taschenrechner Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Taschenrechner darzustel- len. Die Mausform kann bei Berechnungen als Alternative zur Biene gew„hlt werden. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 149 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Diskette (abw„rts) ======================================================================== Definition MFORM* GMFDiskDown(VOID); Prototyp in wega.h Aufruf GMUser(GMFDiskDown()); Verwendung Mausform Diskette (abw„rts) Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Diskette darzustel- len. Die Mausform kann bei Datei-/Massenspeicherfunktionen als Alternative zur Biene gew„hlt werden. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 150 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Diskette (aufw„rts) ======================================================================== Definition MFORM* GMFDiskUp(VOID); Prototyp in wega.h Aufruf GMUser(GMFDiskUp()); Verwendung Mausform Diskette (aufw„rts) Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Diskette darzustel- len. Die Mausform kann bei Datei-/Massenspeicherfunktionen als Alternative zur Biene gew„hlt werden. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 151 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Vierfachpfeil ======================================================================== Definition MFORM* GMFFourArrow(VOID); Prototyp in wega.h Aufruf GMUser(GMFFourArrow()); Verwendung Mausform FourArrow Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als FourArrow (4 Pfeile, die auf einen Punkt zeigen) darzustellen. Diese Mausform kann als Alternative zu dem ausgeh”hlten Kreuz (GMOutlinedcross()) verwandt werden. Die Mitte des Mauszeigers ist transparent. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 152 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Stundenglas ======================================================================== Definition MFORM* GMFHourglass(VOID); Prototyp in wega.h Aufruf GMUser(GMFHourglass()); Verwendung Mausform Smiley Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Stundenglas darzustellen. Die Mausform kann als Alternative zur Biene (GMBusy()) verwandt werden. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 153 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Pfeil links ======================================================================== Definition MFORM* GMFLeftArrow(VOID); Prototyp in wega.h Aufruf GMUser(GMFLeftArrow()); Verwendung Mausform LeftArrow Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als LeftArrow darzustellen. Die Mausform kann in besonderen F„llen als Alternative zum normalen Pfeil (GMArrow()) verwandt werden. Sie sollte jedoch auf keinen Fall Ersatz fr den normalen Pfeil sein! Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 154 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Stift ======================================================================== Definition MFORM* GMFPencil(VOID); Prototyp in wega.h Aufruf GMUser(GMFPencil()); Verwendung Mausform Stift Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Stift darzustellen. Die Mausform kann als Alternative zu den Kreuzen gew„hlt werden. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 155 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Fragezeichen ======================================================================== Definition MFORM* GMFQuestionmark(VOID); Prototyp in wega.h Aufruf GMUser(GMFQuestionmark()); Verwendung Mausform Fragezeichen Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Fragezeichen darzustellen. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 156 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Radar ======================================================================== Definition MFORM* GMFRadar(VOID); Prototyp in wega.h Aufruf GMUser(GMFRadar()); Verwendung Mausform Radar Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Radar darzustellen. Die Mausform kann als Alternative zur Biene (GMBusy()) verwandt werden, wenn die auszufhrende Aktion, einen Aufruf dieser Mausform in regelm„žigen Abst„nden zul„žt. Bei Aufruf von GMFRadar() wird ein Zeiger auf eine MFORM-Struktur zurckgegeben, wobei die Form zyklisch ver„ndert wird. Nach vier Aufrufen von GMFRadar() ist der Zyklus beendet. Bei relativ kurzen Abst„nden zwischen zwei Aufrufen von GMFRadar() entsteht der Eindruck eines drehenden Kreises. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 157 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Smiley ======================================================================== Definition MFORM* GMFSmiley(VOID); Prototyp in wega.h Aufruf GMUser(GMFSmiley()); Verwendung Mausform Smiley Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Smiley darzustellen. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 158 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Teetasse ======================================================================== Definition MFORM* GMFTeacup(VOID); Prototyp in wega.h Aufruf GMUser(GMFTeacup()); Verwendung Mausform Teetasse Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Teacup darzustellen. Eine Verwendung als Wartesymbol ist m”glich. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 159 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform Teddy ======================================================================== Definition MFORM* GMFTeddy(VOID); Prototyp in wega.h Aufruf GMUser(GMFTeddy()); Verwendung Mausform Teddy Beschreibung Die Mausform kann als Parameter fr die Funktion GMUser() verwandt werden, um den Mauszeiger als Teddy darzustellen. Diese Variante der Darstellung sollte nur in Spielen Verwendung finden. Verweis Wega-Graphikfunktionen, GMF... Handbuch Wega-Developer Kit 160 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform sichern ======================================================================== Definition BOOLEAN GMGet(VOID); Prototyp in wega.h Aufruf BOOLEAN MStack; MStack = GMPut(); ... if(MStack) { if(!GMGet()) ... } Verwendung Mausform von internem Stack holen Beschreibung Die zuletzt auf dem Stack gesicherte Mausform wird eingestellt. Rckgabe TRUE, falls die Mausform eingestellt werden konnte, FALSE, falls sich keine Daten auf dem internen Stack befanden. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 161 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als flache Hand ======================================================================== Definition VOID GMHand(VOID); Prototyp in wega.h Aufruf GMHand(); Verwendung Mauszeiger als flache Hand darstellen (beim Verschieben von Objekten) Beschreibung Der Mauszeiger wird als flache Hand dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 162 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger abschalten ======================================================================== Definition VOID GMOff(VOID); Prototyp in wega.h Aufruf GMOff(); Verwendung Mauszeiger abschalten (nur, wenn unbedingt notwendig) Beschreibung Der Mauszeiger wird nicht dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 163 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger anschalten ======================================================================== Definition VOID GMOn(VOID); Prototyp in wega.h Aufruf GMOn(); Verwendung Mauszeiger anschalten (Standard) Beschreibung Der Mauszeiger wird dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 164 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als ausgeh”hltes Kreuz ======================================================================== Definition VOID GMOutlinedcross(VOID); Prototyp in wega.h Aufruf GMOutlinedcross(); Verwendung Mauszeiger als ausgeh”hltes Kreuz darstellen (bei Zeich- nenoperationen) Beschreibung Der Mauszeiger wird als ausgeh”hltes Kreuz dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 165 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als zeigende Hand ======================================================================== Definition VOID GMPointHand(VOID); Prototyp in wega.h Aufruf GMPointHand(); Verwendung Mauszeiger als zeigende Hand darstellen (bei der Gr”žen- ver„nderung von Objekten) Beschreibung Der Mauszeiger wird als zeigende Hand dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 166 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mausform sichern ======================================================================== Definition BOOLEAN GMPut(VOID); Prototyp in wega.h Aufruf BOOLEAN MStack; MStack = GMPut(); ... if(MStack) { if(!GMGet()) ... } Verwendung Mausform auf internem Stack sichern Beschreibung Die aktuelle Mausform wird auf einem internen Stack gesichert. Der Stack ist ein LIFO-Stack (Last In, First Out). Rckgabe TRUE, falls die Mausform gesichert werden konnte, FALSE sonst. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 167 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger wiederherstellen ======================================================================== Definition VOID GMRestore(VOID); Prototyp in wega.h Aufruf GMRestore(); Verwendung Form des Mauszeiger wiederherstellen Beschreibung Die vorher eingestellte Form des Mauszeigers wird wieder- hergestellt. Diese Funktion ist ntzlich, wenn nur kurz- fristig die Form des Mauszeigers ver„ndert werden soll, um danach wieder zu alten Form zurckzukehren. Bis zu 32 Ebenen werden bercksichtigt, wobei intern von diesen Ebenen bis zu ca. 8 reserviert sind. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 168 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als Textcursor ======================================================================== Definition VOID GMTextcursor(VOID); Prototyp in wega.h Aufruf GMTextcursor(); Verwendung Mauszeiger als Textcursor darstellen (bei Texteingaben) Beschreibung Der Mauszeiger wird als Textcursor dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 169 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als dickes Kreuz ======================================================================== Definition VOID GMThickcross(VOID); Prototyp in wega.h Aufruf GMThickcross(); Verwendung Mauszeiger als dickes Kreuz darstellen (bei Zeichnenopera- tionen) Beschreibung Der Mauszeiger wird als dickes Kreuz dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 170 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger als dnnes Kreuz ======================================================================== Definition VOID GMThincross(VOID); Prototyp in wega.h Aufruf GMThincross(); Verwendung Mauszeiger als dnnes Kreuz darstellen (bei Zeichnenopera- tionen) Beschreibung Der Mauszeiger wird als dnnes Kreuz dargestellt. Verweis Wega-Graphikfunktionen, graf_mouse() Handbuch Wega-Developer Kit 171 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Mauszeiger frei definiert ======================================================================== Definition VOID GMUser(MFORM *mf); Prototyp in wega.h Aufruf MFORM mf; GMUser(&mf); Verwendung Mauszeiger als frei definierte Form darstellen Beschreibung Der Mauszeiger wird wie in der Struktur angegeben dargestellt. Die Struktur sollte global deklariert sein! Verweis Wega-Graphikfunktionen, GMF...(), graf_mouse() Handbuch Wega-Developer Kit 172 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objektstatus „ndern ======================================================================== Definition VOID GObjcChange(OBJECT *tree, WORD obj, WORD newstate, WORD redraw); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; GObjcChange(tree, obj, tree[obj].ob_state | SELECTED, 1); Verwendung Objektstatus „ndern und ggf. Objekt ausgeben Beschreibung Der Objektstatus wird ge„ndert und das Objekt ggf. neu ge- zeichnet. Parameter tree Objektbaum. obj auszugebendes Objekt, newstate neuer Status, redraw 1: neu zeichnen, 0: sonst. Verweis Wega-Graphikfunktionen, GChgState(), objc_change() Handbuch Wega-Developer Kit 173 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objekt ausgeben ======================================================================== Definition VOID GObjcDraw(OBJECT *tree, WORD obj); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; GObjcDraw(tree, obj); Verwendung Objekt ausgeben Beschreibung Ein Objekt (auch das ROOT-Objekt) wird mit allen hierar- chisch darunterliegenden Objekten ausgegeben. Parameter tree Objektbaum. obj auszugebendes Objekt. Verweis Wega-Graphikfunktionen, GObjcRDraw(), objc_draw(), WObjcDraw() Handbuch Wega-Developer Kit 174 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objekt mit Root beginnend ausgeben ======================================================================== Definition VOID GObjcRDraw(OBJECT *tree, WORD obj); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; GObjcRDraw(tree, obj); Verwendung Objekt vom Root beginnend ausgeben Beschreibung Ein Objekt (auch das ROOT-Objekt) wird mit allen Objekten innerhalb der Bereichs des Objekt obj ausgegeben. Somit bleiben die Hierarchie und alle šberlappungen erhalten. Parameter tree Objektbaum. obj auszugebendes Objekt. Verweis Wega-Graphikfunktionen, GObjcDraw(), objc_draw(), WObjcRDraw() Handbuch Wega-Developer Kit 175 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Virtuelle VDI-Workstation ”ffnen ======================================================================== Definition WORD GOpenWorkstation(VOID); Prototyp in wega.h Aufruf WORD v_handle; v_handle = GOpenWorkstation(); if(v_handle) { ... GCloseWorkstation(v_handle); } Beispiel Fenster Verwendung virtuelle VDI-Workstation ”ffnen Beschreibung Die Funktion ”ffnet eine virtuelle VDI-Workstation. Rckgabe 0, falls ein Fehler auftreten ist, VDI-Handle sonst. Verweis Wega-Graphikfunktionen, GCloseWorkstation(), v_opnvwk() Handbuch Wega-Developer Kit 176 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ šberprfung zweier Punkte auf Gleichheit ======================================================================== Definition BOOLEAN GPointEqual(GPOINT *a, GPOINT *b); Prototyp in wega.h Aufruf GPOINT a, b; if(GPointEqual(&a, &b)) { ... } else { ... } Verwendung berprfen, ob zwei Punkte identisch sind Beschreibung Es wird berprft, ob zwei Punkte identisch sind. Parameter a, b zu betrachtende Punkte. Rckgabe TRUE, falls die Punkte identisch sind, FALSE, sonst. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 177 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ šberprfung, ob Punkt im Rechteck liegt ======================================================================== Definition BOOLEAN GPointInRect(GPOINT *p, GRECT *g); Prototyp in wega.h Aufruf GRECT g; GPOINT p; if(GPointInRect(&p, &g)) { ... } else { ... } Verwendung berprfen, ob ein bestimmter Punkt in einem Rechteck liegt Beschreibung Es wird berprft, ob ein Punkt in einem Rechteck liegt. Der Rand des Rechtecks z„hlt dazu! Parameter g zu betrachtendes Rechtecke, p zu betrachtender Punkt. Rckgabe TRUE, falls der Punkt im Rechteck liegt, FALSE, sonst. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 178 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Popup-Men aufrufen ======================================================================== Definition WORD GPopUp(CHAR **entry, UWORD nmb_entries, WORD default_item, WORD pos_x, WORD pos_y, WORD font); Prototyp in wega.h Aufruf CHAR *entries[] = { "Eintrag 1", "Eintrag 2", "Eintrag 3" }; WORD sel, mx, my; ... sel = GPopUp(entries, 3, 2, mx, my, IBM); if(sel != -1) { ... } Verwendung Popup-Men in Dialogboxen oder zur sonstigen Verwendung Beschreibung Mit dieser Funktion wird ein Popup-Men aufgerufen. Dieses Men bleibt solange auf dem Bildschirm, bis die linke Maus- taste wieder losgelassen oder , oder gedrckt wird. Steht der Mauszeiger beim Loslassen der Maustaste innerhalb des Popup-Mens oder wird oder gedrckt, so wird der selektierte Eintrag gew„hlt. Es ist nicht Voraussetzung, daž die linke Maustaste bei Aufruf des Popup-Mens bereits gedrckt ist. Mit den Cursortasten und kann innerhalb des Popup-Mens zwischen den Eintr„gen gewechselt werden. Die Taste erm”glicht einen Sprung zum ersten Eintrag. Fr das Popup-Men sind maximal 16 Eintr„ge zu je 20 Zeichen erlaubt. Attribute bzw. Status wie DISABLED werden derzeit nicht untersttzt. Parameter entry Array mit Adressen der Eintr„ge, nmb_entries Anzahl der Eintr„ge, default_item vorgew„hlter Eintrag (mit H„kchen) oder -1, falls kein Eintrag vorgew„hlt werden soll, pos_x x-Position des Mens (wird bei Bedarf auto- matisch korrigiert), pos_y y-Position des Mens (wird bei Bedarf auto- matisch korrigiert) font Zeichensatz fr die Darstellung im Pop- up-Men (IBM oder SMALL). Rckgabe -3, falls kein Eintrag selektierbar ist, -2, falls ein Fehler aufgetreten ist, -1, falls kein Eintrag gew„hlt wurde, Handbuch Wega-Developer Kit 179 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ >=0, falls ein Eintrag gew„hlt wurde. Verweis Wega-Graphikfunktionen, GXPopUp() Handbuch Wega-Developer Kit 180 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Abfrage, ob 3D-Effekte m”glich sind ======================================================================== Definition BOOLEAN GQ3DPossible(VOID); Prototyp in wega.h Aufruf BOOLEAN is3D; is3D = GQ3DPossible(); if(is3D) { GSet3D(TRUE); GDialInit(...); G3DTune(...); ... } Verwendung Abfrage, ob 3D-Effekte m”glich sind Beschreibung Die Funktion erfragt, ob 3D-Effekte m”glich sind. Voraussetzung fr die Darstellung von 3D-Effekten ist unter anderem die Verfgbarkeit von 16 Farben, da neben schwarz und weiž auch die beiden Graut”ne ben”tigt werden. Verweis Wega-Graphikfunktionen, 3D, G3DTune(), G3DTuneBack(), GSet3D(), GSet3DColor() Handbuch Wega-Developer Kit 181 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Charactergr”žen abfragen ======================================================================== Definition VOID GQChar(WORD *cboxw, WORD *cboxh, WORD *cfboxw, WORD *cfboxh); Prototyp in wega.h Aufruf WORD charboxwidth, charboxheight, fullcharboxwidth, fullcharboxheight; GQChar(&charboxwidth, &charboxheight, &fullcharboxwidth, &fullcharboxheight); Verwendung Charactergr”žen abfragen Beschreibung GQChar erm”glicht die Abfrage eines Rechtecks, welches das breiteste und h”chste Zeichen des Systemfonts umfažt. Fer- ner wird die Gr”že eines Rechtecks zurckgegeben, welches eine Zeichen des Systemzeichensatzes voll umschliežt. Die- ses Gr”že wird beispielsweise ben”tigt, um die Close-, die Full- und die Sizeboxgr”že eines Fensters zu berechnen. Parameter cboxw Breite des breitesten Zeichens, cboxh H”he des h”chsten Zeichens, cfboxw Breite einer Box, die ein Zeichen voll aufnimmt, cfboxh H”he einer Box, die ein Zeichen voll aufnimmt. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 182 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Wartezeit abfragen ======================================================================== Definition WORD GQDelay(VOID); Prototyp in wega.h Aufruf WORD delay; delay = GQDelay(); Verwendung Wartezeit abfragen Beschreibung Mit GQDelay wird die Wartezeit abgefragt, die zwischen zwei Wechseln von Eintr„gen mit einem Cyclebutton o. „. liegen. Rckgabe Wartezeit in Millisekunden Verweis Wega-Graphikfunktionen, WEGA.CPX, WEGACOOK.PRG Handbuch Wega-Developer Kit 183 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Slidermodus abfragen ======================================================================== Definition WORD GQSlide(VOID); Prototyp in wega.h Aufruf WORD mode; mode = GQSlide(); Verwendung Slidermodus abfragen Beschreibung Mit GQSlide wird der Modus abgefragt, wie sich Slider verhalten sollen. Der Slider in einem Scrollbar kann konstant, logarithmisch oder linear ver„ndert werden. Rckgabe Modus (SL_EXPONENTIELL, SL_KONSTANT, SL_LINEAR, SL_LOGARITHMISCH) Verweis Wega-Graphikfunktionen, WEGA.CPX, WEGACOOK.PRG Handbuch Wega-Developer Kit 184 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ šberprfung zweier Rechtecke auf Gleichheit ======================================================================== Definition BOOLEAN GRectEqual(GRECT *a, GRECT *b); Prototyp in wega.h Aufruf GRECT a, b; if(GRectEqual(&a, &b)) { ... } else { ... } Verwendung berprfen, ob zwei Rechtecke identisch sind Beschreibung Es wird berprft, ob zwei Rechtecke identisch sind. Parameter a, b zu betrachtende Rechtecke. Rckgabe TRUE, falls die Rechtecke identisch sind, FALSE, sonst. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 185 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Gemeinsames Rechteck ermitteln ======================================================================== Definition BOOLEAN GRectIntersect(GRECT *inter, GRECT *a, GRECT *b); Prototyp in wega.h Aufruf GRECT a, b, inter; if(GRectIntersect(&inter, &a, &b)) { ... } Verwendung gemeinsames Rechteck ermitteln Beschreibung Der šberlappungsbereich zweier Rechtecke wird ermittelt. Parameter a, b zu betrachtende Rechtecke, inter Rechteck, welches beiden Rechtecken a und b gemeinsam ist. Hier kann auch NULL bergeben werden, falls nur interessant ist, ob sich die beiden Recht- ecke berlappen oder nicht. Rckgabe TRUE, falls sich die Rechtecke berlappen, FALSE, sonst. Verweis Wega-Graphikfunktionen, GRectSurround() Handbuch Wega-Developer Kit 186 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Umgebendes Rechteck ermitteln ======================================================================== Definition VOID GRectSurround(GRECT *surr, GRECT *a, GRECT *b); Prototyp in wega.h Aufruf GRECT a, b, surr; GRectSurround(&surr, &a, &b); Verwendung umgebendes Rechteck ermitteln Beschreibung Es wird ein Rechteck ermitteln, welches beide Ausgangs- rechtecke beinhaltet. Parameter a, b zu betrachtende Rechtecke, surr Rechteck, welches beide Rechtecke a und b enth„lt. Verweis Wega-Graphikfunktionen, GRectIntersect() Handbuch Wega-Developer Kit 187 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Rechteck in Array umwandeln ======================================================================== Definition VOID GRectToArray(WORD *xy, GRECT *g); Prototyp in wega.h Aufruf GRECT g; WORD a[4]; GRectToArray(a, &g); Beispiel Fenster Verwendung Rechteck in Array umwandeln Beschreibung Die Funktion wandeln ein Rechteck (GRECT, also Ursprung - Ecke links oben -, Breite, H”he) in ein Array (Ecke links oben, Ecke rechts unten) um. Parameter g Rechteck, a Array. Verweis Wega-Graphikfunktionen, GArrayToRect() Handbuch Wega-Developer Kit 188 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Rubberbox ======================================================================== Definition VOID GRubberBox(GRECT *source, GRECT *world, WORD *width, WORD *height, VOID (*info)(GRECT *size, VOID* data), VOID *data); Prototyp in wega.h Aufruf GRECT g, world; WORD w, h; VOID (*info)(GRECT*, VOID*); GRubberBox(&g, &world, &w, &h, info, NULL); Verwendung Rubberbox darstellen Beschreibung Ein Rechteck wird innerhalb eines anderen in der Gr”že ver„ndert, wobei eine gleichzeitig eine Infofunktion aufgerufen wird, die ber die aktuelle Position des Rechtecks informiert. Parameter g zu ver„nderndes Rechteck, world Rahmen, in dem das Rechteck ver„ndert werden darf, w Breite, die das Rechteck beim Loslassen der linken Maustaste hatte, wobei auch negative Breiten m”glich sind, h H”he, die das Rechteck beim Loslassen der linken Maustaste hatte, wobei auch negative H”hen m”glich sind, info Funktion, die bei jeder Ver„nderung der Gr”že des Rechtecks aufgerufen wird (oder NULL, falls dies nicht von Interesse ist), data Adresse von Daten, die an die Funktion info durchgereicht wird. Verweis Wega-Graphikfunktionen, graf_rubberbox() Handbuch Wega-Developer Kit 189 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Scrapdirectory l”schen ======================================================================== Definition WORD GScrpClr(VOID); Prototyp in wega.h Aufruf WORD ret; ret = GScrpClr(); if(!ret) { ... } Verwendung Scrapdirectory l”schen Beschreibung Der Inhalt des Scrapdirectorys (Clipboard) wird gel”scht. Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 190 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Scrapdirectorypfad ermitteln ======================================================================== Definition WORD GScrpRead(CHAR *path, LONG *files); Prototyp in wega.h Aufruf WORD ret; CHAR path[MAXPATH]; LONG files; ret = GScrpRead(path, &files); if(!ret) { ... } Verwendung Pfad und Inhalt des Scrapdirectorys ermitteln Beschreibung Der Pfad und der Inhalt (nach bestimmtes Kriterien) werden ermittelt. Somit kann der Zugriff zum Scrapdirectory erfol- gen. Das Scrapdirectory wird angelegt, sofern es vorher nicht existerte. Parameter path Pfad des Scrapdirectorys, files Dateien, die sich im Scrapdirectory befinden. Falls der Inhalt nicht von Interesse ist, so kann auch NULL bergeben werden. Wurde eine Variable ber- geben, so sind je nach gesetzten Bits zu folgenden Masken passende Dateien vorhanden: Bit 0: SCRAP*.CSV Bit 1: SCRAP*.TXT Bit 2: SCRAP*.GEM Bit 3: SCRAP*.IMG Bit 4: SCRAP*.DCA Bit 5: SCRAP*.USR Bit 6: SCRAP*.OUT Bit 7: SCRAP*.DOC Bit 8: SCRAP*.1WP Bit 31: *.* Rckgabe 0, falls kein Fehler aufgetreten ist, !=0, sonst. Verweis Wega-Graphikfunktionen, scrp_read(), scrp_write() Handbuch Wega-Developer Kit 191 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Farben fr 2D-Darstellung setzen ======================================================================== Definition VOID GSet2DColor(WORD text, WORD textlow16, WORD textlow4, WORD background, WORD disabled, WORD line) Prototyp in wega.h Aufruf GSet2DColor(CLR_2D_TEXT, CLR_2D_TEXTLOW16, CLR_2D_TEXTLOW4, CLR_2D_BACKGROUND, CLR_2D_DISABLED, CLR_2D_LINE); Verwendung Farben fr 2D-Darstellung setzen Beschreibung Die Funktion setzt die Farben fr die 2D-Darstellung. Eine Žnderung ist nur n”tig, wenn von der Standardbelegung abgewichen werden soll. Parameter text Textfarbe, textlow16 Textfarbe bei niedriger Aufl”sung mit 16 Farben, textlow4 Textfarbe bei niedriger Aufl”sung mit 4 Farben, background Hintergrundfarbe, disabled Farbe fr gesperrte Darstellung, line Linienfarbe. Verweis Wega-Graphikfunktionen, 3D, G3DTune(), G3DTuneBack(), GQ3DPossible(), GSet3D(), GSet3DColor() Handbuch Wega-Developer Kit 192 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ 3D-Effekte setzen (oder entfernen) ======================================================================== Definition VOID GSet3D(BOOLEAN dim3); Prototyp in wega.h Aufruf GSet3D(TRUE); Verwendung 3D-Effekte aktivieren Beschreibung Die Funktion aktiviert oder deaktiviert die 3D-Effekte der von Wega verwalteten Objekte. Eine automatische Farbanpassung der brigen Objekte erfolgt jedoch nicht. Mens, Dialogboxen, u.s.w. mssen getrennt (ggf. mit G3DTune()) angepažt werden. Nur mit dieser Funktion lassen sich auch die Alertboxen und die Linie im Men mit 3D-Effekten darstellen. Parameter dim3 TRUE, falls 3D-Effekte genutzt werden sollen, FALSE, sonst. Verweis Wega-Graphikfunktionen, 3D, G3DTune(), G3DTuneBack(), GQ3DPossible(), GSet3DColor() Handbuch Wega-Developer Kit 193 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Farben fr 3D-Effekte setzen ======================================================================== Definition VOID GSet3DColor(WORD foreground, WORD background, WORD shadow, WORD light); Prototyp in wega.h Aufruf GSet3DColor(CLR_3D_FOREGROUND, CLR_3D_BACKGROUND, CLR_3D_SHADOW, CLR_3D_LIGHT); Verwendung Farben fr 3D-Effekte setzen Beschreibung Die Funktion setzt die Farben fr die 3D-Effekte. Eine Žnderung ist nur n”tig, wenn von der Standardbelegung abgewichen werden soll. Parameter foreground Vordergrundfarbe, background Hintergrundfarbe, shadow Farbe fr Schattendarstellung, light Farbe fr beleuchtete Seite. Verweis Wega-Graphikfunktionen, 3D, G3DTune(), G3DTuneBack(), GQ3DPossible(), GSet3D(), GSet2DColor() Handbuch Wega-Developer Kit 194 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Desktop setzen ======================================================================== Definition VOID GSetDesk(OBJECT *tree); Prototyp in wega.h Aufruf OBJECT *desk; GSetDesk(desk); ... GDelDesk(); Verwendung Defaultobjektbaum (Desktop) setzen Beschreibung Ein passender Objektbaum wird als Desktop oder besser De- faultobjektbaum gesetzt. Gr”že und Farbe des Rootobjekts werden automatisch angepažt. Bei šbergabe von NULL wird lediglich ein einfacher Hintergrund gesetzt. Das Setzen des Defaultobjektbaums erfolgt zu Anfang des Programms! Parameter desk Pointer auf Objektbaum mit Desktop. Verweis Wega-Graphikfunktionen, GDelDesk(), wind_set() Handbuch Wega-Developer Kit 195 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Men setzen ======================================================================== Definition VOID GSetMenu(OBJECT *tree); Prototyp in wega.h Aufruf OBJECT *menu; GSetMenu(menu); ... GDelMenu(menu); Beispiel Fenster Verwendung Men setzen Beschreibung Diese Funktion setzt ein Men und pažt es an den Bild- schirm an. Parameter menu Pointer auf Objektbaum mit Men. Verweis Wega-Graphikfunktionen, GDelMenu(), menu_bar() Handbuch Wega-Developer Kit 196 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Text in Objektstrukturen setzen ======================================================================== Definition WORD GSetText(OBJECT *obj, const CHAR *s, ...); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; CHAR s[] = "Welt"; if(!GSetText(MakeObj(tree, obj), "Hallo %s.", s)) { ... } Verwendung Texte bzw. Zeichenketten in Objektstrukturen setzen Beschreibung Unabh„ngig vom Typ des Objekts setzt diese Funktion den Inhalt eines zu diesem Objekt geh”rigen Texts. Dies funkti- oniert selbstverst„ndlich nur dann, wenn das Objekt mit Text zu tun hat. Die šbergabe kann analog zu der C-Funktion printf() erfolgen, womit maximale Flexibilit„t erreicht wird. Parameter obj Pointer auf eine Objektstruktur s Formatstring (analog printf()) ... ggf. weitere Parameter Rckgabe 0, falls kein Fehler aufgetreten ist, -1 sonst. Verweis Wega-Graphikfunktionen, GGetText() Handbuch Wega-Developer Kit 197 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Slidebox ======================================================================== Definition WORD GSlideBox(OBJECT *tree, WORD parent, WORD slider, WORD mode, VOID (*info)(WORD exp, VOID *data), VOID *data); Prototyp in wega.h Aufruf OBJECT *tree; WORD position; VOID (*info)(WORD, VOID*); position = GSlideBox(tree, PARENT, SLIDER, 0, info, NULL); Verwendung Slidebox darstellen Beschreibung Ein Rechteck (Slider) wird innerhalb eines anderen verscho- ben (Parent), wobei eine gleichzeitig eine Infofunktion aufgerufen wird, die ber die aktuelle Position des Recht- ecks informiert. Das Rechteck kann jedoch nur entweder horizontal oder vertikal bewegt werden! Parameter tree Objektbaum, der Parent und Slider enth„lt, parent Objekt, welches das Objekt slider enth„lt, slider zu verschiebendes Objekt (Slider), mode 0: horizontal verschieben, 1: vertikal verschieben, info Funktion, die bei jeder Ver„nderung der Position des Sliders mit einem Wert zwischen 0 und 1000 aufgerufen wird (oder NULL, falls dies nicht von Interesse ist), data Adresse von Daten, die an die Funktion info durchgereicht wird. Rckgabe Position des Sliders in Promille (Wert zwischen 0 und 1000). Verweis Wega-Graphikfunktionen, graf_slidebox() Handbuch Wega-Developer Kit 198 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Objektbaum durchlaufen ======================================================================== Definition VOID GTreeWalk(OBJECT *tree, WORD start, BOOLEAN (*callrout)(OBJECT *dial, WORD obj, VOID *data), VOID *data); Prototyp in wega.h Aufruf OBJECT *tree; BOOLEAN (*do_it)(OBJECT*, WORD, VOID*); GTreeWalk(tree, ROOT, do_it, NULL); Beispiel Dialog, Fenster Verwendung Objektbaum ab dem Objekt start hierarchisch abw„rts durchlaufen Beschreibung Diese Funktion stellt die ntzliche M”glichkeit dar, Ob- jektb„ume zu durchlaufen. Fr jedes Objekt im Baum tree wird hierarchisch abw„rts ab dem Objekt start (inklusive!) die Funktion do_it aufgerufen. Somit lassen sich beispielsweise praktische Initialisierungen vornehmen. Parameter tree Objektbaum. start Startobjekt (ROOT fr den vollst„ndigen Objekt- baum). callrout Pointer auf eine Funktion, die fr jedes Objekt aufgerufen werden soll. Die Funktion gibt TRUE zurck, falls der Objektbaum nicht weiter durch- laufen werden soll, und FALSE sonst, data Adresse von Daten, die an die Funktion callrout durchgereicht wird. Verweis Wega-Graphikfunktionen, GChildWalk() Handbuch Wega-Developer Kit 199 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Wega abmelden ======================================================================== Definition VOID GWegaDone(VOID); Prototyp in wega.h Aufruf if(GWegaInit()) { ... GWegaDone(); } Beispiel Dialog, Fenster Verwendung Wega abmelden Beschreibung Diese Funktion meldet Wega (bzw. interne Vereinbarungen) beim System ab. Verweis Wega-Graphikfunktionen, GWegaInit() Handbuch Wega-Developer Kit 200 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Wega initialisieren ======================================================================== Definition BOOLEAN GWegaInit(VOID); Prototyp in wega.h Aufruf if(GWegaInit()) { ... GWegaDone(); } Beispiel Dialog, Fenster Verwendung Wega initialisieren Beschreibung Vor einem Aufruf einer Dialogboxfunktion sowie diverser anderen Funktioen muž eine Wega initialisiert sein, damit intern verwandte Werte korrekt gesetzt werden k”nnen. Es k”nnen mehrere GWegaInit()- und GWegaDone()-Aufrufe geschachtelt werden. Die Funktion ”ffnet eine virtuelle Workstation und fordert somit indirekt Speicher an. Dieser Tatsache muž insbesondere bei Accessories Rechnung getragen werden. Rckgabe TRUE, falls die Initialisierung erfolgreich war, FALSE sonst. Verweis Wega-Graphikfunktionen, GWegaDone() Handbuch Wega-Developer Kit 201 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Bubble-Dialog aufrufen ======================================================================== Definition BOOLEAN GXBubble(GPOINT *pkt, WORD relation, DLGINFO *dlginfo); Prototyp in wega.h Aufruf GPOINT pkt; DLGINFO *dlginfo; if(!GXBubble(&pkt, BUBBLE_CENTER, dlginfo)) { ... } Verwendung Bubble-Dialog fr kleine Hilfen o.„. Beschreibung Mit dieser Funktion wird ein einfacher Dialog ohne Bedienungselemente aufgerufen. Dieser Dialog bleibt solange auf dem Bildschirm, bis die linke Maus- taste wieder losgelassen oder , oder gedrckt oder die Maus bewegt wird. Es ist nicht Voraussetzung, daž die linke Maustaste bei Aufruf des Popup-Mens bereits gedrckt ist. Parameter pkt Bildschirmkoordinaten des Punktes, an dem der Dialog erscheinen soll, relation Position des Dialogs relativ zu pkt, dlginfo DLGINFO-Struktur des Dialogs. Rckgabe TRUE, falls die Aktivierung erfolgt ist, FALSE, sonst. Verweis Wega-Graphikfunktionen, BUBBLE_... Handbuch Wega-Developer Kit 202 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ siehe GFormDo(), form_do() Verweis Wega-Graphikfunktionen Handbuch Wega-Developer Kit 203 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ Popup-Men aufrufen ======================================================================== Definition WORD GXPopUp(OBJECT *tree); Prototyp in wega.h Aufruf OBJECT *tree; ... switch(GXPopUp(tree)) { case 1: break; ... case -1: ... break; case -2: ... break; default: ... break; } Verwendung Popup-Men in Dialogboxen oder zur sonstigen Verwendung Beschreibung Mit dieser Funktion wird ein Popup-Men aufgerufen. Dieses Men bleibt solange auf dem Bildschirm, bis die linke Maus- taste wieder losgelassen oder , oder gedrckt wird. Steht der Mauszeiger beim Loslassen der Maustaste innerhalb des Popup-Mens oder wird oder gedrckt, so wird der selektierte Eintrag gew„hlt. Es ist nicht Voraussetzung, daž die linke Maustaste bei Aufruf des Popup-Mens bereits gedrckt ist. Mit den Cursortasten und kann innerhalb des Popup-Mens zwischen den Eintr„gen gewechselt werden. Die Taste erm”glicht einen Sprung zum ersten Eintrag. Das Flag SELECTABLE und der Status DISABLED werden untersttzt. Beim Aufruf darf bei keinem Objekt der Status SELECTED gesetzt sein! Die Objektbaum muž folgende Gestalt haben: ROOT / \ / \ Child 1 ... Child n In die Auswahl werden alle Objekte einbezogen, bei denen das Flag SELECTABLE - jedoch nicht der Status DISABLED - gesetzt ist. Parameter tree Adresse eines Objektbaums passenden Aufbaus. Rckgabe -3, falls kein Eintrag selektierbar ist, Handbuch Wega-Developer Kit 204 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Graphikfunktionen ------------------------------------------------------------------------ -2, falls ein Fehler aufgetreten ist, -1, falls kein Eintrag gew„hlt wurde, >=0, falls ein Eintrag gew„hlt wurde. Verweis Wega-Graphikfunktionen, GPopUp() Handbuch Wega-Developer Kit 205 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Speicherunktionen ------------------------------------------------------------------------ X. Speicherunktionen ******************** Speicher reservieren ======================================================================== Definition VOID* MemAlloc(LONG amount); Prototyp in wega.h Aufruf BYTE *mem; mem = (BYTE*)MemAlloc(4711L); if(mem) { ... MemFree(mem); } Verwendung Speicher reservieren Beschreibung Die angegebene Speichergr”že wird - prim„r aus dem alter- nativen Speicher, sofern vorhanden - reserviert. Die fr das Betriebssystem notwendigen 8 kB bleiben auf jeden Fall unberhrt. Parameter amount Gr”že des Speichers (in Byte). Rckgabe Pointer auf den Speicherbereich oder NULL, falls nicht gengend Speicher zur Verfgung stand. Verweis Wega-Speicherfunktionen, Malloc(), Mxalloc() Handbuch Wega-Developer Kit 206 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Speicherunktionen ------------------------------------------------------------------------ Speicher komprimieren ======================================================================== Definition BOOLEAN MemCompress(CHAR (*f_in)(VOID), BOOLEAN (*f_fin)(VOID), VOID (*f_out)(CHAR c)); Prototyp in wega.h Aufruf CHAR (*f_in)(VOID); BOOLEAN (*f_fin)(VOID); VOID (*f_out)(CHAR c); if(MemCompress(f_in, f_fin, f_out)) { ... } else { ... } Verwendung Speicher komprimieren Beschreibung šber die Funktionen, die bei MemCompress() angegeben werden, ist es m”glich, Speicher jeder Art zu komprimieren. Dieser kann mit MemExtract() wieder expandiert werden. Parameter f_in Eingabefunktion fr zeichenweise Eingabe, f_fin Endefunktion (TRUE: Ende, FALSE: sonst), f_out Ausgabefunktion fr zeichenweise Ausgabe. Rckgabe TRUE, falls die Ausfhrung erfolgreich war, FALSE, sonst. Verweis Wega-Speicherfunktionen Handbuch Wega-Developer Kit 207 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Speicherunktionen ------------------------------------------------------------------------ Speicher expandieren/extrahieren ======================================================================== Definition BOOLEAN MemExtract(CHAR (*f_in)(VOID), BOOLEAN (*f_fin)(VOID), VOID (*f_out)(CHAR c)); Prototyp in wega.h Aufruf CHAR (*f_in)(VOID); BOOLEAN (*f_fin)(VOID); VOID (*f_out)(CHAR c); if(MemExtract(f_in, f_fin, f_out)) { ... } else { ... } Verwendung Speicher extrahieren/expandieren Beschreibung šber die Funktionen, die bei MemExtract() angegeben werden, ist es m”glich, Speicher, der zuvor mit MemCompress() komprimiert wurde, zu extrahieren. Parameter f_in Eingabefunktion fr zeichenweise Eingabe, f_fin Endefunktion (TRUE: Ende, FALSE: sonst), f_out Ausgabefunktion fr zeichenweise Ausgabe. Rckgabe TRUE, falls die Ausfhrung erfolgreich war, FALSE, sonst. Verweis Wega-Speicherfunktionen Handbuch Wega-Developer Kit 208 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Speicherunktionen ------------------------------------------------------------------------ Speicher freigeben ======================================================================== Definition VOID MemFree(VOID *block); Prototyp in wega.h Aufruf BYTE *mem; mem = (BYTE*)MemAlloc(4711L); if(mem) { ... MemFree(mem); } Verwendung reservierten Speicher freigeben Beschreibung Die reservierte Speicher wird freigegeben. Parameter mem Adresse des Speicherbereichs. Verweis Wega-Speicherfunktionen, Mfree() Handbuch Wega-Developer Kit 209 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Speicherunktionen ------------------------------------------------------------------------ Maximalen Speicherblock erfragen ======================================================================== Definition LONG MemQuery(VOID); Prototyp in wega.h Aufruf LONG maxblock; maxblock = MemQuery(); Verwendung gr”žten Speicherblock erfragen Beschreibung Die Gr”že des gr”žten, derzeit verfgbaren Speicherblocks wird ermittelt. Rckgabe Gr”žter Speicherblock (in Byte). Verweis Wega-Speicherfunktionen Handbuch Wega-Developer Kit 210 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Speicherunktionen ------------------------------------------------------------------------ Speicher verkrzen ======================================================================== Definition WORD MemShrink(VOID *block, LONG newsize); Prototyp in wega.h Aufruf BYTE *mem; WORD err; err = MemShrink(mem, 4408L); if(err) { ... } Verwendung Speicher verkrzen Beschreibung Der dynamisch reservierte Speicher, der ber mem gekennzeichnet ist, wird auf das angegebene Maž verkrzt. Parameter block Adresse des Speichers, newsize neue Gr”že. Rckgabe 0, falls kein Fehler aufgetreten ist, != 0, sonst. Verweis Wega-Speicherfunktionen, MemAlloc(), MemFree() Handbuch Wega-Developer Kit 211 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Systemfunktionen ------------------------------------------------------------------------ XI. Systemfunktionen ******************** Tastaturattribute ermitteln oder setzen ======================================================================== Definition WORD OsConAttr(WORD new); Prototyp in wega.h Aufruf WORD conattr; conattr = OsConAttr(-1); Verwendung Tastaturattribute ermitteln oder setzen Beschreibung Die Funktion fragt die Tastaturattribute ab bzw. setzt sie. Parameter new neuer Status (Attribute) oder -1, wenn Status nur abgefragt werden soll. Statusbits: Bit 0: Tastenklick ein/aus Bit 1: Tastenwiederholung ein/aus Bit 2: Glocke bei Ausgabe von CONTROL+ (Die Žnderungen drfen nur lokal ausgefhrt werden! Globale Žnderungen bleiben dem Kontrollfeld oder einem anderen zentralen Programm vorbehalten!) Rckgabe aktueller Status. Verweis Wega-Systemfunktionen Handbuch Wega-Developer Kit 212 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Systemfunktionen ------------------------------------------------------------------------ Cookie ermitteln ======================================================================== Definition BOOLEAN OsGetCookie(LONG cookie, LONG *p_value); Prototyp in wega.h Aufruf LONG cookie = 0x57454741; /* "WEGA" */ p_value; if(OsGetCookie(cookie, &p_value)) { ... } Beispiel Dialog Verwendung Cookie ermitteln Beschreibung Die Funktion prft, ob der Cookiejar und der gewnschte Cookie cookie vorhanden sind. Sind beide vorhanden, so wird der Wert, der zu dem Cookie geh”rt in p_value zurckgegeben. (Der Cookie "WEGA" geh”rt zu Wega. Er besagt u.a., daž ein globaler Zwischenspeicher fr die Editfelderinhalte existiert. Andere Cookie sind entweder selbst definiert oder geh”ren zum System, wobei Systemcookie mit einem Unterstrich "_" beginnen.) Parameter cookie gesuchter Cookie (in der Regel vier Buchstaben), p_value Wert des Cookies (oder NULL, falls uninteressant). Rckgabe TRUE, falls Cookie gefunden, FALSE, sonst. Verweis Wega-Systemfunktionen, WEGACOOK.PRG Handbuch Wega-Developer Kit 213 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Systemfunktionen ------------------------------------------------------------------------ L„nderkennung des Betriebssystems ermitteln ======================================================================== Definition WORD OsGetCountry(VOID); Prototyp in wega.h Aufruf WORD country; country = OsGetCountry(); Verwendung L„nderkennung ermitteln Beschreibung Die Funktion ermittelt, welche L„nderkennung das Betriebs- system besitzt. Dementsprechend kann etwa das Format des Datums und der Zeit angepažt werden. Rckgabe L„nderkennung. Verweis Wega-Systemfunktionen, CNTRY_... Handbuch Wega-Developer Kit 214 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Systemfunktionen ------------------------------------------------------------------------ Versionsdatum des Betriebssystems erfragen ======================================================================== Definition WORD OsGetDate(VOID); Prototyp in wega.h Aufruf WORD tos_date; tos_date = OsGetDate(); Verwendung Versionsdatum des Betriebssystems erfragen Beschreibung Die Funktion fragt das Datum (im GEMDOS-Format) des Betriebssystems ab. Rckgabe Versionsdatum: Bits Bedeutung 0-4 Tag (1-31) 5-8 Monat (1-12) 9-15 Jahr (0-119, 0=1980) Verweis Wega-Systemfunktionen Handbuch Wega-Developer Kit 215 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Systemfunktionen ------------------------------------------------------------------------ Anzahl der verfgbaren Diskettenlaufwerke ermitteln ======================================================================== Definition WORD OsGetNmbFloppy(VOID); Prototyp in wega.h Aufruf WORD nmb_floppy; nmb_floppy = OsGetNmbFloppy(); Verwendung Anzahl der Diskettenlaufwerke ermitteln Beschreibung Die Funktion liefert die Anzahl der physikalisch verfg- baren Diskettenlaufwerke. Logisch verfgbar sind in der Regel immer 2 Laufwerke, jedoch nicht physikalisch! Rckgabe Anzahl der Diskettenlaufwerke. Verweis Wega-Systemfunktionen Handbuch Wega-Developer Kit 216 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Systemfunktionen ------------------------------------------------------------------------ Version des Betriebssystems erfragen ======================================================================== Definition WORD OsGetVersion(VOID); Prototyp in wega.h Aufruf WORD tos_version; tos_version = OsGetVersion(); printf("%X.%02X", (tos_version & 0xFF00) >> 8, tos_version & 0xFF); Verwendung Version des Betriebssystems erfragen Beschreibung Die Funktion liefert die Version des Betriebssystem im Hexadezimalformat. Rckgabe Version des Betriebsystems. Verweis Wega-Systemfunktionen Handbuch Wega-Developer Kit 217 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ XII. Fensterfunktionen ********************** Fenster schliežen ======================================================================== Definition BOOLEAN WClose(WORD w_handle); Prototyp in wega.h Aufruf WORD w_handle; if(WClose(w_handle)) { ... } Beispiel Fenster Verwendung Fenster schliežen Beschreibung Das ber w_handle identifizierte Fenster wird geschlossen und aus dem Speicher entfernt. Parameter w_handle Handle des Fensters. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen Handbuch Wega-Developer Kit 218 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster ausgeben ======================================================================== Definition BOOLEAN WDraw(WORD w_handle, VOID (*draw)(GRECT *rect, VOID *data), VOID *data); Prototyp in wega.h Aufruf VOID (*drawwin)(GRECT*, VOID*); struct mystruct mydata; if(WDraw(w_handle, drawwin, &mydata)) { ... } Verwendung Fenster ausgeben Beschreibung Das ber w_handle identifizierte Fenster wird verm”ge der Funktion draw() gezeichnet. Parameter w_handle Handle des Fensters, draw Ausgabefunktion (mit zu zeichnendem Rechteck und den Daten data als Parameter), data individuelle Daten. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WObjcDraw(), WObjcRDraw() Handbuch Wega-Developer Kit 219 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster auf volle Gr”že bringen ======================================================================== Definition BOOLEAN WFull(WORD w_handle); Prototyp in wega.h Aufruf WORD w_handle; if(WFull(w_handle)) { ... } Beispiel Fenster Verwendung Fenster auf volle Gr”že bzw. vorige Gr”že bringen Beschreibung Das ber w_handle identifizierte Fenster wird auf volle Gr”že gebracht, wenn es diese nicht innehatte, bzw. auf die alte Gr”že, wenn es bereits in voller Gr”že dargestellt wurde. Parameter w_handle Handle des Fensters. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen Handbuch Wega-Developer Kit 220 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster bewegen ======================================================================== Definition BOOLEAN WMove(WORD w_handle, GPOINT *p); Prototyp in wega.h Aufruf WORD w_handle; GPOINT p; if(WMove(w_handle, &p)) { ... } Beispiel Fenster Verwendung Fenster an neue Position bewegen Beschreibung Das ber w_handle identifizierte Fenster wird an die neue Position gebracht. Parameter w_handle Handle des Fensters, p neue Position. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WObjcMove() Handbuch Wega-Developer Kit 221 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster mit Objektbaum ausgeben ======================================================================== Definition BOOLEAN WObjcDraw(WORD w_handle, OBJECT *tree, WORD obj); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; if(WObjcDraw(w_handle, tree, obj)) { ... } Verwendung Fenster mit Objektbaum ausgeben Beschreibung Das ber w_handle identifizierte Fenster wird gezeichnet. Der Fensterinhalt ist ein Objektbaum. Diese Funktion kann zum Beispiel bei Dialogen in Fenstern Verwendung finden. Parameter w_handle Handle des Fensters, tree Objektbaum, obj Objekt, welches auszugeben ist. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WObjcRDraw(), WObjcRedraw(), WObjcRRedraw(), WDraw(), WRedraw(), GObjcDraw() Handbuch Wega-Developer Kit 222 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster mit Objektbaum bewegen ======================================================================== Definition BOOLEAN WObjcMove(WORD w_handle, OBJECT *tree, GPOINT *np); Prototyp in wega.h Aufruf WORD w_handle; OBJECT *tree; GPOINT p; if(WObjcMove(w_handle, tree, &p)) { ... } Verwendung Fenster mit Objektbaum an neue Position bewegen Beschreibung Das ber w_handle identifizierte, einen Objektbaum beinhaltende Fenster wird an die neue Position gebracht. Parameter w_handle Handle des Fensters, tree Objektbaum, p neue Position. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WMove() Handbuch Wega-Developer Kit 223 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster mit Objektbaum ab Wurzelobjekt ausgeben ======================================================================== Definition BOOLEAN WObjcRDraw(WORD w_handle, OBJECT *tree, WORD obj); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; if(WObjcRDraw(w_handle, tree, obj)) { ... } Verwendung Fenster mit Objektbaum ab Wurzelobjekt ausgeben Beschreibung Das ber w_handle identifizierte Fenster wird gezeichnet. Der Fensterinhalt ist ein Objektbaum. Ausgegeben wird in der Objektbaumhierarchie nicht ab dem Objekt obj, sondern ab dem Wurzelobjekt. Insbesondere bei transparenten Objekten ist dies von Interesse. Diese Funktion kann zum Beispiel bei Dialogen in Fenstern Verwendung finden. Parameter w_handle Handle des Fensters, tree Objektbaum, obj Objekt, welches auszugeben ist. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WObjcDraw(), WObjcRRedraw(), WObjcRedraw(), WDraw(), WRedraw(), GObjcRDraw() Handbuch Wega-Developer Kit 224 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster mit Objektbaum (neu) ausgeben ======================================================================== Definition BOOLEAN WObjcDraw(WORD w_handle, GRECT *clip, OBJECT *tree, WORD obj); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; GRECT cliprect; if(WObjcDraw(w_handle, &cliprect, tree, obj)) { ... } Verwendung Fenster mit Objektbaum (neu) ausgeben Beschreibung Das ber w_handle identifizierte Fenster wird neu gezeichnet. Der Fensterinhalt ist ein Objektbaum. Diese Funktion kann zum Beispiel bei Dialogen in Fenstern Verwendung finden. Parameter w_handle Handle des Fensters, clip einschr„nkendes Rechteck (oder NULL), tree Objektbaum, obj Objekt, welches auszugeben ist. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WObjcDraw(), WObjcRDraw(), WObjcRRedraw(), WDraw(), WRedraw(), GObjcDraw() Handbuch Wega-Developer Kit 225 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster mit Objektbaum ab Wurzelobjekt (neu) ausgeben ======================================================================== Definition BOOLEAN WObjcRReraw(WORD w_handle, GRECT *clip, OBJECT *tree, WORD obj); Prototyp in wega.h Aufruf OBJECT *tree; WORD obj; GRECT cliprect; if(WObjcRRedraw(w_handle, &cliprect, tree, obj)) { ... } Verwendung Fenster mit Objektbaum ab Wurzelobjekt (neu) ausgeben Beschreibung Das ber w_handle identifizierte Fenster wird neu gezeichnet. Der Fensterinhalt ist ein Objektbaum. Ausgegeben wird in der Objektbaumhierarchie nicht ab dem Objekt obj, sondern ab dem Wurzelobjekt. Insbesondere bei transparenten Objekten ist dies von Interesse. Diese Funktion kann zum Beispiel bei Dialogen in Fenstern Verwendung finden. Parameter w_handle Handle des Fensters, clip einschr„nkendes Rechteck (oder NULL), tree Objektbaum, obj Objekt, welches auszugeben ist. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WObjcDraw(), WObjcRDraw(), WObjcRedraw(), WDraw(), WRedraw(), GObjcRDraw() Handbuch Wega-Developer Kit 226 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster ”ffnen ======================================================================== Definition WORD WOpen(WORD flags, const CHAR *name, const CHAR *info, GRECT *maxsize, GRECT *opensize); Prototyp in wega.h Aufruf WORD w_handle, myflags; GRECT msze, osze; w_handle = WOpen(myflags, " Fenster ", NULL, &msze, &osze); if(w_handle < 0) { /* Fehlermeldung */ ... } Beispiel Fenster Verwendung Fenster ”ffnen Beschreibung Die Funktion legt ein Fenster an und ”ffnet es. Die Leerzeichen rechts und links vom Namen werden nicht automatisch erg„nzt. Parameter flags Flags, die das Aussehen bestimmen, name Name (oder NULL, falls keiner gewnscht ist), info Informationszeile (oder NULL, falls keine gewnscht ist), maxsize maximale Gr”že (oder NULL fr gr”žtm”gliche Gr”že), opensize Gr”že, in der das Fenster ge”ffnet wird (oder NULL fr gr”žtm”gliche Gr”že). Rckgabe >= 0, Fensterhandle oder < 0, falls Fehler aufgetreten ist. Verweis Wega-Fensterfunktionen, WClose(), WSetInfo(), WSetTitle() Handbuch Wega-Developer Kit 227 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster (neu) ausgeben ======================================================================== Definition BOOLEAN WRedraw(WORD w_handle, GRECT *rect VOID (*draw)(GRECT *rect, VOID *data), VOID *data); Prototyp in wega.h Aufruf VOID (*drawwin)(GRECT*, VOID*); struct mystruct mydata; GRECT rect if(WRedraw(w_handle, &rect, drawwin, &mydata)) { ... } Beispiel Fenster Verwendung Fenster (neu) ausgeben Beschreibung Das ber w_handle identifizierte Fenster wird verm”ge der Funktion draw() neu gezeichnet. Parameter w_handle Handle des Fensters, rect auszugebendes Rechteck (oder NULL fr volles Rechteck), draw Ausgabefunktion (mit zu zeichnendem Rechteck und den Daten data als Parameter), data individuelle Daten. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WObjcDraw(), WObjcRDraw() Handbuch Wega-Developer Kit 228 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Informationszeile eines Fensters setzen ======================================================================== Definition BOOLEAN WSetInfo(WORD w_handle, CHAR **buffer, const CHAR *s, ...); Prototyp in wega.h Aufruf WORD w_handle; UWORD foundfiles; CHAR *buffer; if(WSetInfo(w_handle, &buffer, "Gefundene Dateien: %u", foundfiles)) { ... free(buffer); } Verwendung Informationszeile eines Fensters setzen Beschreibung Die Informationszeile des ber w_handle identifizierten Fensters wird mit der Funktion WSetInfo() analog printf() gesetzt. Parameter w_handle Handle des Fensters, buffer Puffer fr Fenstertitel (erst freigeben nach dem Schliežen des Fenster oder nach dem Setzen einer neuen Informationszeile!), s Formatangabe der Zeichenkette, ... Parameter gem„ž s. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WOpen() Handbuch Wega-Developer Kit 229 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Titelzeile eines Fensters setzen ======================================================================== Definition BOOLEAN WSetTitle(WORD w_handle, CHAR **buffer, const CHAR *s, ...); Prototyp in wega.h Aufruf WORD w_handle; BOOLEAN new; CHAR *name, *path, *buffer; if(WSetTitle(w_handle, &buffer "%s%s%s", new ? "*" : "", path, wildcard)) { ... free(buffer); } Verwendung Titelzeile eines Fensters setzen Beschreibung Die Titelzeile des ber w_handle identifizierten Fensters wird mit der Funktion WSetTitle() analog printf() gesetzt. Die Leerzeichen rechts und links des Titels werden automatisch erg„nzt. Parameter w_handle Handle des Fensters, buffer Puffer fr Fenstertitel (erst freigeben nach dem Schliežen des Fenster oder nach dem Setzen eines neuen Titels!), s Formatangabe der Zeichenkette, ... Parameter gem„ž s. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen, WOpen() Handbuch Wega-Developer Kit 230 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster in der Gr”že ver„ndern ======================================================================== Definition BOOLEAN WSize(WORD w_handle, GRECT *g); Prototyp in wega.h Aufruf WORD w_handle; GRECT g; if(WSize(w_handle, &g)) { ... } Beispiel Fenster Verwendung Fenster in der Gr”že ver„ndern Beschreibung Das ber w_handle identifizierte Fenster wird an die neue Gr”že angepažt. Parameter w_handle Handle des Fensters, g neue Gr”že. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen Handbuch Wega-Developer Kit 231 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Fensterfunktionen ------------------------------------------------------------------------ Fenster nach oben bringen ======================================================================== Definition BOOLEAN WTop(WORD w_handle); Prototyp in wega.h Aufruf WORD w_handle; if(WTop(w_handle)) { ... } Beispiel Fenster Verwendung Fenster nach oben bringen Beschreibung Das ber w_handle identifizierte Fenster wird nach oben gebracht, also aktiviert. Parameter w_handle Handle des Fensters. Rckgabe TRUE, falls der Aufruf erfolgreich war, FALSE, sonst. Verweis Wega-Fensterfunktionen Handbuch Wega-Developer Kit 232 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ XIII. Beispiele *************** Beispiel: Dialog ======================================================================== Verwandte Wega-Elemente: Makros und Typen BOOLEAN CNTR_AUTO CNTR_WORLD DLGINFO INFOVSCR LONG VOID WORD Funktionen und Funktionsmakros: GChgState() GDialCenter() GDialFinish() GDialInit() GDialPrepare() GFormDo() GTreeWalk() GWegaDone() GWegaInit() MakeObj() OsGetCookie() Datei BSP_DIAL.C: ----------------- /* Beispiel Dialog =============== Dieses Beispiel demonstriert den Umgang mit den Dialogfunktionen. Copyright 1992 by D. Rabich, Dlmen. Alle Rechte vorbehalten. */ /* Header der C-Bibliotheken ---------------------------------------- */ #include /* Wega-Definitionen ------------------------------------------------ */ #include /* Resourcen-Definitionen ------------------------------------------- */ #include "resource.h" #include "resource.rsh" /* Makros ----------------------------------------------------------- */ /* Fehlertext */ #define NOWEGA "[3][Die Applikation kann|" \ "nicht initialisiert|" \ "werden.][ Abbruch ]" /* Cookie VSCR */ Handbuch Wega-Developer Kit 233 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ #define COOKIE_VSCR 0x56534352L /* lokale Variablen ------------------------------------------------- */ static WORD appl_id; /* Prototypen ------------------------------------------------------- */ static BOOLEAN rinit(OBJECT*, WORD, VOID*); static BOOLEAN rsc_init(OBJECT**); static VOID center(DLGINFO*); static VOID DoMyDial(DLGINFO*); VOID main(VOID); /* Funktionen ------------------------------------------------------- */ /* Objekte initialisieren */ #pragma warn -par static BOOLEAN rinit(OBJECT *tree, WORD obj, VOID *data) { rsrc_obfix(tree, obj); return(FALSE); } #pragma warn .par /* Resourceinitialisierung */ static BOOLEAN rsc_init(OBJECT **tree) { *tree = rs_trindex[DLG]; GTreeWalk(*tree, ROOT, rinit, NULL); return(TRUE); } /* Zentrierung */ static VOID center(DLGINFO *di) { INFOVSCR *value = NULL; /* Existiert der VSCR-Cookie? */ /* Dann gem„ž Ausschnitt zentrieren. */ if(OsGetCookie(COOKIE_VSCR, (LONG*)&value)) if((value->product) && (value->cookie == COOKIE_VSCR)) { GDialCenter(di, CNTR_WORLD, &(value->visible)); return; } GDialCenter(di, CNTR_AUTO, NULL); } /* Dialogabhandlung */ static VOID DoMyDial(DLGINFO *di) { WORD ret; LONG start = 0L; BOOLEAN dummy; /* Dialogbox zentrieren */ center(di); Handbuch Wega-Developer Kit 234 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ /* Dialogbox vorbereiten */ GDialPrepare(di); /* Dialog durchfhren, bis Ende gewnscht */ for(;;) { /* FormDo durchfhren */ ret = GFormDo(di, &start, &dummy, (WORD(*)(KEY*, VOID*))0L, (LONG(*)(VOID*))0L, NULL, NULL); /* OK angeklickt? */ if(ret == BOK) { /* Status zurcksetzen */ GChgState(MakeObj(di->tree, ret), SELECTED, MODE_DELETE); /* Ende der Schleife! */ break; } } /* Dialog beenden */ GDialFinish(di); } /* Hauptprogramm */ VOID main(VOID) { OBJECT *dlgtree; DLGINFO dlginfo; /* Anmeldung bei den AES */ appl_id = appl_init(); if(appl_id >= 0) { /* Wega initialisieren */ if(GWegaInit()) { /* Resourcen initialisieren */ rsc_init(&dlgtree); /* Dialogbox einmalig vorbereiten */ GDialInit(dlgtree, NULL, NULL, &dlginfo); /* Dialog durchfhren */ DoMyDial(&dlginfo); /* Wega abmelden */ GWegaDone(); } else form_alert(1, NOWEGA); /* Abmeldung bei den AES */ appl_exit(); } } Handbuch Wega-Developer Kit 235 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ Datei RESOURCE.H: ----------------- /* Resource Datei Indizes fr RESOURCE */ #define DLG 0 /* Formular/Dialog */ #define BOK 4 /* BUTTON in Baum DLG */ Datei RESOURCE.RSH: ------------------- /* GEM Resource C Source */ #include #include #include "RESOURCE.H" #if !defined(WHITEBAK) #define WHITEBAK 0x0040 #endif #if !defined(DRAW3D) #define DRAW3D 0x0080 #endif #define FLAGS9 0x0200 #define FLAGS10 0x0400 #define FLAGS11 0x0800 #define FLAGS12 0x1000 #define FLAGS13 0x2000 #define FLAGS14 0x4000 #define FLAGS15 0x8000 #define STATE8 0x0100 #define STATE9 0x0200 #define STATE10 0x0400 #define STATE11 0x0800 #define STATE12 0x1000 #define STATE13 0x2000 #define STATE14 0x4000 #define STATE15 0x8000 TEDINFO rs_tedinfo[] = { "Hello World!", "", "", IBM, 0, TE_CNTR, 0x1180, 0, -1, 13, 1 }; OBJECT rs_object[] = { /******** Tree 0 DLG ************************************************/ -1, 1, BOK, G_BOX, /* Object 0 */ NONE, OUTLINED, (LONG)0x00021100L, 0x0000, 0x0000, 0x001B, 0x0007, 2, -1, -1, G_BOX|0x1700, /* Object 1 */ SELECTABLE|EXIT, NORMAL, (LONG)0x00FF1100L, 0x0019, 0x0000, 0x0002, 0x0001, 3, -1, -1, G_STRING|0x1600, /* Object 2 */ NONE, NORMAL, (LONG)"Beispiel Dialog", 0x0002, 0x0001, 0x000F, 0x0001, Handbuch Wega-Developer Kit 236 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ BOK, -1, -1, G_TEXT, /* Object 3 */ NONE, NORMAL, (LONG)&rs_tedinfo[0], 0x0002, 0x0003, 0x0017, 0x0001, 0, -1, -1, G_BUTTON|0x0900, /* Object 4 BOK */ SELECTABLE|DEFAULT|EXIT|LASTOB, NORMAL, (LONG)"[OK", 0x0010, 0x0005, 0x0009, 0x0001 }; OBJECT *rs_trindex[] = { &rs_object[0] /* Tree 0 DLG */ }; Datei BSP_DIAL.PRJ: ------------------- ; Projektdatei fr BSP_DIAL BSP_DIAL.APP ; Name = ; Die Liste der Moduln... PCSTART.O ; Startup-Code BSP_DIAL (RESOURCE.H, RESOURCE.RSH) ; Hauptmodul WEGA.O ; Wega PCSTDLIB.LIB ; Standard-Bibliothek PCTOSLIB.LIB ; TOS-Bibliothek PCGEMLIB.LIB ; GEM-Bibliothek Handbuch Wega-Developer Kit 237 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ Beispiel: Fenster ======================================================================== Verwandte Wega-Elemente: Makros und Typen BOOLEAN GPOINT VOID WORD Funktionen und Funktionsmakros: GBitblkInformation() GBitblkStopsign() GCloseWorkstation() GDelMenu() GDoAlert() GMArrow() GOpenWorkstation() GRectToArray() GSetMenu() GTreeWalk() GWegaDone() GWegaInit() WClose() WFull() WMove() WOpen() WRedraw() WSize() WTop() Datei BSP_FENS.C: ----------------- /* Beispiel Fenster ================ Dieses Beispiel demonstriert den Umgang mit den Fensterfunktionen. Copyright 1992 by D. Rabich, Dlmen. Alle Rechte vorbehalten. */ /* Header der TOS-Bibliotheken -------------------------------------- */ #include /* Header der C-Bibliotheken ---------------------------------------- */ #include /* Wega-Definitionen ------------------------------------------------ */ #include /* Resourcen-Definitionen ------------------------------------------- */ #include "resource.h" #include "resource.rsh" /* Makros ----------------------------------------------------------- */ /* Fehlertexte */ #define NOWEGA "[3][Die Applikation kann|" \ Handbuch Wega-Developer Kit 238 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ "nicht initialisiert|" \ "werden.][ Abbruch ]" #define NOVDI "Es kann keine Workstation zur " \ "Ausgabe ge”ffnet werden!" #define NOWINDOW "Das Beispielfenster konnte leider " \ "nicht ge”ffnet werden." #define INFOALERT "Beispiel Fenster||" \ "Copyright 1992 by D. Rabich." #define OK " [OK " #define CANCEL " [Abbruch " #define WINDOWTITLE " Mein Fenster " #define WINDOWINFO "Dieses ist die Informationszeile" /* Funktionsmakros */ #define PIN(x) if((x) < 0) Bconout(2, '\a') /* lokale Variablen ------------------------------------------------- */ static WORD appl_id; /* Prototypen ------------------------------------------------------- */ static BOOLEAN rinit(OBJECT*, WORD, VOID*); static BOOLEAN rsc_init(OBJECT**); static VOID drawwhite(GRECT*, VOID*); static VOID DoIt(WORD, WORD, OBJECT*); VOID main(VOID); /* Funktionen ------------------------------------------------------- */ /* Objekte initialisieren */ #pragma warn -par static BOOLEAN rinit(OBJECT *tree, WORD obj, VOID *data) { rsrc_obfix(tree, obj); return(FALSE); } #pragma warn .par /* Resourceinitialisierung */ static BOOLEAN rsc_init(OBJECT **tree) { *tree = rs_trindex[MENUE]; GTreeWalk(*tree, ROOT, rinit, NULL); return(TRUE); } /* Ausgabefunktion fr das Fenster */ static VOID drawwhite(GRECT *rect, VOID *data) { WORD v_handle, pxy[4]; v_handle = *(WORD*)data; GRectToArray(pxy, rect); vsf_color(v_handle, WHITE); v_bar(v_handle, pxy); } Handbuch Wega-Developer Kit 239 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ /* Eventhandling */ static VOID DoIt(WORD w_handle, WORD v_handle, OBJECT *menutree) { WORD msg[8]; BOOLEAN cont = TRUE; /* Fenster nicht g”ffnet? Dann Ende! */ if(w_handle < 0) { PIN(GDoAlert(GBitblkStopsign(), NOWINDOW, OK, 0, TRUE)); return; } /* Durchfhren, bis Quit gew„hlt wurde */ while(cont) { /* auf Nachricht warten */ evnt_mesag(msg); /* Nachricht auswerten */ switch(msg[0]) { /* Meneintrag gew„hlt? */ case MN_SELECTED: /* Welches Drop Down-Men? */ switch(msg[3]) { /* Info-Men */ case MINFO: /* Welcher Eintrag? */ switch(msg[4]) { /* Programminformation */ case IINFO: PIN(GDoAlert(GBitblkInformation(), INFOALERT, OK, 0, TRUE)); break; } break; /* Datei-Men */ case MFILE: /* Welcher Eintrag? */ switch(msg[4]) { /* Programm verlassen */ case IQUIT: WClose(w_handle); cont = FALSE; break; } break; } /* Invertierung aufheben */ menu_tnormal(menutree, msg[3], 1); break; Handbuch Wega-Developer Kit 240 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ /* Fensterinhalt ausgeben? */ case WM_REDRAW: WRedraw(msg[3], (GRECT*)(msg + 4), drawwhite, &v_handle); break; /* Fenster nach oben? */ case WM_NEWTOP: case WM_TOPPED: WTop(msg[3]); break; /* Fenster schliežen? */ case WM_CLOSED: WClose(msg[3]); cont = FALSE; break; /* Fenster auf volle Gr”že? */ case WM_FULLED: WFull(msg[3]); break; /* Fenstergr”že ver„ndern? */ case WM_SIZED: WSize(msg[3], (GRECT*)(msg + 4)); break; /* Fensterposition ver„ndern? */ case WM_MOVED: WMove(msg[3], (GPOINT*)(msg + 4)); break; } } } /* Hauptprogramm */ VOID main(VOID) { OBJECT *menutree; WORD w_handle, v_handle; /* Anmeldung bei den AES */ appl_id = appl_init(); if(appl_id >= 0) { /* Wega initialisieren */ if(GWegaInit()) { v_handle = GOpenWorkstation(); if(v_handle) { /* Resourcen initialisieren */ rsc_init(&menutree); /* Men setzen */ GSetMenu(menutree); /* Fenster ”ffnen */ Handbuch Wega-Developer Kit 241 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ w_handle = WOpen(CLOSER | FULLER | MOVER | SIZER, WINDOWTITLE, WINDOWINFO, NULL, NULL); /* Mauszeiger als Pfeil */ GMArrow(); /* Dialog durchfhren */ DoIt(w_handle, v_handle, menutree); /* Men entfernen */ GDelMenu(menutree); /* virtuelle Workstation schliežen */ GCloseWorkstation(v_handle); } else PIN(GDoAlert(GBitblkStopsign(), NOVDI, CANCEL, 0, TRUE)); /* Wega abmelden */ GWegaDone(); } else form_alert(1, NOWEGA); /* Abmeldung bei den AES */ appl_exit(); } } Datei RESOURCE.H: ----------------- /* Resource Datei Indizes fr RESOURCE */ #define MENUE 0 /* Menuebaum */ #define MINFO 3 /* TITLE in Baum MENUE */ #define MFILE 4 /* TITLE in Baum MENUE */ #define IINFO 7 /* STRING in Baum MENUE */ #define IQUIT 16 /* STRING in Baum MENUE */ Datei RESOURCE.RSH: ------------------- /* GEM Resource C Source */ #include #include #include "RESOURCE.H" #if !defined(WHITEBAK) #define WHITEBAK 0x0040 #endif #if !defined(DRAW3D) #define DRAW3D 0x0080 #endif #define FLAGS9 0x0200 Handbuch Wega-Developer Kit 242 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ #define FLAGS10 0x0400 #define FLAGS11 0x0800 #define FLAGS12 0x1000 #define FLAGS13 0x2000 #define FLAGS14 0x4000 #define FLAGS15 0x8000 #define STATE8 0x0100 #define STATE9 0x0200 #define STATE10 0x0400 #define STATE11 0x0800 #define STATE12 0x1000 #define STATE13 0x2000 #define STATE14 0x4000 #define STATE15 0x8000 OBJECT rs_object[] = { /******** Tree 0 MENUE **********************************************/ -1, 1, 5, G_IBOX, /* Object 0 */ NONE, NORMAL, (LONG)0x00000000L, 0x0000, 0x0000, 0x0050, 0x0019, 5, 2, 2, G_BOX, /* Object 1 */ NONE, NORMAL, (LONG)0x00001100L, 0x0000, 0x0000, 0x0050, 0x0201, 1, MINFO, MFILE, G_IBOX, /* Object 2 */ NONE, NORMAL, (LONG)0x00000000L, 0x0002, 0x0000, 0x0011, 0x0301, MFILE, -1, -1, G_TITLE, /* Object 3 MINFO */ NONE, NORMAL, (LONG)" BSP_FENS", 0x0000, 0x0000, 0x000A, 0x0301, 2, -1, -1, G_TITLE, /* Object 4 MFILE */ NONE, NORMAL, (LONG)" Datei", 0x000A, 0x0000, 0x0007, 0x0301, 0, 6, 15, G_IBOX, /* Object 5 */ NONE, NORMAL, (LONG)0x00000000L, 0x0000, 0x0301, 0x0050, 0x0013, 15, IINFO, 14, G_BOX, /* Object 6 */ NONE, NORMAL, (LONG)0x00FF1100L, 0x0002, 0x0000, 0x0014, 0x0008, 8, -1, -1, G_STRING, /* Object 7 IINFO */ NONE, NORMAL, (LONG)" \232ber BSP_FENS...", 0x0000, 0x0000, 0x0014, 0x0001, 9, -1, -1, G_STRING, /* Object 8 */ NONE, DISABLED, (LONG)"--------------------", 0x0000, 0x0001, 0x0014, 0x0001, 10, -1, -1, G_STRING, /* Object 9 */ NONE, NORMAL, (LONG)" Accessory #1 ", 0x0000, 0x0002, 0x0014, 0x0001, 11, -1, -1, G_STRING, /* Object 10 */ NONE, NORMAL, (LONG)" Accessory #2 ", 0x0000, 0x0003, 0x0014, 0x0001, 12, -1, -1, G_STRING, /* Object 11 */ NONE, NORMAL, (LONG)" Accessory #3 ", 0x0000, 0x0004, 0x0014, 0x0001, 13, -1, -1, G_STRING, /* Object 12 */ NONE, NORMAL, (LONG)" Accessory #4 ", 0x0000, 0x0005, 0x0014, 0x0001, 14, -1, -1, G_STRING, /* Object 13 */ NONE, NORMAL, (LONG)" Accessory #5 ", 0x0000, 0x0006, 0x0014, 0x0001, 6, -1, -1, G_STRING, /* Object 14 */ Handbuch Wega-Developer Kit 243 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Beispiele ------------------------------------------------------------------------ NONE, NORMAL, (LONG)" Accessory #6 ", 0x0000, 0x0007, 0x0014, 0x0001, 5, IQUIT, IQUIT, G_BOX, /* Object 15 */ NONE, NORMAL, (LONG)0x00FF1100L, 0x000C, 0x0000, 0x0007, 0x0001, 15, -1, -1, G_STRING, /* Object 16 IQUIT */ LASTOB, NORMAL, (LONG)" Ende", 0x0000, 0x0000, 0x0007, 0x0001 }; OBJECT *rs_trindex[] = { &rs_object[0] /* Tree 0 MENUE */ }; Datei BSP_DIAL.PRJ: ------------------- ; Projektdatei fr BSP_FENS BSP_FENS.APP ; Name = ; Die Liste der Moduln... PCSTART.O ; Startup-Code BSP_FENS (RESOURCE.H, RESOURCE.RSH) ; Hauptmodul WEGA.O ; Wega PCSTDLIB.LIB ; Standard-Bibliothek PCTOSLIB.LIB ; TOS-Bibliothek PCGEMLIB.LIB ; GEM-Bibliothek Handbuch Wega-Developer Kit 244 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ XIV. Debuggingtool Buggy ************************ Ausgabe ======================================================================== Definition void cdecl Buggy(const char *form, ...); Prototyp in buggy.h Aufruf int x; Buggy("Variable x lautet %d", x); Verwendung Meldung ausgeben Beschreibung Diese Funktion gibt analog zu printf() eine Meldung aus. Die Ausgabe erfolgt hier jedoch auf der vorgew„hlten Ausgabeform, was in vielen F„llen gnstiger als eine direkte Ausgabe mit printf() ist. Parameter form Formatstring, ... ggf. weitere Parameter. Verweis Buggy-Funktionen, BuggyB(), BuggyL(), BuggyS(), BuggyTrace(), BuggyW() Handbuch Wega-Developer Kit 245 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Bytewert ausgeben ======================================================================== Makro BuggyB(x) Definition Buggy(#x " = %d = 0x%x = %c", x, x, x) Deklaration in buggy.h Aufruf char c; BuggyB(c); Verwendung einfache Ausgabe von Bytewerten Beschreibung Kurzform von Buggy() zur Ausgabe von Bytewerten. Verweis Buggy-Funktionen Handbuch Wega-Developer Kit 246 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Longwert ausgeben ======================================================================== Makro BuggyL(x) Definition Buggy(#x " = %ld = 0x%lx", x, x) Deklaration in buggy.h Aufruf long l; BuggyL(l); Verwendung einfache Ausgabe von Longwerten Beschreibung Kurzform von Buggy() zur Ausgabe von Longwerten. Verweis Buggy-Funktionen Handbuch Wega-Developer Kit 247 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Zeichenketten ausgeben ======================================================================== Makro BuggyS(x) Definition Buggy(#x " = %s", x) Deklaration in buggy.h Aufruf char s[80]; BuggyB(s); Verwendung einfache Ausgabe von Zeichenketten Beschreibung Kurzform von Buggy() zur Ausgabe von Zeichenketten. Verweis Buggy-Funktionen Handbuch Wega-Developer Kit 248 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Dateinamen und Zeilennummer ausgeben ======================================================================== Makro BuggyTrace Definition Buggy("Datei: %s, Zeile: %ld", __FILE__, (long)__LINE__); Deklaration in buggy.h Aufruf BuggyTrace; Verwendung einfache Ausgabe von Dateinamen und Zeilennummern Beschreibung Kurzform von Buggy() zur Ausgabe des Dateinamens und der Zeilennummer. Verweis Buggy-Funktionen Handbuch Wega-Developer Kit 249 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Wordwert ausgeben ======================================================================== Makro BuggyW(x) Definition Buggy(#x " = %d = 0x%x", x, x) Deklaration in buggy.h Aufruf int w; BuggyB(w); Verwendung einfache Ausgabe von Wordwerten Beschreibung Kurzform von Buggy() zur Ausgabe von Wordwerten. Verweis Buggy-Funktionen Handbuch Wega-Developer Kit 250 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ B_GEM ======================================================================== Name B_GEM Deklaration in buggy.h Definition 6 Bedeutung Ausgabe ber die AES Handbuch Wega-Developer Kit 251 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ B_MIDI ======================================================================== Name B_MIDI Deklaration in buggy.h Definition 5 Bedeutung Ausgabe ber MIDI-Schnittstelle Handbuch Wega-Developer Kit 252 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ B_NULL ======================================================================== Name B_NULL Deklaration in buggy.h Definition 0 Bedeutung Ausgabe unterdrcken Handbuch Wega-Developer Kit 253 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ B_STDAUX ======================================================================== Name B_STDAUX Deklaration in buggy.h Definition 3 Bedeutung Ausgabe ber serielle Schnittstelle Handbuch Wega-Developer Kit 254 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ B_STDERR ======================================================================== Name B_STDERR Deklaration in buggy.h Definition 2 Bedeutung Ausgabe auf Standardfehlerkanal Handbuch Wega-Developer Kit 255 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ B_STDOUT ======================================================================== Name B_STDOUT Deklaration in buggy.h Definition 1 Bedeutung Ausgabe auf Standardausgabekanal Handbuch Wega-Developer Kit 256 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ B_STDPRN ======================================================================== Name B_STDPRN Deklaration in buggy.h Definition 4 Bedeutung Ausgabe ber parallele Schnittstelle Handbuch Wega-Developer Kit 257 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Wartezeit setzen ======================================================================== Definition void SetBuggyDelay(int delay); Prototyp in buggy.h Aufruf SetBuggyDelay(10); Verwendung Wartezeit setzen Beschreibung Bei Ausgabe von Fehlermeldungen ber die MIDI-Schnittstelle (SetBuggyMode(B_MIDI)) ist es unter Umst„nden n”tig, eine bestimmte Wartezeit zwischen der Ausgabe zweier Zeichen eine gr”žere oder kleinere Wartezeit als die Standardzeit (5 Millisekunden) zu setzen, damit alle Zeichen richtig bertragen werden. Parameter delay Wartezeit in Millisekunden. Verweis Buggy-Funktionen Handbuch Wega-Developer Kit 258 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Debuggingmodus setzen ======================================================================== Definition void SetBuggyMode(int mode); Prototyp in buggy.h Aufruf SetBuggyMode(B_MIDI); Verwendung Debuggingmodus setzen Beschreibung Mit dieser Funktion wird der sekund„re Debuggingmodus gesetzt. Fr den Fall, daž die Environmentvariable BUGGYMODE nicht gesetzt wurde, gilt der hier gesetzte Debuggingmodus. Fr den Fall, daž hier B_NULL gew„hlt wurde, ist es nur ber die Environmentvariable m”glich, den Debuggingvorgang zu aktivieren. Der ber die Environment- variable gesetzte Modus ist prim„r. Die Debuggingmodi fr die Environmentvariable sind analog zu dem hier gesetzten Modus, jedoch jeweils ohne "B_". Parameter mode Debuggingmodus: B_NULL kein Debugging, B_STDOUT Ausgabe ber Standardausgabekanal, B_STDERR Ausgabe ber Standardfehlerkanal (default), B_STDAUX Ausgabe ber serielle Schnittstelle, B_STDPRN Ausgabe ber parallele Schnittstelle, B_MIDI Ausgabe ber MIDI-Ausgang*, B_GEM Ausgabe ber AES. Verweis Buggy-Funktionen * Auf einem ber die MIDI-Schnittstelle angeschlossenen zweiten Rechner muž ein Programm folgender Art gestartet sein, um den genannten Modus ausnutzen zu k”nnen: #include #include int main(void) { puts("\n\033p\033f*** Buggy (MIDI-Empfangsprogramm) - " "(c) 1991 by D. Rabich, Dlmen ***\033K\033q\n" "Entw. mit Pure C. [" __DATE__ " " __TIME__ "]\n" "Abbruch mit beliebiger Sondertaste.\n\n"); while(!Kbshift(-1)) if(Bconstat(3)) putchar((char)Bconin(3)); return(0); } Handbuch Wega-Developer Kit 259 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Debuggingtool Buggy ------------------------------------------------------------------------ Namen setzen ======================================================================== Definition void SetBuggyName(char *s); Prototyp in buggy.h Aufruf SetBuggyName("EXAMPLE"); Verwendung Namen setzen Beschreibung Geben mehrere Programme Fehlermeldungen aus, so ist eine Unterscheidung der Meldungen n”tig. Aus diesem Grund wird mit dieser Funktion ein solcher Name gesetzt. Parameter s Name des Programms. Verweis Buggy-Funktionen Handbuch Wega-Developer Kit 260 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ Stichwortverzeichnis: 3 3D 3 A ACCESSORY 42 AES 4 APPLICATION 43 AUTO 17 Allgemeines 13 B BIOS 5 BOOLEAN 67 BUBBLE_ 44 BUBBLE_CENTER 44 BUBBLE_LEFT 44 BUBBLE_LOWER 44 BUBBLE_LOWERLEFT 44 BUBBLE_LOWERRIGHT 44 BUBBLE_RIGHT 44 BUBBLE_UPPER 44 BUBBLE_UPPERLEFT 44 BUBBLE_UPPERRIGHT 44 BYTE 68 B_GEM 250 B_MIDI 251 B_NULL 252 B_STDAUX 253 B_STDERR 254 B_STDOUT 255 B_STDPRN 256 Bedienung 18 Beispiel: Dialog 232 Beispiel: Fenster 237 Bitbl”cke 24 Bubble-Dialog (Basis) 201 Buggy 244 Buggy-Funktionen 25 BuggyB 245 BuggyL 246 BuggyS 247 BuggyTrace 248 BuggyW 249 C CBITBLK 69 CHAR 70 CLR_ 45 CLR_2D_BACKGROUND 45 CLR_2D_DISABLED 45 CLR_2D_LINE 45 CLR_2D_TEXT 45 CLR_2D_TEXTLOW16 45 CLR_2D_TEXTLOW4 45 CLR_3D_BACKGROUND 45 Handbuch Wega-Developer Kit 261 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ CLR_3D_FOREGROUND 45 CLR_3D_LIGHT 45 CLR_3D_SHADOW 45 CNTRY_ 46 CNTRY_DEN 46 CNTRY_FIN 46 CNTRY_FRA 46 CNTRY_FRG 46 CNTRY_HOL 46 CNTRY_ITA 46 CNTRY_NOR 46 CNTRY_SAU 46 CNTRY_SPA 46 CNTRY_SWE 46 CNTRY_SWF 46 CNTRY_SWG 46 CNTRY_TUR 46 CNTRY_UK 46 CNTRY_USA 46 CNTR_ 47 CNTR_AUTO 47 CNTR_FREE 47 CNTR_MOUSE 47 CNTR_SCREEN 47 CNTR_WORLD 47 CONST 48 Checkbox 18 Copyright (Wega) 14 Cyclebutton 18 D DLGINFO 71 DOS 6 DSKFMTINFO 72 E ERR_ 49 ERR_BADCHAR 49 ERR_BADFAT 49 ERR_CANCEL 49 ERR_DOUBLEDESTINATION 49 ERR_EXTLENGTH 49 ERR_NAMELENGTH 49 ERR_NODESTINATION 49 ERR_NODRIVE 49 ERR_NOMEMORY 49 ERR_NOSOURCE 49 ERR_PATHLENGTH 49 ERR_TIMESTAMP 49 ERR_WRITE 49 EXTERN 50 Editfelder 18 Einleitung 13 F F 26 FALSE 51 FBuildFolder 89 Handbuch Wega-Developer Kit 262 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ FCOPYINFO 73 FChkName 90 FComplete 91 FDiskFormat 92 FExists 94 FFileCopy 95 FFileMove 96 FFolderCopy 97 FILEINFO 74 FMediach 98 FSplit 99 FSplit2 100 FTree 101 Formatangabe 27 Formate 27 G G 28 G3DTune 102 G3DTuneBack 103 GArrayToRect 104 GBegUpdate 105 GBitblk 24 GBitblk... 24 GBitblkAsterisk 106 GBitblkCalculator 107 GBitblkDisk 108 GBitblkExclamationmark 109 GBitblkHelp 110 GBitblkInformation 111 GBitblkLetter1 112 GBitblkLetter2 113 GBitblkQuestionmark 114 GBitblkScript 115 GBitblkStopsign 116 GBitblkTeddy 117 GBitblkWarning 118 GBitblkWega 119 GChgFlags 120 GChgState 121 GChildWalk 122 GCloseWorkstation 123 GDelDesk 124 GDelMenu 125 GDialCenter 126 GDialFinish 127 GDialInit 128 GDialPrepare 131 GDialReset 132 GDoAlert 133 GDoDialog 134 GDragBox 135 GEM 7 GEMDOS 8 GEM_VERSION 52 GEndUpdate 136 GFormDo 137 GFselInput 139 GGetParent 141 GGetText 142 Handbuch Wega-Developer Kit 263 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ GLOBAL 53 GListInit 143 GMArrow 145 GMBusy 146 GMF 35 GMF... 35 GMFCalculator 148 GMFDiskDown 149 GMFDiskUp 150 GMFFourArrow 151 GMFHourglass 152 GMFLeftArrow 153 GMFPencil 154 GMFQuestionmark 155 GMFRadar 156 GMFSmiley 157 GMFTeacup 158 GMFTeddy 159 GMGet 160 GMHand 161 GMOff 162 GMOn 163 GMOutlinedcross 164 GMPointhand 165 GMPut 166 GMRestore 167 GMTextcursor 168 GMThickcross 169 GMThincross 170 GMUser 171 GMapKey 144 GMenuFind 147 GObjcChange 172 GObjcDraw 173 GObjcRDraw 174 GOpenWorkstation 175 GPOINT 75 GPointEqual 176 GPointInRect 177 GPopUp 178 GQ3DPossible 180 GQChar 181 GQDelay 182 GQSlide 183 GRectEqual 184 GRectIntersect 185 GRectSurround 186 GRectToArray 187 GRubberBox 188 GScrpClr 189 GScrpRead 190 GSet2DColor 191 GSet3D 192 GSet3DColor 193 GSetDesk 194 GSetMenu 195 GSetText 196 GSlideBox 197 GTreeWalk 198 GWegaDone 199 GWegaInit 200 Handbuch Wega-Developer Kit 264 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ GXBubble 201 GXFormDo 202 GXPopUp 203 H Haftungsausschluž 14 I INFOVSCR 76 INT 77 K KEY 78 KEY_ 54 KEY_ALT0 54 KEY_ALT1 54 KEY_ALT2 54 KEY_ALT3 54 KEY_ALT4 54 KEY_ALT5 54 KEY_ALT6 54 KEY_ALT7 54 KEY_ALT8 54 KEY_ALT9 54 KEY_DOWN 54 KEY_F1 54 KEY_F10 54 KEY_F11 54 KEY_F12 54 KEY_F13 54 KEY_F14 54 KEY_F15 54 KEY_F16 54 KEY_F17 54 KEY_F18 54 KEY_F19 54 KEY_F2 54 KEY_F20 54 KEY_F3 54 KEY_F4 54 KEY_F5 54 KEY_F6 54 KEY_F7 54 KEY_F8 54 KEY_F9 54 KEY_HELP 54 KEY_HOME 54 KEY_INSERT 54 KEY_ISO 54 KEY_LEFT 54 KEY_RIGHT 54 KEY_SF1 54 KEY_SF10 54 KEY_SF2 54 KEY_SF3 54 KEY_SF4 54 KEY_SF5 54 KEY_SF6 54 Handbuch Wega-Developer Kit 265 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ KEY_SF7 54 KEY_SF8 54 KEY_SF9 54 KEY_UNDO 54 KEY_UP 54 Konstanten 30 L LOCAL 56 LONG 79 Literatur 9 M MAXFILE 57 MAXFILEEXT 58 MAXFILENAME 59 MAXPATH 60 MLOCAL 61 MODE_ 62 MODE_CHANGE 62 MODE_DELETE 62 MODE_SET 62 MakeObj 66 Makros 33 Mausformen 35 Mem 34 MemAlloc 205 MemCompress 206 MemExtract 207 MemFree 208 MemQuery 209 MemShrink 210 O OS/2 10 Objekttypen, erweiterte 36 Os 38 OsConAttr 211 OsGetCookie 212 OsGetCountry 213 OsGetDate 214 OsGetNmbFloppy 215 OsGetVersion 216 P PRG_BITBLK 80 Popup-Men 178 Popup-Men (Basis) 203 R REG 63 Radiobutton 18 S SHORT 81 Handbuch Wega-Developer Kit 266 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ SL_ 64 SL_EXPONENTIELL 64 SL_KONSTANT 64 SL_LINEAR 64 SL_LOGARITHMISCH 64 Scrollbar 18 SetBuggyDelay 257 SetBuggyMode 258 SetBuggyName 259 Shareware 16 T TOS 11 TRUE 65 Typen 39 U UBYTE 82 UINT 83 ULONG 84 USHORT 85 UWORD 86 V VDI 12 VOID 87 W W 40 WClose 217 WDraw 218 WEGA.CPX 21 WEGACOOK.PRG 20 WFull 219 WMove 220 WORD 88 WObjcDraw 221 WObjcMove 222 WObjcRDraw 223 WObjcRRedraw 225 WObjcRedraw 224 WOpen 226 WRedraw 227 WSetInfo 228 WSetTitle 229 WSize 230 WTop 231 Warenzeichen 14 Wega 41 Wega Developer Kit 14 Wega-DK 14 Wega-Fensterfunktionen 40 Wega-Graphikfunktionen 28 Wega-Massenspeicherfunktionen 26 Wega-Objekttypen 128 Wega-Speicherfunktionen 34 Wega-Systemfunktionen 38 Handbuch Wega-Developer Kit 267 Copyright (c) 1991/92 by D. Rabich, Dlmen. Alle Rechte vorbehalten! Stichwortverzeichnis ------------------------------------------------------------------------ X XBIOS 5 Z Zeichen, erlaubte 27 Zeichenkonvertierung 22 Zentrierbox 18 _ _cbitblk 69