Tables are a great feature in 4D Write Pro since they open a whole new world of possibilities. Their flexibility allows them to hold as many rows and columns as needed, and the cells can contain paragraphs and pictures.
Things just got even better with 4D v17 R2 thanks to a new feature: table pagination! And you don’t have to manage the pagination yourself, it’ll be fully automatic. No more counting rows to check a page’s size or orientation. From now on, the tables are dynamically split when a page or a column break occurs.
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!
4D Write Pro packs in a lot of commands and functions allowing you to create and handle complex documents by programming, documents which include pictures and text! Today, 4D Write Pro gets its own commands to insert and read text without needing to use commands originally designed for Styled Text! Thanks to these new commands, your code takes full advantage of the 4D Write Pro programming concepts, i.e. objects and ranges. Thus, your code is more elegant and easier to read!
4D Write Pro is continuously evolving; thanks to the new features and functionalities we’re shipping with every R-release. A world of possibilities is wide open! Today, thanks to a new command, you can get a set of information about the location of any element within your documents.
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.
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!
There’s a saying about not sweating the small stuff, but when it comes to security, it’s often the little things that have the biggest impact.
On the “Backup” page of Database Settings, you’ll notice an option for an automatic restore of the last backup if your database is damaged. To provide you with the best level of protection for your data, this option is now checked by default for new databases, right out of the box.
Objects are great! Their flexibility, combined with speed and elegance, make them a first choice for most developers. Using dates inside objects is now easier and more intuitive. From now on, dates can be set as dates – and not strings inside objects!
4D v16 R6 introduces a new concept of communication between processes: shared object and shared collection variables! They are a solution so you can avoid using interprocess variables (which can’t be used in multi-thread mode). Thanks to this, you will be able to easily share information between preemptive processes.
Got a question, suggestion or just want to get in touch with the 4D bloggers? Drop us a line!