Saltar al contenido principal
Versión: 21 R2 BETA

Command name

Command name ( command : Integer {; info : Integer {; theme : Text}} ) : Text

ParámetrosTipoDescripción
comandoIntegerNúmero de comando
infoIntegerPropiedad del comando a evaluar
themeTextTema del lenguaje del comando
ResultadoTextNombre del comando
Historia
LanzamientoModificaciones
20 R9Soporte de la propiedad obsoleta

Descripción

The Command name command returns the name as well as (optionally) the properties of the command whose command number you pass in command.El número de cada comando se indica tanto en el explorador como en el área Propiedades de esta documentación.

Nota de compatibilidad: el nombre de un comando puede variar de una versión 4D a la siguiente (comandos renombrados), este comando se utilizaba en versiones anteriores para designar un comando directamente mediante su número, especialmente en porciones de código no tokenizadas. Esta necesidad ha disminuido con el tiempo a medida que 4D sigue evolucionando porque, para las sentencias no tokenizadas (fórmulas), 4D ahora ofrece una sintaxis con tokens. Esta sintaxis le permite evitar posibles problemas debidos a las variaciones en los nombres de los comandos y otros elementos, como las tablas, sin dejar de poder escribir estos nombres de forma legible (para más información, consulte la sección Utilización de tokens en las fórmulas). Tenga en cuenta también que la opción *Usar parámetros del sistema regional* de las Preferencias le permite seguir usando el idioma francés en una versión francesa de 4D.

Hay dos parámetros opcionales:

  • info: propiedades del comando. El valor devuelto es un campo de bits, donde los siguientes bits son significativos:
    • Primer bit (bit 0): definido en 1 si el comando es hilo-seguro (es decir, compatible con la ejecución en un proceso apropiativo) y 0 si es hilo-inseguro. Solo se pueden usar comandos hilo seguro en procesos preventivos.
    • Segundo bit (bit 1): se define en 1 si el comando es obsoleto, y en 0 si no lo es. Un comando obsoleto seguirá funcionando normalmente mientras sea compatible, pero debe sustituirse siempre que sea posible y no debe utilizarse en código nuevo. Los comandos obsoletos en su código generan advertencias en el Live Checker y el compilador.

theme: nombre del tema del lenguaje 4D para el comando.

El comando Command name define la variable OK en 1 si command corresponde a un número de comando existente, y a 0 en caso contrario. Tenga en cuenta, sin embargo, que algunos comandos existentes han sido desactivados, en cuyo caso Command name devuelve una cadena vacía (ver el último ejemplo).

Ejemplo 1

El siguiente código permite cargar todos los comandos 4D válidos en un array:

 var $Lon_id : Integer
 var $Txt_command : Text
 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) //command number exists
       If(Length($Txt_command)>0) //el comando no está desactivado
          APPEND TO ARRAY($tTxt_commands;$Txt_command)
          APPEND TO ARRAY($tLon_Command_IDs;$Lon_id)
       End if
    End if
 Until(OK=0) //fin de los comandos existentes

Ejemplo 2

En un formulario, quiere una lista desplegable con los comandos básicos de informe resumido. En el método objeto para esa lista desplegable, escribe:

 Case of
    :(Form event code=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

En la versión inglesa de 4D, la lista desplegable leerá: Sum, Average, Min y Max. En la versión francésa *, la lista desplegable dirá: Somme, Moyenne, Min, y Max.

*con una aplicación 4D configurada para usar el lenguaje de programación en francés (ver nota de compatibilidad)

Ejemplo 3

Quiere crear un método que devuelva True si el comando, cuyo número se pasa como parámetro, es hilo seguro, y False en caso contrario.

  //Is_Thread_Safe project method
 #declare($command : Integer) : Boolean
 var $threadsafe : Integer
 var $name; $theme : Text
 $name:=Command name($command;$threadsafe;$theme)
 If($threadsafe ?? 0) //if the first bit is set to 1
    return True
 Else
    return False
 End if

Luego, para el comando "SAVE RECORD" (53) por ejemplo, puede escribir:

 $isSafe:=Is_Thread_Safe(53)
  // devuelve True

Ejemplo 4

Quiere devolver una colección de todos los comandos obsoletos en su versión de 4D.

var $info; $Lon_id : Integer
var $Txt_command : Text
var $deprecated : Collection

Repeat
$Lon_id:=$Lon_id+1
$Txt_command:=Command name($Lon_id;$info)
If($info ?? 1) //el segundo bit está a 1
//entonces el comando es obsoleto
$deprecated.push($Txt_command)
End if
Until(OK=0) //fin de los comandos existentes

Ver también

EXECUTE FORMULA
Preemptive Processes

Propiedades

Número de comando538
Hilo seguro
Modifica las variablesOK