Current form table
Current form table* : Pointer
| Parâmetro | Tipo | Descrição | |
|---|---|---|---|
| Resultado | Pointer | ← | Ponteiro a tabela do formulário atualmente exibido | 
Descrição
comando Current form table retorna o ponteiro para a tabela do formulário em tela ou impresso no processo atual.
A função retorna Is nil pointer nos seguintes casos:
- Não há formulário mostrado ou impresso no processo atual,
- O formulário atual é um formulário de projeto. Se houver várias janelas abertas no processo atual (significa que a última janela aberta é a janela ativa atual), o comando retorna um ponteiro até a tabela do formulário que aparece na janela ativa.
Se o formulário mostrado atualmente é o formulário detalhado de uma área de subformulário, você se encontra em entrada de dados e fez um duplo clique em um registro ou subregistro em uma área de subformulário de duplo clique. Neste caso, o comando retorna:
- O ponteiro em direção a tabela mostrada no área do subformulário, se o subformulário mostra uma tabela.
- Um ponteiro não significativo, se a área de subformulário mostrar uma subtabela.
Exemplo
Em su aplicação, utiliza a seguinte convenção quando visualiza um registro:
Se a variável vsCurrentRecord estiver presente em um formulário, mostra “Novo registro” se estiver trabalhando com um novo registro. Se estiver trabalhando com o registro 56 de uma seleção composta por 5200 registros, mostra “56 de 5200”.
Para isso, utilize o método de objeto para criar a variável vstRegistroAtual, depois copie-o e cole-o em todos seus formulários:
  // Método de objeto da variável não editável vstRegistroAtual
 Case of
    :(Form event code=On Load)
       C_STRING(31;vstRegistroAtual)
       var $vpTabelaPai : Pointer
       var $vlNumRegistro : Integer
       $vpTabelaPai:=Current form table
       $vlNumRegistro:=Record number($vpTabelaPai->)
       Case of
          :($vlNumRegistro=-3)
             vstRegistroAtual:="Novo registro"
          :($vlNumRegistro=-1)
             vstRegistroActual:="Ningún registro"
          :($vlNumRegistro>=0)
             vstRegistroAtual:=String(Selected record number($vpTabelaPai->))+" de "+
             vstRegistroAtual:=vstRegistroAtual+String(Records in selection($vpTabelaPai->))
       End case
 End case
Ver também
DIALOG
FORM SET OUTPUT
FORM SET INPUT
PRINT SELECTION
Propriedades
| Número do comando | 627 | 
| Thread-seguro | ✗ |