Since 4D v16 R4, it’s been possible to create tables by programming in your 4D Write Pro documents. Styling the whole table or just certain cells could be done during the creation of the document, but maybe you also want to manage your tables afterwards. Now, it’s easy to manipulate tables in an existing document, to change the border style or color, to change the font size or make it bold, etc.
4D Write Pro programming is highly based on “ranges“. After paragraph ranges and picture ranges, 4D v17 introduces a new type of range: table ranges, returned by a new command: WP Create table range. Styling tables is now simple with this new command and new type of range!
4D Write Pro keeps offering more and more programming capabilities! Let’s say you want to programmatically change the style of a table, paragraph, or image in an existing 4D Write Pro document. With 4D v17, it’s possible! Now you can access any element or part of a document, by programming. These parts, called elements, will be returned either as a collection thanks to the WP Get elements function, or as a single element with WP Get element by ID function.
The ORDA series continues! In this blog post, we’ll look at how you can use locks in your databases with ORDA concepts! It’s not uncommon to need to manage conflicts that might occur when several users or processes load and/or attempt to modify the same records at the same time. Record locking is a methodology used in relational databases to avoid inconsistent updates to data.
Taking effect on May 25, the General Data Protection Regulation (GDPR) imposes new privacy restrictions governing the collection and use of personal data of European Union (EU) citizens.
And as a first step to help you get more insight into the GDPR law, we’re pleased to announce the first part of a GDPR dedicated guide: General Data Protection Regulation and 4D.
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!
4D v17 includes dynamic forms, initially introduced in 4D v16 R6, a powerful and flexible way to dynamically build forms fully adapted to your end users’ needs. The possibilities of dynamic forms are tremendous. In this post, we’ll see a concrete example of what you can do with these new forms.
4D Summit 2018 which took place in Paris and Washington DC recently, was filled with huge product announcements and a plethora of exciting sessions. It was a great experience for everyone who was able to attend! More than 450 attendees were on site to witness a lot of incredible revelations.
In this blog post, we’ll recap the highlights from this year’s 4D Summit.
In this latest addition to the ORDA series, we’ll look at how the new ORDA concepts can interact with existing objects and collections. In fact, it’s possible to turn entities and entity selections into objects and collections, as well as build entities and entity selections from objects and collections. By doing so, you can easily integrate ORDA code within your existing code. You can take full advantage of ORDA without needing to rewrite your code!
ORDA is a major innovation of 4D v17, this is why we’re dedicating an entire series of blog posts to ORDA. While ORDA has its own concepts that are very different from the classic approach, it’s still possible to mix ORDA with your existing code.
In a nutshell, this blog post will show you how you can update the current selection of a table from an entity selection and get an entity selection from the current selection of a table. It’ll allow you to smoothly integrate ORDA concepts into your existing 4D code, step by step.
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!
* Your privacy is very important to us. Please click here to view our Policy