4D v14.3SET TABLE TITLES |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
SET TABLE TITLES
|
SET TABLE TITLES ( titulosTabela ; numTabelas {; *} ) | ||||||||
titulosTabela | Array cadeia |
![]() |
Nomes de tabela da maneira que aparecem na caixa de diálogo | |||||
numTabelas | Array inteiro longo |
![]() |
Número atual de tabela | |||||
* |
![]() |
Use os nomes personalizados no editor de fórmulas | ||||||
SET TABLE TITLES permite ocultar, renomear e reordenar as tabelas de seu banco quando aparecem nos editores padrão de 4D em modo Aplicação (quando os editores se chamam via os comandos da linguagem 4D). Por exemplo, este comando pode modificar a visualização de tabelas e no editor pesquisas em modo Aplicação.
A utilização deste comando, também permite renomear rapidamente as etiquetas das tabelas em seus formulários, se usar os nomes dinâmicos. Para maior informação sobre a inserção de etiquetas de tabelas e de campos dinâmicos em formulários, consulte a seção Usar referências em texto estático no manual de Desenho de 4D.
Os arrays titulosTabelas e numTabelas devem estar sincronizados. No array titulosTabelas, passe os nomes das tabelas como deseja que apareçam. Se não desejar mostrar uma tabela em particular, não inclua seu nome ou novo título no array. As tabelas aparecerão na ordem que especificou neste array. Em cada elemento do array numTabelas, passe o número da tabela que corresponde ao nome, novo ou antigo, da tabela, passado no mesmo número de elemento no array titulosTabelas.
Por exemplo, você tem um banco composto pelas tabelas A, B, e C, criadas nesta ordem. Você deseja que estas tabelas apareçam como X, Y, e Z. Além disso não deseja mostrar a tabela B. Por último, deseja mostrar Z e X, nesta ordem. Para fazer isso, passe no parâmetro titulosTabelas um array de dois elementos, Z e X, e passe no parâmetro numTabelas um array de dois elementos, 3 e 1.
Notas:
Imagine que está desenvolvendo uma aplicação 4D que planeja vender internacionalmente. Portanto, você deve considerar as necessidades de tradução. Para os editores padrão de 4D que aparecem em modo Aplicação e seus formulários que utilizam nomes dinâmicos, pode utilizar uma tabela [Traduçoes] e alguns métodos de projeto para criar e utilizar as traduções para cada idioma.
Em seu banco, crie a próxima tabela:
Depois, crie o método de projeto TRADUZIR_TABELAS_E_CAMPOS. Este método analisa a estrutura de seu banco na tabela [Traduçoes] e cria os registros correspondentes ao idioma passado como parâmetro.
` Método de projeto TRADUZIR_TABELAS_E_CAMPOS
` TRADUZIR_TABELAS_E_CAMPOS (Text)
` TRADUZIR_TABELAS_E_CAMPOS (LanguageCode)
C_TEXT($1) `código do idioma
C_LONGINT($vlTabela;$vlCampo)
C_TEXT($Idioma)
$Idioma:=$1
For($vlTabela;1;Get last table number) `Passar por cada tabela
If($vlTabela#(Table(->[Traduçoes]))) `Não traduzir a tabela de traduções
`Verificar se existe uma tradução de nome da tabela para o idioma especificado
QUERY([Traduçoes];[Traduçoes]Codigo_Idioma=$Idioma;*) `idioma desejado
QUERY([Traduçoes];&;[Traduçoes]Tabela_ID=$vlTabela;*) `Número de tabela
QUERY([Traduçoes];&;[Traduçoes]Campo_ID=0) `número de campo = 0 significa que é um nome de tabela
If(Is table number valid($vlTabela)) `verificar que a tabela ainda existe
If(Records in selection([Traduçoes])=0)
`Do contrário, criar o registro
CREATE RECORD([Traduçoes])
[Traduçoes]Codigo_Idioma:=$Idioma
[Traduçoes]Tabela_ID:=$vlTabela
[Traduçoes]Campo_ID:=0
`O nome da tabela traduzida deverá ser introduzido
[Traduçoes]Tradução:=Table name($vlTabela)+" em "+$Idioma
SAVE RECORD([Traduções])
End if
For($vlCampo;1;Obter número do último campo($vlTabela))
`Verificar se existe uma tradução para o nome do campo no idioma especificado
QUERY([Traduçoes];[Traduçoes]Codigo_Idioma=$Idioma;*) `idioma desejado
QUERY([Traduçoes];&;[Traduçoes]Tabela_ID=$vlTabela;*) `número de tabela
QUERY([Traduçoes];&;[Traduçoes]Campo_ID=$vlCampo) `número de campo
If(Is field number valid($vlTabela;$vlCampo))
If(Records in selection([Traduçoes])=0)
`Do contrário, criar o registro
CREATE RECORD([Traduçoes])
[Traduçoes]Codigo_Idioma:=$Idioma
[Traduçoes]Tabela_ID:=$vlTabela
[Traduçoes]Campo_ID:=$vlCampo
`O nome do campo traduzido deve ser introduzido
[Traduçoes]Tradução:=Field name($vlTabela;$vlCampo)+"em "+$Idioma
SAVE RECORD([Traduçoes])
End if
Else
If(Records in selection([Traduçoes])#0)
` Se o campo não existir, eliminar a tradução
DELETE RECORD([Traduçoes])
End if
End if
End for
Else
If(Records in selection([Traduçoes])#0)
`Se a tabela não existir, eliminar a tradução
DELETE RECORD([Traduçoes])
End if
End if
End if
End for
TRANSLATE TABLES AND FIELDS("Espanhol")
LOCALIZED TABLES AND FIELDS("Espanhol")
com o método de projeto TABELAS_E_CAMPOS_LOCALIZADOS:
`Método objeto TABELAS_E_CAMPOS_LOCALIZADOS
` TABELAS_E_CAMPOS_LOCALIZADOS (Text)
` TABELAS_E_CAMPOS_LOCALIZADOS (LanguageCode)
C_TEXT($1) `Código do idioma
C_LONGINT($vlTabela;$vlCampo)
C_TEXT($Idioma)
C_LONGINT($vlNumTabela;$vlNumCampo)
$Idioma:=$1
`Atualização dos nomes de tabelas
ARRAY TEXT($asNomes;0) `Inicializar os arrays para SET TABLE TITLES e SET FIELD TITLES
ARRAY INTEGER($aiNumeros;0)
QUERY([Traduções];[Traduçoes]Codigo_Idioma=$Idioma;*)
QUERY([Traduções];&;[Traduçoes]Campo_ID=0) `nomes de tabelas
SELECTION TO ARRAY([Traduçoes]Tradução;$asNomes;[Traduçoes]Tabela_ID;$aiNumeros)
SET TABLE TITLES($asNomes;$aiNumeros)
`Atualização dos nomes de campos
$vlNumTabela:=Get last table number `Obter o número de tabelas no banco
For($vlTabela;1;$vlNumTabela) `Passar por cada tabela
If(Is table number valid($vlTabela))
QUERY([Traduçoes];[Traduçoes]Codigo_Idioma=$Idioma;*)
QUERY([Traduçoes]; & ;[Traduçoes]Tabela_ID=$vlTabela;*)
QUERY([Traduçoes]; & ;[Traduçoes]Campo_ID#0) `evite que o zero seja nome de tabela
SELECTION TO ARRAY([Traduçoes]Tradução;$asNomes;[Traduçoes]Campo_ID;$aiNumeros)
SET FIELD TITLES(Tabela($vlTabela)->;$asNomes;$aiNumeros)
End if
End for
Produto: 4D
Tema: Interface de Usuário
Número
601
Modificado: 4D v11 SQL
Get last table number
SET FIELD TITLES
Table name
Manual de linguagem 4D ( 4D v12.4)
Manual de linguagem 4D ( 4D v14 R3)
Manual de linguagem 4D ( 4D v14 R2)
Manual de linguagem 4D ( 4D v13.5)
Manual de linguagem 4D ( 4D v14.3)
Manual de linguagem 4D ( 4D v14 R4)
Inherited from : SET TABLE TITLES ( 4D v11 SQL Release 6)