| 4D v15.4METHOD SET CODE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v15.4
 METHOD SET CODE 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| METHOD SET CODE ( Pfad ; Code {; *} ) | ||||||||
| Parameter | Typ | Beschreibung | ||||||
| Pfad | Text, Array Text |   | Text oder Text Array mit einem oder mehreren Methodenpfaden | |||||
| Code | Text, Array Text |   | Code der angegebenen Methode(n) | |||||
| * | Operator |   | Mit Stern: Befehl gilt für Host Datenbanken, wenn er von einer Komponente ausgeführt wird. (außerhalb dieses Kontexts wird der Parameter ignoriert.) | |||||
Der Befehl METHOD SET CODE ersetzt den Code der Methode(n), angegeben im Parameter Pfad mit dem im Parameter Code übergebenen Inhalt. Dieser Befehl kann auf den Code aller Methodentypen zugreifen: Datenbank-, Projekt-, Formular-, Objektmethoden und Trigger.
Bei einer Projektmethode gilt folgendes: Existiert diese Methode bereits in der Datenbank, wird ihr Inhalt ersetzt; existiert sie nicht, wird sie mit ihrem Inhalt erstellt. Sie können zwei Syntaxarten verwenden, die eine basiert auf Text Arrays, die andere auf Textvariablen:
 C_TEXT(tVpath) // Textvariablen
 C_TEXT(tVcode)
 METHOD SET CODE(tVpath;tVcode) // Code einer einzelnen Methode ARRAY TEXT(arrPaths;0) // Text Arrays
 ARRAY TEXT(arrCodes;0)
 METHOD SET CODE(arrPaths;arrCodes) // Code mehrerer MethodenSie können die beiden Syntaxarten nicht miteinander mischen. Übergeben Sie einen ungültigen Pfadnamen, führt der Befehl nichts aus.
Wird METHOD SET CODE aufgerufen, werden die Methodenattribute standardmäßig zurückgesetzt. Enthält jedoch die erste Zeile der Methode Code gültige Metadaten (in JSON), werden damit die Methodenattribute spezifiziert und die erste Zeile wird nicht eingefügt. Beispiel für Metadaten:
  // %attributes = {"invisible":true,"lang":"fr","folder":"Security"}Hinweis: Diese Metadaten werden automatisch vom Befehl METHOD GET CODE generiert. Weitere Informationen dazu finden Sie unter dem Befehl METHOD SET ATTRIBUTES.
Für die Eigenschaft "Ordner" der Metadaten gilt folgendes:
Sie können diesen Befehl über eine Komponente ausführen, Sie müssen dann den Parameter * übergeben, da der Code der Komponente im Nur-Lesen Modus ist. Lassen Sie den Parameter * weg, wird der Fehler -9763 erzeugt.
Dieses Beispiel exportiert und importiert alle Projektmethoden einer Anwendung:
 $root_t:=Get 4D folder(Database folder)+"Methoden"+Folder separator
 ARRAY TEXT($fileNames_at;0)
 CONFIRM("Import oder Export der Methoden?";"Import";"Export")
 
 If(OK=1)
    DOCUMENT LIST($root_t;$fileNames_at)
    For($loop_l;1;Size of array($fileNames_at))
       $filename_t:=$fileNames_at{$loop_l}
       DOCUMENT TO BLOB($root_t+$filename_t;$blob_x)
       METHOD SET CODE($filename_t;BLOB to text($blob_x;UTF8 text without length))
    End for
 Else
    If(Test path name($root_t)#Is a folder)
       CREATE FOLDER($root_t;*)
    End if
    METHOD GET PATHS(Path project method;$fileNames_at)
    METHOD GET CODE($fileNames_at;$code_at)
    For($loop_l;1;Size of array($fileNames_at))
       $filename_t:=$fileNames_at{$loop_l}
       SET BLOB SIZE($blob_x;0)
       TEXT TO BLOB($code_at{$loop_l};$blob_x;UTF8 text without length)
       BLOB TO DOCUMENT($root_t+$filename_t;$blob_x)
    End for
 End if
 SHOW ON DISK($root_t)
	Produkt: 4D
	Thema: Zugriff Designobjekte
	Nummer: 
        1194
        
        
        
	

	Erstellt: 4D v13
	Geändert: 4D v14
	Geändert: 4D v15
	4D Programmiersprache ( 4D v15.4)
	4D Programmiersprache ( 4D v15)
	
	
	
	
	
	
	4D Programmiersprache ( 4D v15.3)
	
	
 Fehler melden
Fehler melden