4D is finally working towards creating a new 4D Write and since 14 R5 we can actually use some of it.
Of course there is still quite a lot missing but with what we already have we can for example create nice looking E-Mails.
Now most of us have worked with 4D Write until now and moving to 4D WritePro requires quite a few conversion in order to prevent us from doing all again.
Converting a 4D Write Document to WritePro works fine, as long as you go through a document on Disk, using Blobs with WP New has yet to work reliably for me.
Using References or Expressions in 4D WritePro works surpassingly well, although the tools for manipulating these References and expressions are a bit lacking.
So I have created a few helper methods that I gladly share here:
Up to this day, 4D cannot move or delete folders recursively including content.
So I wrote a few methods to do it, and while I was at it, I also wrote a method that compares folders.
These methods are part of my AC_FileTools component to be published in a while. Till then feel free to serve yourself:
Apple has broken Aliases.
Well, at least for us working with 4D and until 4D supports the new OS X aliases that now are more like bookmarks.
So, what can a developer do?
Copy all Plugins and Components into the appropriate folders and overtime a component changes, copy it again to all destinations, hoping you don’t forget one…
But aren’t we developers?
Let’s solve this in code:
Ever needed to keep structured data without creating tables?
Need simple data structures for a component without adding persistent storage tables to the host database or using an external database?
Well, I may have a thing for you:
A simple, memory based Database Component for 4D.
The command set at a glance:
AC_QuickBase – initializes the database system
ACQB_CreateTable – create a database table
ACQB_DropTable – drop the table specified
ACQB_Truncate – clears all records from a table
ACQB_Insert – create a new record
ACQB_Update – modify an existing record
ACQB_Delete – delete a record
ACQB_Value – retrieves a field value
ACQB_ValueToArray – retrieves a field value for multiple records
ACQB_Find – find a specific record, the first match is returned
ACQB_FindSel – find all records matching the request
ACQB_Count – Count records in a table
ACQB_Export – exports the database to disk
ACQB_Import – imports a database from disk
ACQB_Clear – clears the database from memory
ACQB_Editor – displays a data view and editor
Ever needed to create copy of a menu you defined using CREATE MENU?
For example to use it in 2 separate processes with different settings or different states of enabling/disabling or different lines added or removed?
Well, despair not, here is a piece of code that might come in handy: