Daten um und über Profan² © Michael Wodrich

 
  Inhalt:
Systemvariablen
Profan² kennt vier Typen von Systemvariablen.

Datentyp Präfix Anzahl Variablen
Float
!
1
Integer
%
65
LongInt
&
18
String
$
13
Gesamtanzahl
97

Befehle und Funktionen
Profan² verfügt über eine beachtliche Zahl an Befehlen und Funktionen.
  • Anzahl Befehle: 209
  • Anzahl Funktionen: 241

Handles
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.
 

 
 
Hauptseite  •   Disclaimer

Ort dieser Seite: https://www.michael-wodrich.de/tokcnt.htm
erstellt: 18.07.2003, geändert: 01.11.2003
 
 

Powered by