4D v12.4SET RESOURCE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
SET RESOURCE
|
SET RESOURCE ( ResTyp ; ResID ; ResDatei {; RefDatei} ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
ResTyp | String |
![]() |
Ressourcentyp mit 4 Zeichen | |||||
ResID | Lange Ganzzahl |
![]() |
Kennummer der Ressource | |||||
ResDatei | BLOB |
![]() |
Neuer Inhalt für die Ressource | |||||
RefDatei | DokRef |
![]() |
Referenznummer der Ressourcendatei, ohne Angabe aktuelle Ressourcendatei | |||||
Der Befehl SET RESOURCE erstellt und schreibt die Ressource vom Typ ResTyp und mit der Nummer ResID mit den Daten aus dem BLOB ResDatei.
Wichtig: Sie müssen in ResTyp einen String mit vier Zeichen übergeben.
Kann die Ressource nicht geschrieben werden, wird die OK Variable auf 0 (Null) gesetzt.
Übergeben Sie in RefDatei eine gültige Referenznummer für die Ressourcendatei, wird die Ressource nur in dieser Datei hinzugefügt. Übergeben Sie RefDatei nicht, wird die Ressource der Datei an oberster Stelle in der Ressourcendatei-Kette hinzugefügt.
Hinweis: Eine Ressource kann mehrere Megabytes groß sein.
Bedenken Sie, dass Sie mit Ressourcen arbeiten, die auf MacOS basieren. Interne Ressourcendaten z.B vom Typ Lange Ganzzahl werden, unabhängig von der Plattform, mit der Macintosh Byte Anordnung gespeichert. Unter Windows werden low-Byte und high-Byte bei Daten für die Standardressourcen (Stringlisten-, Bild-Ressourcen, etc.) bei Bedarf automatisch vertauscht. Verwenden Sie eigene interne Datenstrukturen, bleibt es Ihnen überlassen, ob Sie die Byte-Anordnung der Daten aus dem BLOB vertauschen. Sie können Macintosh byte ordering z.B. der Funktion BLOB to longint übergeben.
Während einer 4D Sitzung verwalten Sie in Interprozessvariablen einige Benutzer-Voreinstellungen. Um diese Voreinstellungen von Sitzung zu Sitzung zu sichern, können Sie folgende Befehle einsetzen:
Mit SAVE VARIABLES und LOAD VARIABLES speichern und finden Sie die Variablen in den Variablen-Dokumenten auf der Festplatte wieder.
Sie die Variablen in BLOB Dokumenten auf der Festplatte wieder.
Mit VARIABLE TO BLOB, SET RESOURCE, GET RESOURCE und BLOB TO VARIABLE speichern und finden Sie die Variablen in Ressourcendateien auf der Festplatte wieder.
Nachfolgend ein Beispiel der dritten Methode.
In der Datenbankmethode On Exit schreiben Sie:
` Datenbankmethode On Exit
If(Test path name("DB_Prefs")#Is a document)
$vhResFile:=Create resource file("DB_Prefs")
Else
$vhResFile:=Open resource file("DB_Prefs")
End if
If(OK=1)
VARIABLE TO BLOB(◊vbAutoRepeat;$vxPrefData)
VARIABLE TO BLOB(◊vlCurTable;$vxPrefData;*)
VARIABLE TO BLOB(◊asDfltOption;$vxPrefData;*)
` usw.
SET RESOURCE("PREF";26500;$vxPrefData;$vhResFile)
CLOSE RESOURCE FILE($vhResFile)
End if
In der Datenbankmethode On Startup schreiben Sie:
` Datenbankmethode On Startup
C_BOOLEAN(◊vbAutoRepeat)
C_LONGINT(◊vlCurTable)
$vbDone:=False
$vhResFile:=Open resource file("DB_Prefs")
If(OK=1)
GET RESOURCE("PREF";26500;$vxPrefData;$vhResFile)
If(OK=1)
$vlOffset:=0
BLOB TO VARIABLE($vxPrefData;◊vbAutoRepeat;$vlOffset)
BLOB TO VARIABLE($vxPrefData;◊vlCurTable;$vlOffset)
BLOB TO VARIABLE($vxPrefData;◊asDfltOption;$vlOffset)
` and so on...
$vbDone:=True
End if
CLOSE RESOURCE FILE($vhResFile)
End if
If(Not($vbDone))
◊vbAutoRepeat:=False
◊vlCurTable:=0
ARRAY STRING(127;◊asDfltOption;0)
End if
Wird die Ressource geschrieben, wird OK auf 1 gesetzt, sonst auf 0 (Null).
Produkt: 4D
Thema: Ressourcen
Nummer:
509
Erstellt: 4D v6