Product

Flash news about 4D Write Pro and anchored images

Automatically translated from English

Flash news: 4D Write Pro anchored images now support 4D Expressions!

Since 4D v16 R6, it’s been possible to add anchored images to 4D Write Pro documents. Once inserted, these images were static, either defined with a picture variable (or field), or by a picture path. Today, you have more flexibility: a valid 4D expression can also be associated to an anchored picture!

Tips

Change the properties of several methods at once by code

Automatically translated from English

We know that sometimes you want to change the properties of multiple methods without having to open the property dialog for each method.

For example, you want to set all methods to “Can be run in preemptive mode” status, then compile your database. So with compilation errors, you get an overview of the methods to modify to be preemptive.

Using the METHOD GET NAMES command to retrieve the list of methods from your database, and then using the METHOD SET ATTRIBUTES command to modify the attributes, lets you modify them all at the same time!

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!