Tips

New Tips & Tricks for your 4D Applications

Automatically translated from English

by Add Komoncharoensiri, Director of Technical Services at 4D Inc

 

As you know, 4D Knowledge Base is a library of information about the 4D technology where weekly tech tips and monthly technotes are actively published. If you missed the last tips on the KB, that’s fine; here is a compilation from the past few weeks.

This blog post covers 12 tips:

Product

A Seamless Way to Manage Parameters

Automatically translated from English

In the declaration of a function or method, you explicitly define its parameters. Then, when calling that function or method, you can pass fewer parameters to it if some are optional. Or, if you used the declaration with ${n}, the number of passed parameters is variable. In this case, you use the Count Parameters command with a loop over the arguments. This code works flawlessly. Still, it’s a little bit heavy.

You asked us for a lighter way to handle parameters, and we listened. Starting with 4D v19 R5, we provide you with a new command, Copy parameters, allowing you to write a seamless, more elegant, and easier-to-read code. 

Product

Quickly jump to different functions of a class

Automatically translated from English

Classes were introduced with 4D v18 R3. They allow you to organize your business logic and separate it from the UI part more quickly.

Classes are composed of several functions of varying lengths, so it’s not always easy to find the function you want to modify, or to move from one function to another. You can use the explorer, which displays classes and functions, but when you’re coding in the editor window, you don’t want to waste time changing windows.

With 4D v19 R4, the list of functions in your class is displayed in the code editor toolbar, allowing you to easily jump to a specific function. 

Product

Need a magic wand? Here are computed class properties!

Automatically translated from English
The apparition of classes in the 4D development environment has made programming more modern and easier to scale. Classes allow the definition of properties, functions and also support inheritance.
In your application, you probably have a class to manage scientific or financial data. Let’s take the example of financial data. Say you have created functions to calculate taxes. If you also manage several countries, you may have used inheritance to manage the different rules. Then, you display these results in a list box, but if the user changes one of the attributes used in the formula, you have to manage this event to update the result.
With 4D v19 R3, 4D allows you to simplify this process thanks to computed properties: You can define a get and set function for your computed property, and when you add your property to a list box, everything is handled automatically by 4D. No more business logic in your UI.

Product

Create a BLOB attribute in an object

Automatically translated from English

With the introduction of classes in the 4D environment, the need to store your data in objects, and especially blobs, has increased. That’s why 4D v19 R2 lets you encapsulate blobs in objects.

Beyond the storage aspect, since the blob object is a reference type, your performance in terms of memory occupation and speed will be greatly improved.

Product

Coder-friendly syntax for class functions and methods

Automatically translated from English

Using $1, $2, and $n variables in your code not only makes the code less readable, it can also increase confusion since the human brain can find it difficult to remember what these variables correspond to. The solution is to create a variable with an understandable name and assign it the value of $1, $2, or $n.

4D v18 R5 has good news, you can now name your parameters when declaring:

  • a project method,
  • a trigger
  • a database method
  • a form method
  • a constructor of a class
  • a function of a class.

 

Let’s see how!

Guest Post

How to create a simple “TimeStamp” class in 4D

Automatically translated from English

by guest author Tiran Behrouz, 4D developer (Vancouver, Canada) 

The introduction of ORDA in 4D v17 was a game-changer. Now with the introduction of classes in 4D v18 R3, we will witness a paradigm shift in 4D programming. We can now take advantage of object-oriented programming concepts such as polymorphism, composition, and inheritance to write our own class libraries. In this video, I demonstrate how to code a simple TimeStamp class using 4D and ORDA.