4D v13.4Command name |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v13.4
Command name
|
Command name ( comando ) -> Resultado | ||||||||
Parâmetro | Tipo | Descrição | ||||||
comando | Inteiro longo |
![]() |
Número de comando | |||||
Resultado | cadeia |
![]() |
Nome do comando localizado | |||||
O comando Command name devolve o nome literal do comando cujo número é passado em comando.
4D integra uma tradução dinâmica de palavras chaves, constantes e nomes de comandos utilizados em seus métodos. Por exemplo, se está utilizando a versão inglesa de 4D, você escreveria:
DEFAULT TABLE([MinhaTabela])
ALL RECORDS([MinhaTabela])
Este mesmo código, se for aberto com a versão francesa de 4D, será traduzido automaticamente:
TABLE PAR DEFAUT([MinhaTabela])
TOUT SELECTIONNER([MinhaTabela])
Entretanto, 4D também inclui uma característica única, o comando EXECUTE FORMULA, o qual lhe permite construir código de maneira improvisada e depois executá-lo, mesmo que o banco esteja compilado.
O código de exemplo, escrito com EXECUTE FORMULA em inglês, se verá assim:
EXECUTE FORMULA("DEFAULT TABLE([MinhaTabela])")
EXECUTE FORMULA("ALL RECORDS([MinhaTabela])")
O mesmo código, aberto com a versão francesa de 4D, é traduzida automaticamente:
EXECUTER FORMULE("DEFAULT TABLE([MinhaTabela])")
EXECUTER FORMULE("ALL RECORDS([MinhaTabela])")
4D traduz automaticamente EXECUTE FORMULA (inglês) a EXECUTER FORMULE (francês), mas não pode traduzir as instruções passadas ao comando.
Se utiliza o comando EXECUTE FORMULA em sua aplicação, pode utilizar Command name para eliminar os problemas de tradução associados a este tipo de instruções, e assim fazer instruções independentes do idioma. O código de exemplo se converte em:
EXECUTE FORMULA(Command name(46)+"([MinhaTabela])")
EXECUTE FORMULA(Command name(47)+"([MinhaTabela])")
Com uma versão francesa de 4D, este código será:
EXECUTER FORMULE(Nom commande(46)+"([MinhaTabela])")
EXECUTER FORMULE(Nom commande(47)+"([MinhaTabela])")
Nota: o número de cada comando está na área de Propriedades da página de documentação do comando.
Para todas as tabelas de seu banco de dados, você tem um formulário chamado “FORMULARIO DE ENTRADA” utilizado para a entrada de dados em cada tabela. Se deseja adicionar um método de projeto genérico que vá a designar este formulário como o formulário de entrada atual para a tabela cujo ponteiro ou nome foi passado, você escreve:
` Método de projeto FORMULARIO ENTRADA ESTANDAR
` FORMULARIO ENTRADA ESTANDAR ( Ponteiro {; String })
` FORMULARIO ENTRADA ESTANDAR ( ->Tabela {; NomTabela })
C_POINTER($1)
C_STRING(31;$2)
[
If(Count parameters>=2)
EXECUTE FORMULA(Command name(55)+"(["+$2+"];"+Char(Double quote)+"FORMULARIO DE ENTRADA"+Char(Double quote)+")")
Else
If(Count parameters>=1)
FORM SET INPUT($1->;"FORMULARIO DE ENTRADA")
End if
End if
Quando tiver adicionado este método de projeto a seu banco, você escreve:
FORMULARIO ENTRADA ESTANDAR(->[Empregados])
FORMULARIO ENTRADA ESTANDAR("Empregados")
Nota: geralmente, é preferível utilizar ponteiros para escrever rotinas genéricas. Primeiro, o código será executado compilado se o banco estiver compilado. Depois, como no exemplo anterior, seu código deixará de funcionar corretamente se renomear a tabela. Entretanto, em alguns casos, a utilização de EXECUTE FORMULA resolverá o problema.
Em 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=On Before)
ARRAY TEXT(asComando;4)
asComando{1}:=Command name(1) ` Soma
asComando{2}:=Command name(2) ` Media
asComando{3}:=Command name(4) ` Min
asComando{4}:=Command name(3) ` Max
` ...
End case
Na 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.
Produto: 4D
Tema: Linguagem
Número
538
Criado por: 4D v6