Current form table
Current form table : Pointer
Parámetro | Tipo | Descripción | |
---|---|---|---|
Resultado | Pointer | ← | Puntero hacia la tabla del formulario de salida actual |
Este comando no es hilo seguro, no puede ser utilizado en código apropiativo.
Descripción
El comando Current form table devuelve el puntero hacia la tabla del formulario en pantalla o impreso en el proceso actual.
La función devuelve Nil en los siguientes casos:
- No hay formulario mostrado o impreso en el proceso actual,
- El formulario actual es un formulario de proyecto.
Si hay varias ventanas abiertas en el proceso actual (significa que la última ventana abierta es la ventana activa actual), el comando devuelve un puntero hacia la tabla del formulario que aparece en la ventana activa.
Si el formulario mostrado actualmente es el formulario detallado de un área de subformulario, usted se encuentra en entrada de datos e hizo doble clic en un registro o subregistro en un área de subformulario de doble clic. En este caso, el comando devuelve:
- El puntero hacia la tabla mostrada en el área del subformulario, si el subformulario muestra una tabla.
- Un puntero no significativo, si el área de subformulario muestra una subtabla.
Ejemplo
En su aplicación, utiliza la siguiente convención cuando visualiza un registro:
Si la variable vsCurrentRecord está presente en un formulario, muestra “Nuevo registro” si está trabajando con un nuevo registro. Si está trabajando con el registro 56 de una selección compuesta por 5200 registros, muestra “56 de 5200”.
Para esto, utilice el método de objeto para crear la variable vsCurrentRecord, luego cópielo y péguelo en todos sus formularios:
// Método de objeto de la variable no editable vsCurrentRecord
Case of
:(Form event code=On Load)
C_STRING(31;vsCurrentRecord)
var $vpParentTable : Pointer
var $vlRecordNum : Integer
$vpParentTable:=Current form table
$vlRecordNum:=Record number($vpParentTable->)
Case of
:($vlRecordNum=-3)
vsCurrentRecord:="New Record"
:($vlRecordNum=-1)
vsCurrentRecord:="No Record"
:($vlRecordNum>=0)
vsCurrentRecord:=String(Selected record number($vpParentTable->))+" of "+
String(Records in selection($vpParentTable->))
End case
End case