4Dv6 New Features
Summary
We have some very stream-of-consciousness notes from the 4Dv6 New
Features class:
- All variables, files, and fields may be 31 characters in
length.
- There is a full suite of bit-wise operators, and the language
now can support hexadecimal notation.
- The language supports symbolic constants for all former
numeric constants in the language, denoted in the methof editor by
an underline.
- There is full, cross-platform clipboard operator suite,
including apend.
- Proc.: SET DEFAULT CENTURY, including pivotal year.
- Func: Add to date
- Func.: Tickcount
- Func.: Milliseconds
- Drag-and-drop suite of commands
- FILTER KEYSROKE works real-time, and in the script of
an object instead of an event process. This can be used to
implement a clairvoyance feature. There was a nice demo of this
operating for real!
- New layout events: On Before, On Activate, On
outside call, on getting focus, on data change,
on click, on keystroke, on after, on deactivation, on menu
selected, on losing focus, on external area, on double-click --
these are all new features of the execution cycle. On getting
focus will allow the developer to know when a field is entered.
These can all be enabled or disabled in the form properties dialog
so that unused parts of the execution cycle will not execute.
There was a rather impressive demo with an input and output layout
playing a digitized voice announcing each of the execution cycle
parts when Walt went through a normal MODIFY RECORD cycle.
- There is a full suite of commands to support hierarchical
lists -- like Finder-style view by name, with triangles to expand
and collapse the elements. These lists are implemented as arrays.
As well, they support drag-and-drop.
- Func.: Command name, which returns the command token
for a command based on a constant. This completely solves the
problem of hard-coding English 4D commands in EXECUTE statements
and having thembreak when run under another localized version of
4D.
- RESOLVE POINTER is a new command that resolves a
pointer by name.
- Func.: Square root
- A full suite of menu manipulation commands to customize the
menu bars, including hiding the menu bar all together. Very
similar to Menu Pack. No support for hierarchical menus in the
language yet, though.
- ALERT, Confirm, Request, all allow
control of the button text by parameter. These dialogs resize
based on the length of the message.
- All layout objects have these commands: SET COLOR,
SET VISIBLE. Constants are provided to do away with the
Byzantine color calculations.
- Layout objects have names independent of their corresponding
variable. All layout objects will have a name even if they don't
have a variable, so that they can be manipulated programmatically.
- PICTURE PROPERIES -- gives you width, height, display
mode.
- GET PROCESS VARIABLE, SET PROCESS VARIABLE --
these work across processes. From one process, you can change the
value of a variable in another process. This also works across
clients via the server.
- Find process, Execute on server, New
process with parameters, PROCESS PROPERTIES, Process
state
- SET QUERY DESTINATION, SET QUERY LIMIT. Queries
may be destined for the current selection, toward a set, toward a
named selection, toward a variable -- without affecting the
current selecion.
Back to the DEVCON Update Page...