getformoption(
getformoption(
DATABASE
,
FORM
,
OPTION
)

The getformoption( function returns information about a form.

Parameters

This function has three parameters:

database – The database that contains the form you want information about, or `""` for the current procedure.

form – The name of the form you want to get information about, or `""` for the currently open form (if a form window is active).

option – The type of information you want to retrieve. See below for descriptions of each option. This parameter is optional, if left off the `ALL` option will be used.

Description

This function retrieves information about any form in any open database.

#### ALL

This option returns a dictionary that contains all of the option values associated with this form. You can extract individual options with the getdictionaryvalue( function. (You can also get this dictionary by simply omitting the option parameter.) This example displays all of the available information about a form.

    local finfo
    finfo = getformoption("","SomeForm")
    message dumpdictionary(finfo)

#### POSITION and SIZE

The “windowleftedge”, “windowtopedge”, “windowwidth” and “windowheight” options return the saved dimensions of the form window (whether it is currently open or not). The “windowrectangle” option returns a rectangle with all four coordinates.

#### INITIALDIMENSIONS

This property returns the initial dimensions of the form when it is opened with the View Menu or simply by opening the database. The format of this option is either top,left,height,width or height,width (all dimensions are specified in points). See setformoptions and Newly Opened Database Window Arrangement to learn more. (If this property is empty, the form will open in whatever position it was in the last time it was closed.)

#### MINIMUM/MAXIMUM SIZE

The “minimumwidth”, “minimumheight”, “maximumwidth” and “maximumheight” options return the min max sizes that have been specified in the Form Properties panel, if any (if no value has been specified, these values will be zero).

#### EXCLUDEFROMVIEWMENU

If this option is false, the form is displayed in the View menu. If this option is true, the form will be excluded from the View menu.

#### WINDOWOPTIONS

This option returns a space delimited list of disabled options. The possible options are NoToolBar, NoHorzScroll and NoVertScroll. If toolbars and scroll bars are all enabled, this option will return empty text (`""`).

#### BACKGROUNDCOLOR

This option returns the background color of the form (see Colors). The background color is usually white but can be set in the form Property Inspector, and can also be set with the formcolor and setformoptions statements.

#### TABORDER

This option returns the tab order of the specified form. The possible tab orders are:Natural, Data Sheet Order, and Back to Front.

#### VIEWMODE

This option returns the view mode of the specified form. The possible modes are: Individual Pages and View-as-List.

#### VARIABLETYPE

This option returns the default variable type created by objects in the specified form. The possible modes are: FileGlobal (the default), WindowGlobal, and Global.

#### USESERVERFORLOOKUP

This option returns true if lookups done by objects in the specified form query the server (for shared databases only).

#### EVENTCODE

This option returns the source code that has been set up (if any) for processing events related to the form (for example when the form opens, or is brought to the font). This code can use the info(“formevent”) function to determine what event just occured. (Note: The code can only handle events that occur while the form is in in data mode, not graphics mode. This code replaces the `.OpenForm` and `.ActivateForm` procedures in Panorama 6 and earlier.)

#### EVENTCODESYNTAXERROR

This option returns the syntax error message associated with the form’s event code (see above). Normally this option will return `""`, but if the source code contains a syntax error this option will return a non-blank value.

#### LASTTIMEWINDOWINFRONT

This option returns a superdate value (combined date and time) that indicates the last time this form was the active window.

#### TAG

This option returns the tag you have assigned to this form (if any). You can use the tag value for whatever you want, Panorama stores the tag for you but does not use or interpret it in any way.

#### NOTES

This option returns the notes you have assigned to this form (if any). You can use the notes for whatever you want, Panorama stores the notes for you but does not use or interpret them in any way.

#### OBJECTCOUNT

This option returns the number of objects in the specified form.

### Window Options

The following options return information about the window associated with the specified form (if there is an open window).

#### WINDOWNAME

If the window for this form is open, this option returns the name of the window (if not open, returns empty text).

#### WINDOWNUMBER

If the window for this form is open, this option returns the ID number of the window (if not open, returns zero). See Window ID Numbers to learn more about using this option.

#### CLONEWINDOWNAMES

If one or more clones of this form have been opened (see OpenForm), this function will return the names of the windows containing the clones. The names are returned as a carriage return separated text array.

#### CLONEWINDOWNUMBERS

If one or more clones of this form have been opened (see OpenForm), this function will return the ID numbers of the windows containing the clones. The numbers are converted to text and then returned as a carriage return separated text array.

See Also

- activeobjectaction -- allows a procedure to communicate with the object on the current form that is currently being edited (if any).
- automaticprocedurename( -- returns an available procedure name.
- changeobject -- modifies the properties of one object in a form.
- changeobjects -- modifies the properties of one or more objects in a form.
- changetimer -- modifies a repeating task that will be performed periodically when Panorama is not otherwise busy.
- cloneform -- copies all of the objects in a form (optionally, with modifications) into the active form.
- cloneobjects -- duplicates objects in a form (with modifications).
- closeactiveobject -- closes any object whose text is currently being edited.
- closedatabaseactiveobjects -- stops all text editing associated with the current database.
- controlsound -- controls playback of a sound file.
- dbinfo( -- gets information about a database: what forms it contains, what fields, what flash art pictures, etc.
- downloadpartialdatabase -- downloads specified components of the current database from the server. The current database must be shared.
- exportallprocedures -- saves all the procedures in an editable text format.
- exportprocedure( -- exports a procedure and the procedure's meta data as a binary object that can be imported with the importprocedure statement.
- fileglobalvalue( -- accesses a fileglobal or permanent variable from other databases.
- formxy -- programmatically scrolls a form to a new position.
- getfieldproperties( -- returns a dictionary containing all of the properties of the specified field. (See the setfieldproperties statement if you want to change one or more field properties.)
- getmaxwindow -- retrieves the position and size of the largest possible window on the main screen.
- getprocedureoption( -- returns information about a procedure.
- getproceduretext -- gets the contents (source) of a procedure and places it in a variable.
- getproceduretext( -- gets the contents (source code) of a procedure.
- getwindow -- retrieves the position and size of the current window.
- globalvalue( -- returns the value of a global variable.
- Implicitly Triggered Procedures -- Procedures that are triggered automatically when the user performs some normal Panorama action are said to be "implicitly triggered."
- importdatabase -- imports data from another database into the current database.
- importdictprocedures -- converts source code exported by the ExportAllProcedures statement into a dictionary.
- importjson -- imports a JSON array into the current database.
- importjsonline -- imports a JSON record into the current record.
- importline -- imports a line of text into the current record.
- importprocedure -- imports a procedure into a database.
- importrawdata -- imports raw binary data into an existing database.
- importtext -- imports text into an existing database.
- info( -- returns miscellaneous bits of information about the system, the current database, the current window, etc.
- info("accessorypanelwidth") -- returns the current width of the current window's accessory panel, if any.
- info("activeobjectid") -- returns the object ID of the currently active text editor or text list object, if any.
- info("activesuperobject") -- returns the name of the currently active text editor or word processor object, if any.
- info("angleunits") -- returns the current angular measurement units.
- info("applicationsfolder") -- returns the path to the current user's Applications folder.
- info("applicationsupportfolder") -- returns the path to the current user's Application Support folder (inside the Library folder).
- info("arraybuildstatus") -- returns the status of the most recently executed superarraybuild statement.
- info("availablescreenrectangle") -- returns a rectangle defining the edges of the main screen, after deducting for the space of the menu bar and dock (if visible).
- info("bof") -- returns true if the active record is currently on the first visible (selected) record.
- info("buttonrectangle") -- returns a rectangle defining the edges of the most recently clicked button.
- info("cachefolder") -- returns the path to the current user's Cache folder (in the Library folder).
- info("canmodifydatabasedesign") -- returns true if the user has permission to modify the database design.
- info("canusestandardui") -- returns true if the user has permission to use standard Panorama UI when using this database.
- info("click") -- returns the location of the last mouse click in screen relative coordinates.
- info("clickedobjectid") -- returns the object ID of the clicked object.
- info("clickedobjectname") -- returns the name of the button that was just clicked.
- info("clickedwindownumber") -- returns the window number of that was just clicked.
- info("clonewindow") -- returns true if the current window was opened as a "clone" window.
- info("collapsible") -- checks to see if the current record is collapsible.
- info("countrycode") -- returns the country code for the current location.
- info("csvseparator") -- returns the current CSV field separator character (comma or semicolon).
- info("currencycode") -- returns the currency code for the current location.
- info("currencysymbol") -- returns the currency symbol for the current location.
- info("customfunctions") -- returns a list of all available custom functions.
- info("customstatements") -- returns a list of all available custom statements.
- info("databasefilename") -- returns the name of the current database.
- info("databasename") -- returns the name of the current database excluding any filename extension (if any).
- info("datasheetwindownumbers") -- returns the unique ID numbers of all open data sheet windows.
- info("datatype") -- returns the data type of the current field.
- info("decimalseparator") -- returns the current decimal separator character (period or comma).
- info("defaultdatepattern") -- returns the default date pattern used for displaying dates.
- info("defaultmaxdatasheetcolumns") -- default maximum number of allowed data sheet columns.
- info("defaultvoice") -- returns the current default system voice.
- info("desktopfolder") -- returns the path to the user's desktop folder.
- info("dialogsheet") -- returns true if the currently active window is a dialog sheet.
- info("dialogtrigger") -- returns the name of the last button pressed in a standard alert or dialog.
- info("disablebackgroundsearch") -- returns true if all background searches have been disabled.
- info("disabledfields") -- returns a list of disabled fields in the current database (fields that cannot be edited).
- info("documentsfolder") -- returns the path to the current user's Documents folder.
- info("downloadsfolder") -- returns the path to the current user's Downloads folder.
- info("dropdatabase") -- returns the name of the database that contains the form data was dropped on.
- info("dropfiles") -- returns a list of files dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("dropform") -- returns the name of the form data was dropped on.
- info("dropobject") -- returns the name of the object that data was dropped on.
- info("droptext") -- returns text dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("droptypes") -- returns a list of all the data types dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("dropvcard") -- returns the text of any VCards dragged onto a *Drag Receiver* form object (see Drag and Drop).
- info("dropwindow") -- returns the name of the window that contains the form data was dropped on.
- info("dropwindownumber") -- returns the number of the window that contains the form data was dropped on.
- info("empty") -- returns true or false depending on the result of the last select operation. If no records were selected the function will return true, otherwise it will return false.
- info("enabledfields") -- returns a list of enabled fields in the current database (fields that can be edited).
- info("eof") -- returns true if the active record is currently the last visible (selected) record.
- info("error") -- returns the most recent error message.
- info("errorparameter") -- returns the parameter that caused a runtime error.
- info("errorstack") -- returns the contents of the procedure stack after an error.
- info("errorstatement") -- returns the name of the statement that Panorama was trying to run at the time an error occurred.
- info("eventtype") -- returns the type of the last event (mouse click, keyboard press, etc.).
- info("executeerrorsource") -- can be used in Error Handling code when an error occurs in code running via the execute statement or its siblings.
- info("expandable") -- checks to see if the current record is expandable.
- info("expressionstacksize") -- returns the fake size of expression stack.
- info("fieldcount") -- returns the number of fields in the current database.
- info("fieldname") -- returns the name of the current field.
- info("fieldnumber") -- returns the number of the current field (starting from 1).
- info("fields") -- returns a carriage return delimited list of fields in the current database.
- info("files") -- returns a list of all open database files.
- info("filesystemmonitors") -- lists the active file system monitors.
- info("filevariables") -- builds a carriage return separated text array containing a list of the currently allocated fileglobal variables in the current database.
- info("focusobject") -- returns the name of the currently active text editor or word processor object, if any.
- info("focusobjectid") -- returns the object ID of the currently active text editor or text list object, if any.
- info("foldersepchar") -- returns the separator character used between folders.
- info("fonts") -- returns a list of all fonts installed on this computer.
- info("formevent") -- returns the last event that occurred to the current form.
- info("formname") -- returns the name of the current form.
- info("formwindownumbers") -- returns the unique ID numbers of all open form windows.
- info("found") -- returns true or false depending on whether the last *find* or *next* statement was successful.
- info("globalvariables") -- builds a carriage return separated text array containing a list of the currently allocated global variables.
- info("guid") -- returns a unique identifier string.
- info("hiddenfields") -- returns a carriage return delimited list of fields that are currently hidden in the current data sheet.
- info("horizontalscrollbar") -- returns true if the current window's horizontal scrollbar is enabled, false if it is disabled.
- info("javascriptvalue") -- returns the value passed from JavaScript code in a web browser object.
- info("keyboard") -- returns the last key that was pressed.
- info("keycode") -- returns a special numeric code that represents the last key that was pressed.
- info("labels") -- lists the labels in the current procedure.
- info("languagecode") -- returns the language code for the current location.
- info("libraryfolder") -- returns the path to the current user's Library folder.
- info("localvariables") -- builds a carriage return separated text array containing a list of the currently allocated local variables.
- info("loggedinaccountemail") -- returns the currently logged in account ID (email address).
- info("loggedinaccountrole") -- returns the currently logged in account role.
- info("magnification") -- returns the current magnification of the current form.
- info("matrixcell") -- returns the current cell number within a matrix object.
- info("matrixcelldata") -- returns the data associated with the current matrix object cell.
- info("matrixcellrecordid") -- returns the record id of the cell in a matrix that was clicked on.
- info("matrixcellselected") -- returns the selection status of the current matrix object cell.
- info("matrixclickedframeform") -- returns the form that contains the matrix frame, or `""` if the current form contains the frame.
- info("matrixclickedobjectid") -- returns the object id of the object in a matrix that was clicked on (or zero if none).
- info("matrixcolumn") -- returns the current column number within a matrix object.
- info("matrixdata") -- returns the data associated with the current matrix object.
- info("matrixname") -- returns the name of the matrix object being drawn, if any.
- info("matrixrow") -- returns the current row number within a matrix object.
- info("matrixseparator") -- function returns the separator associated with the current matrix.
- info("measurementsystem") -- returns the measurement system for the current location.
- info("menuidentifier") -- returns the identifier of the most recently chosen menu item (if any).
- info("milliseconds") -- returns the number of milliseconds (1/1000th second) since the system started up.
- info("modaldialogopen") -- returns true if a modal dialog window is currently open.
- info("modifiedfield") -- returns the name of the field that was just modified.
- info("mousedown") -- returns true or false depending on whether the mouse is currently down.
- info("moviesfolder") -- returns the path to the current user's Movies folder.
- info("musicfolder") -- returns the path to the current user's Music folder.
- info("noshow") -- returns true if noshow is currently turned on, false if it is not.
- info("notification") -- returns information about the just clicked notification.
- info("osversion") -- returns the operating system version and build number.
- info("pagecount") -- calculates the total number of pages that will be printed.
- info("pagenumber") -- returns the current report page number.
- info("pagesetuporientation") -- returns the printing page orientation for the current database.
- info("pagesetuppaperheight") -- returns the printing paper height for the current database.
- info("pagesetuppaperwidth") -- returns the printing paper width for the current database.
- info("pagesetupscale") -- returns the printing scale factor for the current database.
- info("panoramafolder") -- returns the location of the folder containing the currently running copy of Panorama.
- info("panoramaname") -- returns the name of the currently running copy of Panorama.
- info("panoramauptime") -- returns the number of seconds since Panorama launched.
- info("parameters") -- returns the number of parameters passed to a subroutine.
- info("picturesfolder") -- returns the path to the current user's Pictures folder.
- info("posixtasks") -- list of POSIX shell tasks running in the background.
- info("preferences") -- returns a list of all currently active preference settings.
- info("printsequence") -- returns the record sequence number of the record being printed.
- info("proceduredatabase") -- returns the name of the database that contains the currently running procedure.
- info("procedurename") -- returns the name of the currently running procedure.
- info("procedurestack") -- returns the contents of Panorama's procedure call stack.
- info("procedurewindownumbers") -- returns the unique ID numbers of all open procedure windows.
- info("publicfolder") -- returns the path to the current user's Public folder.
- info("quitinprogress") -- returns true if Panorama is in the process of quitting.
- info("ram") -- returns the amount of physical RAM in this computer.
- info("rawdatabasedata") -- returns the binary data of the current database.
- info("records") -- returns the total number of records in the current database.
- info("runningatomic") -- returns true if the current procedure is running as an "atomic" procedure.
- info("runninghandler") -- returns true if the current procedure is running as a "handler" procedure.
- info("screenrectangle") -- returns a rectangle defining the edges of the main screen.
- info("searchformula") -- returns the most recent search formula used in a *find* statement, if any.
- info("selected") -- returns the number of selected records in the current database.
- info("serverconnection") -- returns true if the currently active database successfully connected to the server when it opened.
- info("serverconnectionstatus") -- returns the status of the connection between this database and the server.
- info("serverrecordid") -- returns the unique ID number for the current record.
- info("serverrecordts") -- returns the internal time stamp associated with the current record.
- info("serverupdate") -- returns true if the server update option is currently turned on (this is the default).
- info("showlater") -- determines whether or not Panorama is currently deferring display.
- info("speaking") -- returns true if talking is occuring right now.
- info("speechrate") -- returns the current Panorama speech rate (words per minute).
- info("speechvoice") -- returns the current default system voice.
- info("speechvolume") -- returns the current Panorama speech volume.
- info("stopped") -- returns true or false depending on the whether the last uprecord, downrecord, left or right statement succeeded or failed.
- info("summary") -- returns the summary level of the current record, from 0 (data record) to 7.
- info("taperecorder") -- returns information about the current procedure recording (if any).
- info("tempfolder") -- returns the path to the current user's temporary folder (for files you plan to use only for a short time).
- info("texteditortrigger") -- returns the reason why a Text Editor object triggered a procedure.
- info("thousandsseparator") -- returns the current thousands separator character (period or comma).
- info("tickcount") -- returns the number of ticks (1/60th second) since the system started up.
- info("timelimitremaining") -- returns the amount of time available (in seconds) before a loop will time out.
- info("toolbar") -- returns true if the current window's toolbar is visible, false if it is hidden.
- info("toolbarvisible") -- returns true if the current window has a visible tool bar.
- info("trigger") -- returns information about how the current procedure was triggered.
- info("typeofwindow") -- determines what type of view the current window contains.
- info("unixusername") -- returns the short user name of the logged in user.
- info("unsharedrecordid") -- returns the minimum ID for unshared records.
- info("uptime") -- returns the number of seconds since the computer was last booted.
- info("user") -- returns the name of the user of this computer.
- info("userfolder") -- returns the path to the current user's home folder.
- info("verticalscrollbar") -- returns true if the current window's vertical scrollbar is enabled, false if it is disabled.
- info("visible") -- returns true if the current record is visible and false if it is invisible.
- info("visiblefields") -- returns a carriage return delimited list of fields that are currently visible in the current data sheet.
- info("voices") -- returns a list of available speech synthesis voices on this system.
- info("volumes") -- returns a list of all of the currently mounted volumes (disks) on the computer.
- info("webbrowserlinklabel") -- returns the url of the link right clicked in a Web Browser object.
- info("webbrowserlinkurl") -- returns the url of the link right clicked in a Web Browser object.
- info("windowdepth") -- returns the color depth of the current window.
- info("windowname") -- returns the name of the current window.
- info("windownumber") -- returns the unique ID number of the current window.
- info("windownumbers") -- returns the unique ID numbers of all open windows.
- info("windowoptions") -- returns the names of any currently enabled window options,
- info("windowrectangle") -- returns a rectangle defining the edges of the current window. The rectangle is in screen relative coordinates.
- info("windows") -- builds a carriage return separated text array containing a list of all the currently open windows.
- info("windowtype") -- returns a numeric value based on what type of view the current window contains.
- info("windowvariables") -- returns a carriage return separated text array listing the windowglobal variables defined for the current window.
- info("windowview") -- determines what type of view the current window contains.
- join -- joins data from another database into the current database.
- joinonerecord -- joins matching data from another database into the current record.
- loadallprocedures -- loads all the procedures from a dictionary into the current database. If a procedure doesn't exist it will be created.
- localvalue( -- returns the value of a local variable.
- makenewform -- creates a new form in the current database.
- makenewprocedure -- creates a new procedure in the current database.
- Mark Menu -- allows you to set bookmarks in source code to help navigate to specific spots in a long program.
- newdatabase -- creates a new database.
- newformobject -- creates a new graphic object in a form.
- objectaction -- allows a procedure to communicate with an object on the current form.
- parameter( -- is used to transfer data between a main procedure and a subroutine.
- partialdatabaseupdate -- updates one or more components of an existing database.
- playsound -- starts playing a sound file.
- posixtask -- executes a POSIX shell script in the background using NSTask.
- printonemultiple -- prints a form over and over again without advancing from record to record. Instead of advancing from record to record, a variable is incremented each time the form is printed. This statement is designed for printing calendars or thumbnails.
- printtopdf -- prints the current database to a PDF file.
- printusingform -- allows the current database to be printed using a different form than the one currently being displayed.
- procedureexists( -- checks to see whether a procedure exists or not.
- procedureinsertfieldname -- inserts a field name into a procedure, adding chevrons if necessary.
- procedureinsertformname -- inserts a form name into a procedure, adding quotes.
- procedureinsertprocedurename -- inserts a procedure name into a procedure, adding quotes if necessary.
- proceduresearch -- searches for text in a procedure.
- proceduresearchexact -- searches for text in a procedure.
- proceduresearchnext -- searches for text in a procedure, starting from the current location.
- proceduresearchnextexact -- searches for text in a procedure, starting from the current location.
- Program Menu -- assists with running and debugging code, and with developing custom dialogs.
- Programming -- basics of programming with Panorama X.
- recompile -- recompiles all procedures in a database.
- saveallprocedures -- saves all the procedures in the specified database into a dictionary.
- saveoneprocedure -- saves a specific procedure in the specified database into a dictionary.
- saveopenprocedures -- saves all the open procedures in the specified database into a dictionary.
- savepartialdatabase -- saves specified components of the current database, leaving other components out.
- scopes( -- returns the current scope of a variable, as well as any hidden scopes.
- scopevalue( -- returns the value of a variable in the specified scope.
- serverupdate -- temporarily disables record locking and server updates when using a shared database.
- setdatabaseoptions -- modifies one or more properties of a database.
- setformoptions -- modifies one or more properties of a form (name, viewing mode, etc.).
- setprocedureoptions -- modifies one or more properties of a procedure (source code, Action menu options, etc.).
- setproceduretext -- changes the text of the currently open procedure.
- setwindow -- specifies the dimensions (size and location) of the next window that is opened (with openform, opensheet, openprocedure etc.).
- Source Menu -- used to assist in editing program code.
- startbonjour -- starts monitoring the local network for available hosts.
- startfilesystemmonitor -- sets up and starts a repeating task that will be performed whenever a file and/or folder is modified.
- starttimer -- sets up and starts a repeating task that will be performed periodically when Panorama is not otherwise busy.
- stopbonjour -- cancels monitoring of the local network for available hosts.
- stopfilesystemmonitor -- stops a repeating task that has been set up to be performed whenever a file and/or folder is modified.
- stopposixtask -- stops a POSIX shell script that is running in the background.
- Text Display Programming -- programming a Text Display Object.
- Text Editor Programming -- programming a Text Editor Object.
- windowbox -- specifies the dimensions (size and location) of the next window that is opened (with openform, opensheet, openprocedure etc.).
- windowglobalvalue( -- accesses a windowglobal variable from other windows.

History

Version | Status | Notes
10.2 | New | New options excludefromviewmenu, windowname, windownumber, clonewindownames and clonewindownumbers.
10.0 | New | This function is new in this version.