Product

Times inside objects… (and everywhere else)

Automatically translated from English

Objects are at it again, continuing to demonstrate their utility to ease your life as a developer.

Using time (or duration) values inside of objects is now smoother and more intuitive. Beginning with 4D v17, times inside objects are set as seconds  – and not milliseconds!

Tips

How to create a generic form with dynamic forms

Automatically translated from English

Imagine that your database contains several tables of types or categories. These tables are very simple, often with only an identifier and a text field. For demonstration purposes, let’s say it’s a shoe management database. To qualify the products, we need to define their type, color, pattern, material, season and so on.

It’s cumbersome to manage each of these tables in a list form and an input form and associated methods. In this case, the use of a generic form is essential to avoid duplication and simplify maintenance.

And that’s where dynamic forms and JSON pointers are come in handy!

Product

Get machine hardware information

Automatically translated from English

4D v17 goes a step further to let you create a customized server administration dialog. Following the ability to retrieve information about users & processes, getting all runtime information about 4D Web server, as well as details about the active license, you now have the ability to also retrieve all of the hardware and system details for the machine running your 4D server.

Do you need to know what OS is being used, what processor(s), how much RAM is available, etc.? Just call the new Get system info command, locally or remotely! And that’s not all, this command can be extremely useful for quickly diagnosing and solving any problems that may arise.

Product

Loops, loops and … more loops!

Automatically translated from English

Like many other programming languages, 4D provides the ability to iterate over numbers with a For(…) / End for statement, or over a condition thanks to the While(…)/End while and Repeat/Until(…) keywords. These iterations (or loops) are very useful, but not the most appropriate way to iterate over advanced data types such as collections and entity selections. That’s why the new For each(…)/End for each iterator has been created, to help ease your coding!

Tips

Find a specific attribute value in a single line of code!

Automatically translated from English

Remember the days when you had to use nested loops and conditional statements to retrieve an object’s attribute? So you ended up with a long and complicated piece of code? Well, those days are over! Thanks to object notation combined with collections and their methods, you’re now able to write code faster, and in a more readable way!

Finding a specific attribute’s value has never been easier. Let’s take a look at a real life scenario and discover how!

Product New constants for the command Get 4D files

Easy access to log files

Automatically translated from English

Log files can be extremely useful for troubleshooting. They’re also a big help for finding the root cause of an incident. Logs let us track of where a problem occurred, and when. Before, with the Get 4D folder command, you could easily access the folder containing all the logs. Now, 4D v16 R6 makes easy to find a particular log file, thanks to the enhancement of the Get 4D file command.

Product

Using path elements in objects

Automatically translated from English

4D is making your developer’s life easier with two new commands to effortlessly manage file or folder paths. Save valuable time with the Path to object command which, in a single line of code, extracts the extension, the file name or the parent folder. Then you can modify and recombine the different object attributes to compose a new path with Object to path.