4D v12.4

SET RESOURCE

Home

 
4D v12.4
SET RESOURCE

 

SET RESOURCE 


 

SET RESOURCE ( ResTyp ; ResID ; ResDatei {; RefDatei} )  
Parameter Typ   Beschreibung
ResTyp  String in Ressourcentyp mit 4 Zeichen
ResID  Lange Ganzzahl in Kennummer der Ressource
ResDatei  BLOB in Neuer Inhalt für die Ressource
RefDatei  DokRef in 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).

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Ressourcen
Nummer: 509

Dieser Befehl ändert die Systemvariable OK

 
GESCHICHTE 

Erstellt: 4D v6

 
SIEHE AUCH 

BLOB Befehle
GET RESOURCE