| 4D v20.1Command name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 Command name 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Command name ( comando {; info {; tema}} ) -> Resultado | ||||||||
| Parâmetro | Tipo | Descrição | ||||||
| comando | Inteiro longo |   | Número de comando | |||||
| info | Inteiro longo |   | Propriedade thread seguro do comando | |||||
| tema | Texto |   | Tema da linguagem do comando | |||||
| Resultado | String |   | Nome do comando localizado | |||||
O comando Command name retorna o nome do comando cujno número foi passado em comando.
Nota: O número de cada comando é indicado no Explorer assim como na área Propriedades desta documentação.
Nota de Compatibilidade: Já que o nome de comando pode variar entre versões de 4D (comandos renomeados) ou de acordo com a linguagem do aplicativo, pode ser útil designar um comando através de seu número, especialmente em porções de código não-tokenizadas. A utilidade do comando com respeito a esta necessidade diminui ao longo do tempo com a evolução de 4D, já que agora 4D oferece uma sintaxe token. Esta sintaxe token pode ser usada para evitar possíveis problemas por variações em nomes de comando, assim como outros elementos tais como tabelas, mas permitindo digitar os nomes em uma maneira legível (para saber mais, veja Usar tokens em fórmulas ). Além disso, de forma pré-determinada, a versão na língua inglesa a partir de 4D v15; entretanto, a opção "Use regional system settings" em Is a list das Preferências permite que continue a usar a linguagem francesa na versão francesa de 4D.O comando Command name estabelece a variável OK para 1 se comando corresponde a um número de comando existente, e a 0 de outra maneira. Note, entretanto, que alguns comandos existentes foram desativados, em cujo caso Command name retorna uma string vazia (ver último exemplo).
O seguinte código lhe permite carregar todos os comandos 4D válidos em um array:
 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) //o número de comando existe
       If(Length($Txt_command)>0) //o comando não está desativado
          APPEND TO ARRAY($tTxt_commands;$Txt_command)
          APPEND TO ARRAY($tLon_Command_IDs;$Lon_id)
       End if
    End if
 Until(OK=0) //fim dos comandos existentesEm um formulário, você deseja mostrar uma lista suspensa que contenha os comandos padrão de geração de informes. No método de objeto desta lista suspensa, você escreve:
 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 caseNa versão inglesa de 4D, a lista suspensa conterá: Sum, Average, Min, e Max. Na versão francesa(*), a lista suspensa conterá: Somme, Moyenne, Min, e Max.
*com um aplicativo 4D application configurado para a linguagem francesa (ver nota de compatibilidade).
Se quiser criar um método que devolva True se o comando, cujo número foi passado como parâmetro, for thread seguro e em caso contrário False. 
  //Método projeto Is_Thread_Safe
  //Is_Thread_Safe(numCom) -> Booleano
 
 C_LONGINT($1;$threadsafe)
 C_TEXT($name)
 C_BOOLEAN($0)
 $name:=Command name($1;$threadsafe;$theme)
 If($threadsafe ?? 0) //se o primeiro bit for definido em 1
    $0:=True
 Else
    $0:=False
 End ifDepois, para o comando "SAVE RECORD" (53) por exemplo, pode escrever:
 $isSafe:=Is_Thread_Safe(53)
  // devolveTrue
	Produto: 4D
	Tema: Linguagem
	Número 
        538
        
        
        
	
	Criado por: 4D v6
	Modificado: 4D v15 R5
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	Manual de linguagem 4D ( 4D v20)
	
	
	Manual de linguagem 4D ( 4D v20.1)
	
	
	
 Adicionar um comentário
Adicionar um comentário