Author: Roland Lannuzel

Roland Lannuzel

• Product Owner & 4D Expert •

After studying electronics, Roland went into industrial IT as a developer and consultant, building solutions for customers with a variety of databases and technologies. In the late 80’s he fell in love with 4D and has used it in writing business applications that include accounting, billing and email systems.

Eventually joining the company in 1997, Roland’s valuable contributions include designing specifications, testing tools, demos as well as training and speaking to the 4D community at many conferences. He continues to actively shape the future of 4D by defining new features and database development tools.

Product

4D Language – String comparison improvements

Automatically translated from English

The 4D language offers 20+ commands to handle strings. And with 4D v18 R6, 4D introduces a new command: Compare strings. And yet another command has been improved: Position. Both of these commands allow you to use options for more accurate results. Let’s learn more!

Product

List boxes: Manage clicks in edited cells

Automatically translated from English

As a developer, you’re used to handling events inside form objects. The most common is the on clicked form event which can be used in most objects, including list boxes. In this particular object, clicks can be managed either at the list box level itself or within the column methods.

And starting with 4D v18 R6, the on clicked form event is triggered whether a cell is being edited or not, giving you increased control and improving the interface.

Tips

4D Write Pro – Full text indexation

Automatically translated from English

“I want to find all of the documents that talk about tango! I need them quickly! Can I do that?”

Ok, but first breathe!

Keyword searches within 4D Write Pro documents simply require adding a new indexing attribute within each document. This isn’t done by default because this type of search is not often necessary so it wouldn’t make sense to systematically increase the size of the documents. However, when it’s needed, this type of index is very easy to build.

Product

4D Write Pro: Decimal point or comma for number alignment?

Automatically translated from English

Numbers … big, small, very big, very small …  No matter their size, it’s always better if they’re easy to read. In most countries and languages, separator characters are usually used to separate thousands (or tens of thousands) and there is always a character to distinguish the decimal part from the rest of the number. When it’s time to align these numbers correctly in documents, “decimal tabulators” are used (which are based on the decimal separator character of the numbers).

But what if the documents contain numbers from different countries and the numbers aren’t formatted in the right way? Let’s take a closer look at this!

Product

Type ahead made easy

Automatically translated from English

If you’re interested in the user interface, you may have already used the On before keystroke and On after keystroke events. You’ll certainly be happy to know that the handling of these events has been greatly enhanced with 4D v18 R5. In addition, a new command has been created to determine if there is ongoing input when the On before keystroke event is generated. Let’s find out more!

Product

List boxes: Setup movable rows (or not!) by code

Automatically translated from English

List boxes are powerful form objects. They’re easily created and manipulated, and most importantly, they can handle any kind of data. Additionally, they can be fully set up by programming … everything from inserting or deleting rows and columns, to defining or modifying tons of properties using the 4D language. With 4D v18 R4, another important property has been added to the list. Can you guess which one? Hint: read the title again.

Product

4D Write Pro – More control when using formulas

Automatically translated from English

As a 4D Write Pro user, you’ve most likely used expressions (or more recently, formulas) to automatically fill in certain parts of your documents. These formulas can return “raw” text or images. In the case of text, they may contain line breaks. The question is how should these line breaks be handled when they are processed inside 4D Write Pro documents? This blog post provides the answers … keep reading!

Product

4D Write Pro – Direct export to PDF!

Automatically translated from English

What if I told you that with 4D v18 R4 you can export 4D Write Pro documents directly to PDF format (on both macOS and Windows), without needing to install any printer drivers or additional software? Now you can … and that’s not all! You’re also able to set several options for both the form and the content. Keep reading to learn more!

Product

Use 4D Write Pro documents as input forms

Automatically translated from English

Do you want to avoid users accidentally modifying a particular 4D Write Pro document (fully or partially)? Are you interested in keeping some parts of a document untouched (e.g., giving users the ability to fill in fields in a non-disclosure agreement while ensuring that none of the information in the document is altered or changed in any way)? If you’re nodding your head, then keep reading! 4D v18 R3 lets you keep parts of your documents protected, or in other words: “non-editable“.

Product

4D Write Pro: New standard actions for tables, rows, and cells

Automatically translated from English
4D v18 R3 brings new standard actions to 4D Write Pro. They target tables and their elements (i.e., rows and cells). These actions let you to define a table’s border, a cell’s background color, the vertical alignment of the text in a row, as well as the alignment of the table itself in the document … just to name a few. All standard actions are accessible either through simple buttons, dropdown lists, or menus or through a few short lines of code. Want more? The menus are automatically adapted to the user’s language! Plus, tables, buttons, lists, and menus are automatically activated or deactivated depending on the user’s current selection. This saves developers a lot of time!