Skip to main content
Version: Next

FORM GET ENTRY ORDER

FORM GET ENTRY ORDER ( objectNames {; pageNumber | *} )

ParameterTypeDescription
objectNamesText arrayObject names sorted by entry order
pageNumber | *Longint, OperatorNumber of the page for which to get the defined entry order (current page if omitted), or* to get the actual entry order of the current page

This command is not thread-safe, it cannot be used in preemptive code.

Description

The FORM GET ENTRY ORDER command returns in objectNames the sorted names of objects that define the form entry order.

  • If you do not pass the * parameter, FORM GET ENTRY ORDER returns the entry order as it was previously declared with the FORM SET ENTRY ORDER command. You can omit or pass the pageNumber parameter:
    • if you omit the pageNumber parameter, the objectNames array returns the entry order for the current page,
    • if you pass the pageNumber parameter, the objectNames array returns the entry order for the pageNumber page.
      In both cases, if the FORM SET ENTRY ORDER command was not previously called for the current form, the objectNames array is returned empty.
  • If you pass the * as parameter, FORM GET ENTRY ORDER returns the actual entry order of the current page, i.e. the objectNames array only contains valid object names (for more information on valid objects, please refer to the FORM SET ENTRY ORDER command description). The actual form entry order can be:
    • the default form entry order, based upon object layering,
    • or the form editor's entry order (see Modifying data entry order), if it has been used,
    • or the entry order set by a call to the FORM SET ENTRY ORDER command in the current process, if it has been used.
      The actual entry order always includes objects from page 0 and from inherited form(s).

Note: The entry order within a subform is not returned when this command is applied to the parent form.

Example

You want to exclude some objects from the current entry order:

 ARRAY TEXT($arrTabOrderObject;0)
 var $vElem : Integer
 
 FORM GET ENTRY ORDER($arrTabOrderObject;*) //get the actual entry order
 Repeat
    $vElem:=Find in array($arrTabOrderObject;"vTax@")
    If($vElem>0) //exclude objects whose name starts with "vTax" from data entry order
       DELETE FROM ARRAY($arrTabOrderObject;$vElem)
    End if
 Until($vElem<0)
 FORM SET ENTRY ORDER($arrTabOrderObject) //apply the new entry order

See also

FORM SET ENTRY ORDER