Klassenbibiliothek:
EXApp | EXDialog | EXMath | EXString | EXStrings | EXXmlDoc | EXSystem | EXNetwork | EXImage
EXApp | EXDialog | EXMath | EXString | EXStrings | EXXmlDoc | EXSystem | EXNetwork | EXImage
ExBox // Makros / Klassenreferenz - EXStorage
Diese Klasse bietet Zugriff auf das integrierte Ablagesystem (Datenspeicher).
Jeder 'Storage' besitzt einen Namen sowie eine ID, mit der dieser gefunden bzw. angesprochen werden kann. Dazu stehen in der Klasse 'EXApp.Storages' die Methoden 'FindByName' und 'FindByID' zur Verfügung. EIn Storage bzw. Datenspeicher kann dazu verwendet werden, Daten zu persistieren - d.h.: Ein Makro kann beliebige Daten in diesen Speicher schreiben und zu einem späteren Zeitpunkt wieder lesen. Dabei kann es sich um das ursprüngliche, aber auch um ein völlig anderes Makro handeln. Datenspeicher werden solange im Speicher gehalten, bis ExBox! beendet wird. Um diese dauerhaft zu persistieren, stehen die Methoden 'Load' bzw. 'Save' zur Verfügung. Mit der Eigenschaft 'Data' wird der eigentliche Speicher geschrieben bzw. gelesen. Dazu stehen diverse Methoden für die einzelnen Datentypen (String, Integer, ...) zur Verfügung,
Name: string
Bestimmt den Namen des Datenspeichers bzw. gibt diesen zurück.
ID: Integer
Bestimmt die ID des Datenspeichers bzw. gibt diese zurück.
Load(FileName: string): Boolean
Läd einen Datenspeicher unter dem mit FileName angegebenen Dateinamen. Wurde die Datei nicht gefunden bzw. konnte nicht geladen werden, gibt die Funktion 'False' zurück.
Save(FileName: string): Boolean
Speichert den Datenspeicher unter den mit FileName angegebenen Dateinamen. Konnte die Datei nicht gespeichert werden, gibt die Funktion 'False' zurück.
QuickLoad: Boolean
Läd einen Datenspeicher unter seinem Namen. Wurde die Datei nicht gefunden bzw. konnte nicht geladen werden, gibt die Funktion 'False' zurück.
QuickSave: Boolean
Speichert den Datenspeicher unter seinem Namen. Konnte die Datei nicht gespeichert werden, gibt die Funktion 'False' zurück.
Data: TEXParamSet
Bietet über diverse Methoden Zugriff auf den eigentlichen Datenspeicher.
Bestimmt den Namen des Datenspeichers bzw. gibt diesen zurück.
ID: Integer
Bestimmt die ID des Datenspeichers bzw. gibt diese zurück.
Load(FileName: string): Boolean
Läd einen Datenspeicher unter dem mit FileName angegebenen Dateinamen. Wurde die Datei nicht gefunden bzw. konnte nicht geladen werden, gibt die Funktion 'False' zurück.
Save(FileName: string): Boolean
Speichert den Datenspeicher unter den mit FileName angegebenen Dateinamen. Konnte die Datei nicht gespeichert werden, gibt die Funktion 'False' zurück.
QuickLoad: Boolean
Läd einen Datenspeicher unter seinem Namen. Wurde die Datei nicht gefunden bzw. konnte nicht geladen werden, gibt die Funktion 'False' zurück.
QuickSave: Boolean
Speichert den Datenspeicher unter seinem Namen. Konnte die Datei nicht gespeichert werden, gibt die Funktion 'False' zurück.
Data: TEXParamSet
Bietet über diverse Methoden Zugriff auf den eigentlichen Datenspeicher.
TEXParamSet
Die Klasse wird zum Speichern der eigentlichen Daten verwendet und besitzt dazu für die einzelnen Datentypen entsprechende Methoden.
Exists(Key: string): Boolean
Prüft, ob unter dem Namen Key ein entsprechender Datensatz abgelegt wurde und gibt im Erfolgsfall 'True' zurück.
Remove(Key: string): Boolean
Löscht den mit Key angegeben Datensatz und gibt 'True' zurück, sofern dieser überhaupt existierte.
AddString(Key: string; Value: string)
Speichert unter dem Namen Key den String-Wert Value.
AddInteger(Key: string; Value: Integer)
Speichert unter dem Namen Key den Integer-Wert Value.
AddFloat(Key: string; Value: Double)
Speichert unter dem Namen Key den Float-Wert Value.
AddBoolean(Key: string; Value: Boolean)
Speichert unter dem Namen Key den Boolean-Wert Value.
AddDateTime(Key: string; Value: Double)
Speichert unter dem Namen Key den DateTime-Wert Value.
AsString(Key: string; Default: string): string
Liefert den unter dem Namen Key gespeicherten Wert als String zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsInteger(Key: string; Default: Integer): Integer
Liefert den unter dem Namen Key gespeicherten Wert als Integer zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsFloat(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsBoolean(Key: string; Default: Boolean): Boolean
Liefert den unter dem Namen Key gespeicherten Wert als Boolean zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsDateTime(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double (TDateTime: Datum und Zeit) zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsDate(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double (TDateTime: Datum) zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsTime(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double (TDateTime: Zeit) zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
Prüft, ob unter dem Namen Key ein entsprechender Datensatz abgelegt wurde und gibt im Erfolgsfall 'True' zurück.
Remove(Key: string): Boolean
Löscht den mit Key angegeben Datensatz und gibt 'True' zurück, sofern dieser überhaupt existierte.
AddString(Key: string; Value: string)
Speichert unter dem Namen Key den String-Wert Value.
AddInteger(Key: string; Value: Integer)
Speichert unter dem Namen Key den Integer-Wert Value.
AddFloat(Key: string; Value: Double)
Speichert unter dem Namen Key den Float-Wert Value.
AddBoolean(Key: string; Value: Boolean)
Speichert unter dem Namen Key den Boolean-Wert Value.
AddDateTime(Key: string; Value: Double)
Speichert unter dem Namen Key den DateTime-Wert Value.
AsString(Key: string; Default: string): string
Liefert den unter dem Namen Key gespeicherten Wert als String zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsInteger(Key: string; Default: Integer): Integer
Liefert den unter dem Namen Key gespeicherten Wert als Integer zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsFloat(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsBoolean(Key: string; Default: Boolean): Boolean
Liefert den unter dem Namen Key gespeicherten Wert als Boolean zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsDateTime(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double (TDateTime: Datum und Zeit) zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsDate(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double (TDateTime: Datum) zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
AsTime(Key: string; Default: Double): Double
Liefert den unter dem Namen Key gespeicherten Wert als Double (TDateTime: Zeit) zurück. Existiert dieser nicht, wird stattdessen Default zurückgeliefert.
Beispiele
Neuen Datenspeicher mit dem Namen 'MyStorage' anlegen und Werte zuweisen:
var
Store: TEXStorage;
begin
Store := EXApp.Storages.New('MyStorage');
Store.Data.AddString('LastName', 'Mustermann');
Store.Data.AddString('FirstName', 'Max');
Store.Data.AddInteger('Age', 28);
end.
Datenspeicher finden und Werte auslesen (könnte in einem anderen Makro sein):
var
Store: TEXStorage;
begin
Store := EXApp.Storages.FindByName('MyStorage');
if Store <> nil then
ShowMessage(Store.Data.AsString('LastName', '(unbekannt)'));
end.
var
Store: TEXStorage;
begin
Store := EXApp.Storages.New('MyStorage');
Store.Data.AddString('LastName', 'Mustermann');
Store.Data.AddString('FirstName', 'Max');
Store.Data.AddInteger('Age', 28);
end.
Datenspeicher finden und Werte auslesen (könnte in einem anderen Makro sein):
var
Store: TEXStorage;
begin
Store := EXApp.Storages.FindByName('MyStorage');
if Store <> nil then
ShowMessage(Store.Data.AsString('LastName', '(unbekannt)'));
end.