|
Inhalt:
Profan² kennt vier Typen von Systemvariablen.
Datentyp |
Präfix |
Anzahl Variablen |
Float |
! |
1 |
Integer |
% |
65 |
LongInt |
& |
18 |
String |
$ |
13 |
Gesamtanzahl |
97 |
|
Profan² verfügt über eine beachtliche Zahl an Befehlen und Funktionen.
- Anzahl Befehle: 209
- Anzahl Funktionen: 241
|
Befehle und Funktionen, die mit Handles zu tun haben:
@AddChoice,
@AddString,
@CloseCom,
@ComError,
@Control,
alle @Create("..."),
@DeleteChoice,
DeleteObject,
@DeleteString,
@DestroyWindow,
DrawExtIcon,
@ExtString,
@FindWindow,
FreeDLL,
@GetActiveTab,
@GetActiveWindow,
@GetCheck,
@GetCount,
@GetCurSel,
@GetFocus,
@GetHandle,
@GetLine,
@GetLineCount,
@GetString$,
@GetStyle,
@GetText$,
@GetUsage,
@Height,
@InsertString,
@InsertTab,
alle @MoveListTo...,
@OpenCom,
@PostMessage,
@SelectString,
@SendMessage,
@ReadCom$,
@SetActiveWindow,
@SetCom ??,
@SetComExt,
@SetFocus,
SetFont,
SetScrollPos,
SetScrollRange,
SetStyle,
SetWindowPos,
@ShowWindow,
StartPaint,
@TabChanged,
@UseDLL,
UseExtCursor,
UseExtMenu,
@Width,
WinCopy,
@WriteCom
|
Auflistung der Systemvariablen:
%DDEWin,
%Desktop,
&DlgProc,
&DlgWProc,
%Font,
%GetFocus,
%hDC,
%hDC2,
%hInstance,
&hMenue,
%hWnd,
%MWnd,
&NotifyWnd,
&PDC,
&SQLDBC,
&SQLEnv,
&WinProc,
&WinDProc
|
"Doppeltes Lottchen" - Befehle und Funktionen mit gleichem Namen
|
In Profan² gibt es so einige Befehle und Funktionen mit gleichen Namen aber
anderer Funktionalität. Dies ist auch der Grund, warum ich nicht auf das
führende "@" bei den Funktionsnamen verzichte.
In der Auflistung stehen aber auch gleichnamige Systemvariablen, obgleich
diese aufgrund des Präfixes sofort erkennbar sind.
Befehl / Funktion |
|
Beschreibung |
@!()
@%()
@&()
@$()
|
Float
Integer
LongInt
String
|
Dienen zur Übernahme von Parametern in Prozeduren und Funktionen.
|
Add Var,n
erg = @Add(n1,n2)
erg$ = @Add$(s1$,s2$)
|
num. Wert
num. Wert
String
|
Werte addieren. Der Befehl wurde für schnelle Additionen innerhalb von Schleifen hinzugefügt.
Bei den Funktionen ist eine für numerische und die andere für String-Werte zuständig.
|
AddString
@AddString()
|
(LBL) (LBD)
|
Der Befehl wirkt auf die ListBox-Liste, die Funktion auf den ListBox-Dialog.
|
And
@And()
&
|
log. bin. bin.
|
Logisches und binäres UND. Das logische AND prüft nur, ob beide Werte wahr
sind und liefert nur dann wahr (1), sonst falsch (0).
Das binäre AND verknüpft die beiden Werte Bit für Bit.
|
@AnsiToOem$()
@OemToAnsi$()
|
Win -> DOS
DOS -> Win
|
Zeichenkonvertierung. Nicht die Richtung verwechseln:
Der Ansi-Code ist der unter Windows verwendete und der OEM-
oder ASCII-Code wird unter DOS benutzt.
|
Byte
@Byte()
|
speichern lesen
|
Byte-Wert (1 Zeichen) in einen Bereich schreiben oder daraus auslesen.
|
Char
@Char$()
@Chr$()
|
speichern lesen ANSI-Code
|
String in einen Bereich schreiben oder daraus auslesen.
Der Schreibbefehl schreibt (im Gegensatz zu "String") kein Abschlußzeichen in den Bereich.
Bei der Lesefunktion kann (im Gegensatz zu "@String$") eine Maximallänge mit angegeben werden.
Die Funktion kann leicht mit @Chr$() verwechselt werden (Tippfehler).
Hier heißt es: Aufpassen!
|
@CToD$()
@DToC$()
|
C -> D
D -> C
|
Mit "C" (Character) ist das landestypische Datumsformat (z.B. "TT.MM.JJJJ") gemeint
und mit "D" (Datenbank) das Format, das zum Beispiel in dBase-Datenbanken eingesetzt
wird ("JJJJMMTT"). Warum diese Umwandlung? Erstens werden Kalenderdaten in allen
Ländern unterschiedlich dargestellt und dann eignet sich das Datenbank-Datum
hervorragend zum sortieren. Beide Datumswerte sind übrigens Strings.
|
ClearClip, ClearList, @DeleteChoice(), DeleteObject, @DeleteString(),
@DestroyWindow(), Dispose, FreeDLL,
|
|
Mit diesen Befehlen/Funktionen werden Speicher-Resourcen freigegeben.
ClearClip
Löscht die Zwischenablage. (Ja, auch dadurch wird Speicher freigegeben)
ClearList
Der Inhalt der ListBox-Liste wird gelöscht.
@DeleteChoice()
Entfernt einen String aus der AuswahlBox (ChoiceBox).
DeleteObject
Entfernt erstellte Objekte wieder aus dem Speicher. Für: @Create("Font",...)
@DeleteString()
Entfernt einen String aus dem ListBox-Dialog.
@DestroyWindow()
Entfernt das Fensterobjekt aus dem Speicher.
Dispose
Mit DIM wird einem Bereich oder einer Objekt-Instanz Speicher zugeteilt.
Mit DISPOSE wird er wieder freigegeben.
FreeDLL
Mit @UseDLL() in den Speicher geladene DLL's werden wieder entfernt (wenn der interne
Zähler der DLL anzeigt, das dies der letzte Prozess ist, der die DLL benötigt).
@ProcAddr()
@ProcAddr() belegt Platz für Callbacks in einer Tabelle. Wenn der 2. Parameter
negativ ist, dann kann dieser Platz auch wieder freigegeben werden. Damit wird nicht
unbedingt Speicherplatz freigegeben, aber es ist trotzdem eine "Freigabe"-Funktion.
|
Dim! Dim% Dim& Dim$ Dim
|
Float-Liste Integer-Liste LongInt-Liste String-Liste Bereich/Objekt
|
Die ersten vier Formen von Dim legen sogenannte Datentyp-Listen an.
Die einfache Form des Dim wird zur Zuweisung von Speicherplatz benutzt. Hiermit können
Bereiche und Objekte im Speicher angelegt werden.
|
@Div()
@Div&()
|
Float LongInt
|
@Div() liefert einen Float-Wert zurück, @Div&() liefert einen LongInt-Wert zurück.
|
@Equ() @Equ$()
|
num. String
|
Vergleich auf Gleichheit. Eine Funktion für numerische Werte und eine für Strings.
|
Font %Font
|
Befehl Handle
|
Mit Font kann im Textmodus der ANSI- oder OEM-Font gewählt werden. Seit v4.5a wird
hiermit auch der Zeichensatz der dBase-Tabellen bestimmt.
%Font enthält das Handle der mit UseFont eingestellten Schrift.
|
@GetBValue()
@GetGValue()
@GetRValue()
|
(blau) (grün) (rot)
|
Ermittelt die Farbanteile einer Farbe.
|
%GetCount @GetCount()
|
(LBL) (LBD)
|
Die Systemvariable wirkt auf die ListBox-Liste, die Funktion auf den ListBox-Dialog.
|
%GetCurSel @GetCurSel()
|
(LBL) (LBD)
|
Die Systemvariable wirkt auf die ListBox-Liste, die Funktion auf den ListBox-Dialog.
|
%GetFocus @GetFocus
|
enthält Handle prüft Handle
|
Mit @GetFocus kann geprüft werden, ob das angegebene Objekt den Fokus hat.
%GetFocus enthält das Handle des Fensterobjektes, das gerade den Fokus hat.
|
$GetText @GetText$
|
(LBL)
(handle)
|
$GetText: Der zuletzt in @ListBox$() eingegebene Text.
@GetText$: Der Text des angegebenen Fensterobjektes wird ermittelt.
|
@GT() @GT$()
|
num. String
|
Vergleich auf "größer als". Eine Funktion für numerische Werte
und eine für Strings.
|
%hDC
%hDC2
|
|
Display-Context des Hauptfensters (%hDC) und der Hauptfenster-Kopie (%hDC2).
|
@If() If
|
(Funktion) (Befehl)
|
Die @If()-Funktion ermöglicht ein schnelles Zuweisen aufgrund einer Bedingung.
Alle Grund-Datentypen sind erlaubt (jedoch nicht gemischt).
Ergebnis$ = @If(bedingung,"wahr","falsch")
Das mehrzeilige If bietet wesentlich mehr Möglichkeiten. Zwischen den einzelnen
Befehlsteilen sind alle Befehle und Funktionen in beliebiger Anzahl erlaubt.
If .. ElseIf .. Else .. EndIf oder
IfNot .. ElseIf .. Else .. EndIf
|
Input
@Input$()
Input #
!Input, %Input, &Input, $Input
|
Textmodus
Dialogmodus
Dateimodus
letzter Input-Wert
|
Input ermöglicht Tastatur-Eingaben im Textmodus. Das Ergebnis steht je
nach Datentyp in !Input (Float), %Input (Integer), &Input
(LongInt) oder $Input (Text).
Im Dialogmodus kann die Funktion @Input$() sowohl Text als auch Zahlen
annehmen.
Mit Input #n kann ein Wert aus einer Datei in eine Variable (Text / Zahl)
eingelesen werden.
|
@Ins$() @InStr$()
|
Text einfügen
"enthalten in"
|
Mit @Ins$() wird ein Zeichen oder String an bestimmter Stelle
in einen anderen String eingefügt.
Mit @InStr$() wird überprüft, ob ein String in einem anderen enthalten ist.
|
@KeyIn() %Key
|
"enthalten in"
zuletzt gedrückte Taste
|
Ähnlich der Funktion @InStr$() (String in String) wird mit
@KeyIn() (Key in String) überprüft, ob die zuletzt gedrückte Taste
im angegebenen String enthalten ist.
%Key liefert den ANSI-Code der zuletzt gedrückten Taste.
|
Line LineTo MoveTo
|
Linie Folgelinie Startpunkt setzen
|
Mit Line wird eine Linie gezeichnet (Startpunkt,EndPunkt).
LineTo ermöglicht das Linien-Ziehen von der augenblicklichen Position
aus (nur Endpunkt). Diese Position kann z.B. der Endpunkt eines vorherigen Line-Befehls
oder explizit mit MoveTo gesetzt worden sein.
MoveTo bewegt den Zeichenstift an eine bestimmte Position, ohne
zu zeichnen.
|
List!, @List!() List%, @List%() List&, @List&() List$, @List$()
|
Float Integer LongInt String
|
Die sogenannten "Datentyp-Listen" können mit diesen Befehlen/Funktionen
verwaltet werden. Mit dem Befehl wird ein Wert in die Liste eingetragen,
mit der Funktion kann dieser Wert gelesen werden.
|
ListBoxItem$
@ListBoxItem$()
@ListBox$()
|
setze lese zeige
|
Mit ListBoxItem$ kann ein Wert an bestimmter Stelle in die ListBox-Liste
übernommen werden. Mit @ListBoxItem$() kann ein Wert von einer bestimmten
Stelle der ListBox-Liste gelesen werden. Mit @ListBox$() wird die
ListBox-Liste als Auswahl-Dialog angezeigt.
Bitte nicht mit dem ListBox-Dialog verwechseln. Der ListBox-Dialog wird mit
@Create("ListBox",...) oder @Create("SortedListBox",...) erstellt.
|
Long @Long()
|
speichern lesen
|
LongInt-Wert (4 Zeichen) in einen Bereich schreiben oder daraus auslesen.
|
@LT() @LT$()
|
num. String
|
Vergleich auf "kleiner als". Eine Funktion für numerische Werte und eine für Strings.
|
%MaxX %MaxY
|
|
Horizontale (%MaxX) und vertikale (%MaxY) Auflösung des Bildschirmes.
|
%MenuItem
|
letzte Wahl
Abfrage
|
In %MenuItem steht die Identifikationsnummer des zuletzt angewählten Menüpunktes
(0=keine Auswahl, 254=Copyright-Zeichen).
Wenn WindowStyle 256 gesetzt ist, dann gibt es auch die Werte
des Systemmenüs:
-3808=Wiederherstellen,
-4064=Verkleinern (zum Symbol),
-4048=Vergrößern (zum Vollbild),
-4000=Schließen (Alt-F4),
-3792=Wechseln zu ... (Taskmanager)
Mit @MenuItem() kann überprüft werden, ob der aktuell gewählte Menüpunkt
mit der angegebenen Nummer übereinstimmt.
If @MenuItem(0 )
'es wurde nichts gewählt
ElseIf @MenuItem(254 )
'Copyright-Zeichen gewählt
ElseIf @MenuItem(n% )
'Menüpunkt n% gewählt
EndIf
|
MessageBox
@MessageBox()
|
(veraltet)
Meldungsfenster
|
Der MessageBox-Befehl ist nur noch aus Gründen der Kompatibilität zu
älteren Versionen vorhanden.
Die @MessageBox-Funktion erlaubt die Anzeige von Meldungen kombiniert
mit einem Icon. Es können bis zu drei Ende-Knöpfe definiert werden. Das
Funktionsergebnis zeigt an, welcher Knopf betätigt wurde.
|
@NEq() @NEq$()
|
num. String
|
Vergleich auf Ungleichheit. Eine Funktion für numerische Werte und eine für Strings.
|
&NotifyWnd %NotifyCode %wmNotify
|
Handle Ereignis Schalter
|
Wenn die Message wm_Notify auftritt, dann wird ein WaitInput verlassen. Mit
%wmNotify (wird beim Auslesen zurückgesetzt) kann dies
geprüft werden.
In &NotifyWnd steht dann das Handle des Dialogelementes
und in %NotifyCode das aufgetretene Ereignis.
|
#
|
|
#
|
|
|
|