Deklaration
function ChangeCookie(cookie: TCookieID; newval: longint): boolean;
Beschreibung
Ändert den Wert des in cookie übergebenen Cookies auf newval. Wenn kein CookieJar existiert oder der angegebene Cookie nicht vorhanden ist, wird false zurückgegeben, sonst true.
Deklaration
function GetCookie(cookie: TCookieID; var value: longint): boolean;
Beschreibung
Gibt in value den Wert des Cookies cookie zurück, wenn dieser existiert. Die Rückgabe ist dann true. Ansonsten wird false zurückgegeben und value nicht verändert.
Deklaration
function NewCookie(cookie: TCookieID; value: longint): boolean;
Beschreibung
Legt einen neuen Cookie mit Kennung cookie und Wert value an, wenn ein CookieJar existiert und noch mind. ein Platz darun frei ist. Die Rückgabe ist dann true.
Deklaration
function RemoveCookie(cookie: TCookieID): boolean;
Beschreibung
Entfernt den Cookie mit Kennung cookie aus dem CookieJar. Existiert kein CookieJar oder ist der angegebene Cookie nicht vorhanden, wird false zurückgegeben.
Deklaration
function BootDevice: char;
Beschreibung
Liefert die Laufwerksbezeichnung des Boot-Laufwerks ("A", "B" etc.). Dazu wird die Systemvariable _bootdev ($446) ausgewertet.
Deklaration
function Exist(FileName: string): boolean;
Beschreibung
Gibt an, ob die Datei FileName existiert. Die DTA der Applikation wird nicht verändert! Aus Sicherheitsgründen wird intern eine wind_update()-Schachtelung vorgenommen.
Deklaration
function FileSelect(AParent: PWindow; ATitle, AMask: string; var APath,AFile: string; ForceExist: boolean): boolean;
Beschreibung
Ermöglicht eine einfache Bearbeitung des Dateiauswahl-Dialogs. Wenn die Fileselectbox aus einer Dialogbox heraus aufgerufen wird, sollte AParent auf diesen Dialog zeigen (mittels @self), damit die Dialogbox, wenn sie modal sein sollte, korrekt restauriert werden kann (sonst muß AParent nil sein).
In ATitle wird ein Titel für die Dateiauswahl übergeben. Es wird automatisch darauf geachtet, ob die vorhandene TOS-Version fsel_exinput() unterstützt, sonst wird der Titel ignoriert (das ABC-GEM wird beachtet, ebenso wie ein FSEL-Cookie). In AMask wird die Dateimaske übergeben (z.B. '*.TXT','TEST.?A?'). Wird ein Leerstring übergeben, werden alle Dateien angezeigt.
In APath muß der gewünschte Pfad (Leerstring=aktueller Pfad) angegeben werden, AFile muß keinen bestimmten Wert enthalten (s.u.). Wenn ForceExist auf true gesetzt wird, kann der Dialog nicht mit <OK> verlassen werden, wenn die ausgewählte Datei gar nicht existiert. Wenn eine Datei mit <OK> ausgewählt wurde, wird true zurückgegeben und APath enthält den Pfad der Datei, die in AFile geliefert wird (AFile enthält also keine Pfadangaben). Ansonsten wird false geliefert, und AFile und APath werden nicht verändert.
Aus Sicherheitsgründen wird intern eine wind_update()-Schachtelung vorgenommen.
Deklaration
function GetDrives: longint;
Beschreibung
Liefert Dsetdrv(Dgetdrv) zurück, d.h. die Bitmap aller angemeldeten GEMDOS-Laufwerke. Bit 0 entspricht dabei Laufwerk A: etc.
Deklaration
function GetExtension(FileName: string): string;
Beschreibung
Liefert die Datei-Extension von FileName (incl. Punkt). Für 'C:\TEST.DB' würde man also '.DB' erhalten.
Deklaration
function GetFilename(FileName: string; Ext: boolean): string;
Beschreibung
Gibt den Dateinamen von FileName ohne Pfadangabe zurück. Die Extension wird nur angehängt, wenn Ext true ist, sonst wird sie (incl. Punkt) abgeschnitten.
Deklaration
function GetHomeDir(RootDefault: boolean): string;
Beschreibung
Liefert das User-Home-Verzeichnis als absoluten Pfad (incl. Backslash), wozu die Environmentvariable HOME ausgewertet wird.
Wenn HOME nicht gesetzt ist, wird - in Abhängigkeit von RootDefault - das Boot-Wurzelverzeichnis (true) oder das Verzeichnis der Applikation (false) gewählt.
Deklaration
function GetPath(FileName: string): string;
Beschreibung
Liefert den in FileName enthaltenen Pfad (incl. Backslash). Wenn FileName keine Pfadangabe enthält, wird ein Leerstring zurückgegeben.
Deklaration
function GetTempDir: string;
Beschreibung
Liefert das globale temporäre Verzeichnis als absoluten Pfad (incl. Backslash). Dazu wird nach folgenden Environment-Variablen gesucht, bis eine davon einen gültigen Pfad enthält: TMPDIR, TEMPDIR, TMP, TEMP, TRASHDIR. Ist keine dieser Variablen gültig, wird das Verzeichnis der Applikation genommen.
Deklaration
function GetTempFilename: string;
Beschreibung
Gibt einen Dateinamen zurück (12 Zeichen), der sich aus Datum und Uhrzeit zusammensetzt. Dieser Name kann für temporäre Dateien etc. verwendet werden.
Z.Z. unterscheiden sich die zurückgelieferten Namen nur dann, wenn GetTempFilename im Abstand von mind. 2 Sekunden aufgerufen wird.
Deklaration
function PathExist(PathName: string): boolean;
Beschreibung
Gibt an, ob der Pfad (Ordner) PathName existiert. Die DTA der Applikation wird nicht verändert! Aus Sicherheitsgründen wird intern eine wind_update()-Schachtelung vorgenommen.
PathName kann mit oder ohne abschließenden Backslash ('\') angegeben werden. Wird ein Wurzelverzeichnis übergeben (z.B. 'C:\'), so wird überprüft, ob das Laufwerk vorhanden ist.
Deklaration
procedure vdi_fix(var pfd: MFDB; theAddr: pointer; w,h: integer);
Beschreibung
Füllt eine MFDB-Struktur aus. fd_addr wird auf theAddr gesetzt, fd_w auf w und fd_h auf h. fd_wdwidth wird aus fd_w errechnet. fd_nplanes wird standardmäßig auf 1 gesetzt, fd_stand auf FF_STAND; hier sind also evtl. selbst Änderungen durchzuführen. fd_r1, fd_r2 und fd_r3 werden ausgenullt.
Folgende Konstanten sind für fd_stand vorgesehen:
const FF_STAND = 1; FF_DEVSPEC = 0;
Deklaration
procedure vr_convert(handle: integer; psrcMFDB: MFDB; format: integer);
Beschreibung
Wandelt eine durch psrcMFDB beschriebene Bitmap auf der VDI-Workstation handle in das Format format um, wenn sie nicht schon in diesem vorliegt (d.h. format sollte ungleich fd_stand sein).
Deklaration
procedure ArrowMouse;
Beschreibung
Wandelt den Mauscursor in den normalen Pfeil um, wenn gleich viele (oder mehr) Aufrufe von ArrowMouse gegenüber BusyMouse (bzw. SliceMouse) gemacht wurden.
Deklaration
procedure BusyMouse;
Beschreibung
Wandelt den Mauscursor in die Biene um, um anzuzeigen, daß z.Z. eine Aktion ausgeführt wird. ObjectGEM merkt sich, wie oft BusyMouse aufgerufen wurde. Damit der Mauscursor wieder als Pfeil dargestellt wird, muß ArrowMouse mind. genauso oft aufgerufen werden, wodurch sich verschachtelte Änderungen des Mauscursors nicht gegenseitig stören. Aus genau diesem Grund sollten diese beiden Mausformen nie direkt mit graf_mouse() gesetzt werden!
Deklaration
procedure GetMouse(var Indx: HCursor; var Form: MFORM);
Beschreibung
Liefert die aktuelle Mausform zurück. In Indx erhält man die Nummer, in Form die evtl. benutzerdefinierten Daten.
Deklaration
procedure HideMouse;
Beschreibung
Macht den Mauscursor unsichtbar.
Deklaration
function IsMouseBusy: boolean;
Beschreibung
Gibt an, ob der Mauscursor z.Z. als Biene dargestellt wird, d.h. ob BusyMouse (bzw. SliceMouse) öfter als ArrowMouse aufgerufen wurde.
Deklaration
function IsMouseVisible: boolean;
Beschreibung
Gibt an, ob der Mauscursor z.Z. sichtbar ist, d.h. ob ShowMouse häufiger als HideMouse aufgerufen wurde.
Deklaration
procedure LastMouse;
Beschreibung
Stellt den Mauscursor wieder her, der vor dem letzten graf_mouse()-Aufruf aktuell war.
Deklaration
function SetMouse(Indx: HCursor; Form: MFORMPtr): integer;
Beschreibung
Entspricht im wesentlichen graf_mouse(), allerdings können zusätzliche Mausformen verwendet werden. Außerdem kann durch Verwendung dieser Routine die aktuelle Einstellung mit GetMouse erfragt werden.
Deklaration
procedure SetMousePos(mX,mY: integer);
Beschreibung
Setzt den Mauscursor an die Position (mY,mY). Intern wird appl_tplay() verwendet.
Deklaration
procedure ShowMouse;
Beschreibung
Macht den Mauscursor sichtbar.
Deklaration
procedure SliceMouse;
Beschreibung
Wandelt den Mauscursor in eine schwarz-weiß geviertelte Scheibe um, die mit SliceMouseNext zum Drehen gebracht werden kann.
ObjectGEM merkt sich, wie oft SliceMouse aufgerufen wurde (BusyMouse und SliceMouse benutzen denselben Zähler). Damit der Mauscursor wieder als Pfeil dargestellt wird, muß ArrowMouse mind. genauso oft aufgerufen werden, wodurch sich verschachtelte Änderungen des Mauscursors nicht gegenseitig stören.
Deklaration
procedure SliceMouseNext;
Beschreibung
Wechselt bei jedem Aufruf die Mausformen IDC_SLICE1 bis IDC_SLICE4 ab, so daß man den Fortgang einer Aktion durch das Drehen der Scheibe anzeigen kann.
Darf nur aufgerufen werden, wenn vorher SliceMouse aufgerufen wurde.
Deklaration
function GetOSHeaderPtr: pointer;
Beschreibung
Gibt einen Zeiger auf den OS-Header zurück, d.h. es wird _sysbase ($4f2) ausgewertet und dann der Zeiger os_beg bei Offset $08 geliefert.
Deklaration
procedure GetQSB(var p: pointer; var len: longint);
Beschreibung
Gibt in p einen Pointer auf den AES-"Quarter Screen Buffer" zurück, wenn dieser vorhanden ist, sonst ist p=nil. Im Falle der Existenz wird in len die Länge des Buffers in Bytes angegeben.
Unter MultiTOS wird immer nil zurückgegeben, da dort das Zugriffsrecht auf den Puffer nicht definiert ist.
Deklaration
function HiWord(p: pointer): word;
Beschreibung
Gibt das High-Word des Pointers p zurück.
Deklaration
function LoWord(p: pointer): word;
Beschreibung
Gibt das Low-Word des Pointers p zurück.
Deklaration
function Ptr(hi,lo: word): pointer;
Beschreibung
Berechnet aus dem High-Word hi und dem Low-Word lo den zugehörigen Pointer. Ist so eine Art Ersatz für die von PP nicht unterstützte Ptr-Funktion, allerdings hat diese Implementierung volle Gültigkeit auf 680xx-Prozessoren.
Deklaration
function ClosePrivateProfile: boolean;
Beschreibung
Schließt eine zuvor mit OpenPrivateProfile geöffnete INF-Datei. Wenn an dem Profile Änderungen vorgenommen wurden, wird vorher noch SavePrivateProfile aufgerufen.
Die Rückgabe ist true, wenn das Profile korrekt geschlossen werden konnte, false, wenn gar kein Profile geöffnet war oder beim Speichern ein Fehler aufgetreten ist.
Wird von TApplication.Done aufgerufen.
Deklaration
function GetPrivateProfileInt(AppName, KeyName: string; Default: longint; FileName: string): longint;
Beschreibung
Diese Funktion ruft den Wert einer Integerschlüsselanweisung aus der durch FileName angegebenen INF-Datei (z.B. 'TEST.INF') ab.
GetPrivateProfileInt sucht die Datei nach einer durch den Parameter KeyName bestimmten Schlüsselanweisung ab und überprüft dann die Übereinstimmung von AppName und dem in der Datei stehenden Anwendungsnamen.
Ein Integereintrag in der INF-Datei muß folgende Form haben:
[Anwendungsname] Schlüsselanweisung = wert ...
Das könnte also z.B. so aussehen:
[Drucker] Kopien=2
Wird die Schlüsselanweisung nicht oder nicht unter dem Anwendungsnamen gefunden, wird Default zurückgegeben. Ansonsten wird der Wert der Schlüsselanweisung geliefert, wobei den Ziffern folgende Buchstaben ignoriert werden (z.B. gibt 'Kopien=3abc' den Wert 3 zurück).
Wichtig: Die Groß-/Kleinschreibung bei AppName und KeyName wird nicht berücksichtigt.
Aus Sicherheitsgründen wird intern eine wind_update()-Schachtelung durchgeführt, außer wenn mit OpenPrivateProfile die Profile-Operationen in den Speicher verlagert wurden.
Deklaration
function GetPrivateProfileString(AppName,KeyName, Default,FileName: string): string;
Beschreibung
Diese Funktion ruft den Wert einer Schlüsselanweisung aus der durch FileName angegebenen INF-Datei (z.B. 'TEST.INF') ab.
GetPrivateProfileString sucht die Datei nach einer durch den Parameter KeyName bestimmten Schlüsselanweisung ab und überprüft dann die Übereinstimmung von AppName und dem in der Datei stehenden Anwendungsnamen.
Ein Stringeintrag in der INF-Datei muß folgende Form haben:
[Anwendungsname] Schlüsselanweisung = string ...
Das könnte also z.B. so aussehen:
[Grafik] Bildname=TIGER.IMG
Wird die Schlüsselanweisung nicht oder nicht unter dem Anwendungsnamen gefunden, wird Default zurückgegeben. Ansonsten wird die Zeichenkette hinter den Schlüsselanweisung geliefert.
Wichtig: Die Groß-/Kleinschreibung bei AppName und KeyName wird nicht berücksichtigt.
Aus Sicherheitsgründen wird intern eine wind_update()-Schachtelung durchgeführt, außer wenn mit OpenPrivateProfile die Profile-Operationen in den Speicher verlagert wurden.
Deklaration
function OpenPrivateProfile (FileName: string): boolean;
Beschreibung
Lädt die in FileName angegebene INF-Datei in den Speicher, wo sie mit einer TStrCollection verwaltet wird. Alle Profile-Operationen, die auf dieser INF-Datei ausgeführt werden, benötigen dadurch keine Plattenzugriffe mehr und werden so beschleunigt.
Es kann immer nur ein Profile im Speicher verwaltet werden, Zugriffe auf andere Profiles werden direkt auf der Platte ausgeführt.
OpenPrivateProfile liefert true, wenn die INF-Datei eingelesen werden konnte. Existiert die Datei nicht (d.h. das Profile wird mit diesem Aufruf neu angelegt) oder trat ein Fehler auf, ist die Rückgabe false.
Wichtig: Die Datei $HOME/user.inf kann mit dieser Routine nicht geöffnet werden, da diese Datei evtl. eine globale Konfigurationsdatei wird.
Deklaration
function SavePrivateProfile: boolean;
Beschreibung
Speichert eine mit OpenPrivateProfile geöffnete INF-Datei, wenn Änderungen vorgenommen wurden. Die Rückgabe ist true, wenn beim Speichern kein Fehler aufgetreten ist.
Aus Sicherheitsgründen wird eine evtl. schon vorhandene INF-Datei erst gelöscht, wenn die neue Datei fehlerfrei geschrieben werden konnte. Dazu wird eine temporäre Datei, die mit GetTempFilename ermittelt wird, angelegt.
Wird von ClosePrivateProfile aufgerufen.
Deklaration
function WritePrivateProfileInt(AppName, KeyName: string; Value: longint; FileName: string): boolean;
Beschreibung
Diese Funktion kopiert den durch den Parameter Value übergebenen Wert in die durch FileName angegebene INF-Datei (z.B. 'MYAPP.INF'). Sie sucht die Datei nach der Schlüsselanweisung ab, die durch den Parameter KeyName bestimmt ist, der wiederum unter dem Anwendungsnamen AppName zu finden ist. Wird keine Übereinstimmung gefunden, fügt die Funktion der Datei eine entsprechende Schlüsselanweisung (und wenn nötig auch den zugehörigen Anwendungsnamen) hinzu. Ist die Schlüsselanweisung hingegen vorhanden, wird der zugehörige Wert durch Value ersetzt. Der Rückgabewert ist true, wenn die Funktion erfolgreich war, false sonst.
Weitere Anmerkungen zu den Profiles sind unter WritePrivateProfileString zu finden.
Deklaration
function WritePrivateProfileString(AppName, KeyName,Value,FileName: string): boolean;
Beschreibung
Diese Funktion kopiert den durch den Parameter Value übergebenen String in die durch FileName angegebene INF-Datei (z.B. 'MYAPP.INF'). Sie sucht die Datei nach der Schlüsselanweisung ab, die durch den Parameter KeyName bestimmt ist, der wiederum unter dem Anwendungsnamen AppName zu finden ist. Wird keine Übereinstimmung gefunden, fügt die Funktion der Datei eine entsprechende Schlüsselanweisung (und wenn nötig auch den zugehörigen Anwendungsnamen) hinzu. Ist die Schlüsselanweisung hingegen vorhanden, wird der zugehörige String durch Value ersetzt. Der Rückgabewert ist true, wenn die Funktion erfolgreich war, false sonst (z.B. auch, wenn in AppName oder KeyName ein Leerstring übergeben wird).
Wird in FileName kein absoluter Pfad übergeben, wird der Pfad mit GetHomeDir ermittelt. Existiert die Datei noch nicht, wird sie neu angelegt.
Eine Schlüsselanweisung kann aus der INF-Datei gelöscht werden, indem für Value ein Leerstring übergeben wird.
Kommentarzeilen in den Profiles werden mit einem Semikolon am Anfang markiert.
Eine Anwendung sollte eine INF-Datei benutzen, wenn irgendwelche Informationen bzgl. der Konfiguration des Programms gespeichert werden sollen. Außerdem haben die Profiles den Vorteil, daß die Informationen darin als lesbarer ASCII-Text vorliegen, der - wenn es sein muß - auch "von Hand" relativ einfach geändert werden kann. Zum Umkopieren des Profiles wird eine temporäre Datei angelegt, die mit GetTempFilename ermittelt wird.
Aus Sicherheitsgründen wird intern eine wind_update()-Schachtelung durchgeführt, es sei denn, mit OpenPrivateProfile wurden die Profile-Operationen in den Speicher verlagert (was aus Geschwindigkeitsgründen immer zu empfehlen ist).
Ein Beispiel für den Aufbau eines Profiles ist unter GetPrivateProfileString zu finden.
Deklaration
function GetProfileInt(AppName,KeyName: string; Default: longint): longint;
Beschreibung
Entspricht im wesentlichen GetPrivateProfileInt, abgesehen davon, daß diese Routine immer auf der Datei $HOME/user.inf arbeitet.
Dabei handelt es sich um eine globale Konfigurationsdatei, über die z.Z. gerade diskutiert wird. Deshalb ist auch nicht ausgeschlossen, daß sich Name, Ort, Inhalt etc. der Datei noch ändern!
Deklaration
function GetProfileString(AppName,KeyName, Default: string): string;
Beschreibung
Entspricht im wesentlichen GetPrivateProfileString, abgesehen davon, daß diese Routine immer auf der Datei $HOME/user.inf arbeitet.
Dabei handelt es sich um eine globale Konfigurationsdatei, über die z.Z. gerade diskutiert wird. Deshalb ist auch nicht ausgeschlossen, daß sich Name, Ort, Inhalt etc. der Datei noch ändern!
Deklaration
function WriteProfileInt(AppName,KeyName: string; Value: longint): boolean;
Beschreibung
Entspricht im wesentlichen WritePrivateProfileInt, abgesehen davon, daß diese Routine immer auf der Datei $HOME/user.inf arbeitet.
Dabei handelt es sich um eine globale Konfigurationsdatei, über die z.Z. gerade diskutiert wird. Deshalb ist auch nicht ausgeschlossen, daß sich Name, Ort, Inhalt etc. der Datei noch ändern!
Deklaration
function WriteProfileString(AppName,KeyName, Value: string): boolean;
Beschreibung
Entspricht größtenteils WritePrivateProfileString, abgesehen davon, daß diese Routine immer auf der Datei $HOME/user.inf arbeitet.
Dabei handelt es sich um eine globale Konfigurationsdatei, über die z.Z. gerade diskutiert wird. Deshalb ist auch nicht ausgeschlossen, daß sich Name, Ort, Inhalt etc. der Datei noch ändern!
Deklaration
procedure A2toGR(var r: GRECT);
Beschreibung
Wandelt die absoluten Koordinaten in Breite und Höhe des Rechtecks um.
Deklaration
procedure GRtoA2(var r: GRECT);
Beschreibung
Wandelt Breite und Höhe des Rechtecks in zwei gegenüberliegende (absolute) Punkte um.
Deklaration
function rc_intersect(r1: GRECT; var r2: GRECT): boolean;
Beschreibung
Gibt true zurück, wenn sich die beiden Rechtecke r1 und r2 überschneiden. Das Schnitt-Rechteck wird in r2 zurückgegeben, die GRECT-Struktur wird komplett ausgefüllt (mit beiden Koordinatenangaben).
Ansonsten wird false zurückgegeben und r2 nicht verändert.
Deklaration
function DtoS(l: longint): string;
Beschreibung
Wandelt ein Datum, das im Format $mmttjjjj vorliegt (das sind z.B. die Systemdaten) in einen "lesbaren" Datumsstring um. Ist kein _IDT-Cookie vorhanden, hat der String immer die Form 'tt.mm.jjjj'. Ansonsten wird der Cookie-Wert analysiert, die Bits 11..8 geben das Datumsformat an:
- 0
- mm?tt?jjjj
- 1
- tt?mm?jjjj
- 2
- jjjj?mm?tt
- 3
- jjjj?tt?mm
In den Bits 7..0 ist das Trennzeichen angegeben, #0 wird als '/' interpretiert.
Deklaration
function GEMDOSVersion: word;
Beschreibung
Gibt die GEMDOS-Version zurück.
Deklaration
function GEMVersion: word;
Beschreibung
Liefert die GEM-(AES-)Version bzw. Null, wenn kein Applikationsobjekt instantiiert wurde.
Deklaration
function MiNTVersion: word;
Beschreibung
Gibt die MiNT-Version zurück, wenn dieses installiert ist, andernfalls Null.
Deklaration
function TOSDate: longint;
Beschreibung
Liefert das Datum der verwendeten TOS-Version.
Deklaration
function TOSVersion: word;
Beschreibung
Gibt die verwendete TOS-Version zurück.
Deklaration
function VtoS(w: word): string;
Beschreibung
Wandelt eine Versionsangabe, die im Format $0hll vorliegt (das sind z.B. alle von den ObjectGEM-Versions-Routinen gelieferten Zahlen), in den String 'h.ll' um.
Deklaration
function atof(s: string): real;
Beschreibung
Wandelt eine Zeichenkette in eine Fließkommazahl um. Leerzeichen werden automatisch abgeschnitten, ein unäres Plus wird beachtet.
Deklaration
function atol(s: string): longint;
Beschreibung
Wandelt eine Zeichenkette in eine Integer-Zahl um. Leerzeichen werden automatisch abgeschnitten, ein unäres Plus wird beachtet.
Deklaration
procedure ChrDispose(var p: PChar);
Beschreibung
Gibt die mit ChrNew allozierte Zeichenkette wieder frei und setzt p auf nil.
Deklaration
function ChrNew(s: string): PChar;
Beschreibung
Wandelt den String s in eine nullterminierte Zeichenkette um und alloziert den benötigten Speicher. Im Gegensatz zu StrNew wird auch eine leere Zeichenkette umgewandelt.
Als Rückgabe erhält man einen Pointer auf die neue Zeichenkette oder nil, falls der Speicher nicht alloziert werden konnte.
Darf nur mit ChrDispose wieder freigegeben werden!
Deklaration
procedure DisposeStr(var p: PString);
Beschreibung
Gibt den mit NewStr angelegten String wieder frei.
Deklaration
function ftoa(f: real): string;
Beschreibung
Wandelt eine Fließkommazahl in einen String um. Rechts vom Komma werden alle Nullen abgeschnitten, wenn es sich nicht um die einzige Ziffer nach dem Komma handelt.
Deklaration
function LowChar(ch: char): char;
Beschreibung
Wandelt Groß- in Kleinbuchstaben um. Umlaute werden berücksichtigt!
Deklaration
function ltoa(l: longint): string;
Beschreibung
Wandelt eine Integer-Zahl in einen String um.
Deklaration
function NewStr(s: string): PString;
Beschreibung
Legt einen dynamischen String an, es wird entsprechend viel Speicher alloziert.
Als Rückgabe erhält man einen Pointer auf den String oder nil, wenn nicht genug Speicher vorhanden ist bzw. in s ein Leerstring übergeben wurde.
Deklaration
function RPos(subStr,Str: string): byte;
Beschreibung
Die Funktion RPos sucht einen Teilstring subStr rückwärts in einem String Str. Falls Str den Teilstring subStr enthält, liefert RPos als Resultat den Index des ersten übereinstimmenden Zeichens des letzten Vorkommens von subStr in Str, sonst Null.
Deklaration
function StrLPas(p: PChar; maxc: integer): string;
Beschreibung
Wandelt die nullterminierte Zeichenkette p in einen String um, wobei maximal maxc Zeichen übernommen werden.
Deklaration
function StrPLeft(s: string; c: integer): string;
Beschreibung
Gibt die c linken Zeichen von s zurück. Wenn c<=0 ist, wird ein Leerstring zurückgegeben.
Deklaration
function StrPLower(s: string): string;
Beschreibung
Gibt den in Kleinbuchstaben umgewandelten String s zurück. Umlaute werden berücksichtigt.
Deklaration
function StrPRight(s: string; c: integer): string;
Beschreibung
Gibt die c rechten Zeichen von s zurück. Wenn c<=0 ist, wird ein Leerstring zurückgegeben.
Deklaration
function StrPSpace(anz: integer): string;
Beschreibung
Gibt eine Zeichenkette zurück, die aus anz Leerzeichen besteht. Für c<=0 wird ein Leerstring zurückgegeben.
Deklaration
procedure StrPTrim(var s: string);
Beschreibung
Schneidet bei dem String s links und rechts alle Leerzeichen bzw. ASCII #0 ab.
Deklaration
function StrPTrimF(s: string): string;
Beschreibung
Gibt den String s zurück, bei dem links und rechts alle Leerzeichen und ASCII #0 abgeschnitten wurden.
Deklaration
function StrPUpper(s: string): string;
Beschreibung
Gibt den in Großbuchstaben umgewandelten String s zurück. Umlaute werden berücksichtigt.
Deklaration
function UpChar(ch: char): char;
Beschreibung
Wandelt Klein- in Großbuchstaben um. Im Gegensatz zu UpCase werden die Umlaute berücksichtigt!
Deklaration
procedure Abstract;
Beschreibung
Ein Aufruf dieser Prozedur beendet das Programm mit dem Laufzeitfehler 211 ("Call to abstract method"). Wird ein abstrakter Objekttyp implemen- tiert, sollte man Aufrufe von Abstract in den- jenigen virtuellen Methoden einsetzen, die von Nachkommen des Typs neu definiert werden müssen. Dies stellt sicher, daß jeder Versuch fehlschlägt, den abstrakten Objekttyp zu instantiieren.
Deklaration
procedure appl_yield;
Beschreibung
Gibt anderen Prozessen (Accessories) Rechenzeit ab, wenn z.B. eine langwierige Berechnung durchgeführt wird. Intern wird evnt_timer(1,0) aufgerufen.
Deklaration
function Between(x,min,max: longint): boolean;
Beschreibung
Gibt an, ob sich der Wert x zwischen min und max befindet (inklusive).
Deklaration
function bTst(value,mask: longint): boolean;
Beschreibung
Gibt an, ob die Bits, die in mask gesetzt sind, auch in value gesetzt sind.
Deklaration
procedure form_box(flag: integer; r: GRECT);
Beschreibung
Zeichnet sich größer werdende bzw. schrumpfende Rechtecke mittels form_dial(). In r wird das Rechteck bei seiner größten Ausdehnung übergeben, die kleinste Ausdehnung berechnet form_box als Mittelpunkt des großen Rechtecks. Für flag können die Werte FMD_GROW und FMD_SHRINK übergeben werden.
Deklaration
procedure GetDesk(var r: GRECT);
Beschreibung
Gibt in r die Koordinaten des Fensters 0, d.h. des Desktops zurück. In r liegen danach beide Koordinatenangaben vor.
Deklaration
function IsDesktopActive: boolean;
Beschreibung
Gibt true zurück, wenn der GEM-Desktop z.Z. aktiv ist, d.h. wenn keine andere Applikation gestartet ist. Dazu wird unter einem Singletasking-TOS die lokale GEMDOS-Variable act_pd (auf die p_run zeigt) ausgewertet.
Unter MultiTOS wird mit appl_find() der aktuelle Prozeß ermittelt und mit der Systemshell, die mit appl_search() bestimmt wird, verglichen.
Deklaration
function MapKey(Key: word): word;
Beschreibung
Dient zur Länder-unabhängigen Auswertung der Tastatur. Wird intern vom TDialog-Keyboard-Handler benutzt. Die Funktion ändert eine VDI-Taste (Rückgabe von z.B. evnt_keybd()) in ein word-großes, codiertes Zeichen:
HighByte LowByte -------- ------- ACLR sind Shift-Status-Bits SxxxACLR CHARCODE = ASCII-(S=0) oder Scan(S=1)-Code
Die Routine stammt ursprünglich von Ken Badertscher (Atari).
Deklaration
function Max(a,b: longint): longint;
Beschreibung
Gibt die größere Zahl von a und b zurück.
Deklaration
function Min(a,b: longint): longint;
Beschreibung
Gibt die kleinere Zahl von a und b zurück.
Deklaration
function Sgn(x: longint): integer;
Beschreibung
Dies ist die sog. Signum-Funktion, d.h. die Rückgabe ist -1 für x<0, 0 für x=0 und 1 für x>0.