4D v16.3

Command name

Home

 
4D v16.3
Command name

Command name 


 

Command name ( Befehl {; Info {; Kapitel}} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Befehl  Lange Ganzzahl in Befehlsnummer
Info  Lange Ganzzahl in Eigenschaft Thread-Sicherheit des Befehls
Kapitel  Text in Kapitel zum Befehl
Funktionsergebnis  String in Lokalisierter Befehlsname

Die Funktion Command name gibt den Namen des Befehls und optional seine Eigenschaften zu der in Befehl übergebenen Nummer zurück.

Hinweis: Die entsprechende Nummer zum Befehlsnamen erscheint im Explorer und in dieser Dokumentation jeweils in der rechten oberen Ecke unter Eigenschaften.

Hinweis zur Kompatibilität: Da der Befehlsname zwischen verschiedenen Versionen variieren kann (umbenannte Befehle), konnte über diese Funktion ein Befehl direkt mit seiner Nummer angegeben werden, insbesondere in nicht-tokenisierten Code-Teilen. Diese Vorgehensweise hat im Zuge der Evolution von 4D heutzutage an Bedeutung verloren, da 4D für nicht-tokenisierte Anweisungen (Formeln) eine Syntax mit Tokens anbietet. Damit lassen sich potentielle Probleme bei geänderten Befehlsnamen oder anderen Elementen, wie z.B. Tabellen, vermeiden und es ist trotzdem möglich, diese Namen in lesbarer Form einzugeben. Weitere Informationen dazu finden Sie im Abschnitt Tokens in Formeln verwenden. Außerdem wird ab 4D v15 standardmäßig in allen 4D Programmiersprachen die englische Version verwendet. Jedoch kann eine französische 4D Version über die Option "Verwende regionale Systemeinstellungen" auf der Seite Methoden der 4D Einstellungen weiterhin die französischen 4D Befehlsnamen verwenden.

Es gibt zwei optionale Parameter:

  • Info: Eigenschaften des Befehls. Der zurückgegebene Wert ist ein bit Feld, wobei aktuell nur das erste Bit (bit 0) von Bedeutung ist und auf 1 gesetzt wird, wenn der Befehl thread-safe ist (0 ist thread-unsafe). Nur thread-safe Befehle lassen sich in preemptive Prozessen verwenden.
  • Kapitel: Gibt den Kapitelnamen zum Befehl in der 4D Programmiersprache zurück.

Command name setzt die Variable OK auf 1, wenn Befehl zu einer vorhandenen Befehlsnummer passt, andernfalls auf 0. Bei deaktivierten Befehlen gibt Command name einen leeren String zurück (siehe letztes Beispiel).

Mit folgendem Code können Sie alle gültigen 4D Befehle in ein Array laden:

 C_LONGINT($Lon_id)
 C_TEXT($Txt_command)
 ARRAY LONGINT($tLon_Command_IDs;0)
 ARRAY TEXT($tTxt_commands;0)
 
 Repeat
    $Lon_id:=$Lon_id+1
    $Txt_command:=Command name($Lon_id)
    If(OK=1) //Befehlsnummer existiert
       If(Length($Txt_command)>0) //Befehl ist nicht deaktiviert
          APPEND TO ARRAY($tTxt_commands;$Txt_command)
          APPEND TO ARRAY($tLon_Command_IDs;$Lon_id)
       End if
    End if
 Until(OK=0) //Ende der vorhandenen Befehle

Sie wollen in einem Formular eine DropDown-Liste mit den Grundbefehlen für Summen füllen. Die Objektmethode dafür lautet:

 Case of
    :(Form event=On Before)
       ARRAY TEXT(asCommand;4)
       asCommand{1}:=Command name(1)
       asCommand{2}:=Command name(2)
       asCommand{3}:=Command name(4)
       asCommand{4}:=Command name(3)
  ` ...
 End case

In der englischen/deutschen Version von 4D lautet die DropDown-Liste: Sum, Average, Min und Max. In der französischen Version (wenn die Option "Verwende regionale Systemeinstellungen" markiert ist) lautet sie: Somme, Moyenne, Min und Max.

Eine Methode erstellen, die wahr zurückgibt, wenn der Befehl mit der im Parameter übergebenen Nummer thread-safe ist, sonst falsch.

  //Projektmethode Is_Thread_Safe
  //Is_Thread_Safe(numCom) -> Boolean
 
 C_LONGINT($1;$threadsafe)
 C_TEXT($name)
 C_BOOLEAN($0)
 $name:=Command name($1;$threadsafe;$theme)
 If($threadsafe ?? 0) //wenn das erste Bit auf 1 gesetzt wird
    $0:=True
 Else
    $0:=False
 End if

Dann können Sie z.B. für den Befehl "SAVE RECORD" (53) folgende Anweisung schreiben:

 $isSafe:=Is_Thread_Safe(53)
  // gibt wahr zurück



Siehe auch 

EXECUTE FORMULA
Preemptive 4D Prozesse

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Programmiersprache
Nummer: 538

Dieser Befehl ändert die Systemvariable OKThis command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D v6
Geändert: 4D v15 R5

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)