Převod klasických 4D formulářů na dynamické formuláře

Automaticky přeloženo z Deepl

Vaše formuláře může být nutné změnit v závislosti na potřebách zákazníků nebo uživatelů. Například černá barva může být pro jednoho uživatele dokonalá, ale pro jiného uživatele (který považuje modrou barvu za naprostou dokonalost) už tolik ne. Naštěstí jsou tu dynamické formuláře (představené v 4D v16 R6), které vám pomohou vypořádat se s preferencemi vašich uživatelů. Přepsat stávající formulář na dynamický však může být obtížný úkol a ne vždy je snadné začít s prázdnou stránkou. V ideálním případě by bylo nejlepší mít k dispozici návrh, který lze upravovat a vylepšovat. S verzí 4D v17 R3 je nyní možné snadno převést klasický formulář 4D (uložený v souboru .4DB) na dynamický formulář.

Příklad databáze

K tomu je k dispozici nový příkaz. Předejte mu název formuláře a obdržíte objekt popisující formulář.

$oForm:=FORM Convert to dynamic("myProjectForm")

Poté můžete ve formuláři snadno a rychle provádět změny. Například můžete kódem změnit barvu písma pro všechny objekty s nápisem „Storno“ ve formuláři:

// iterate on all objects of first page
$pageObjects:=$oForm.pages[1].objects
For each ( ; ) ( ( [ ]. )="@Cancel@") [ ]. :="red" ($object$pageObjects
IfString$pageObjects$objecttext // all widgets with a "Cancel" caption text
$pageObjects$objectstroke // change it to red color
End if
End for each

DIALOG
$oForm).

Jiný příklad: Dynamický formulář můžete uložit do souboru v počítači uživatele a provést implementaci personalizovaných úprav pouze pro tohoto konkrétního uživatele.

Barva písma byla jen jednoduchým příkladem. Ale to není všechno … písmo, velikost písma, zadávání, formát, pozice, změna velikosti, možnost změny velikosti, přiřazená metoda objektu nebo události formuláře a mnoho dalšího. Formulář můžete za běhu zcela přepracovat. Možnosti jsou nekonečné!

Vanessa Talbot
• Product Owner • Vanessa Talbot se připojila k programovému týmu 4D v červnu 2014. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Od svého příchodu pracovala na definování klíčových prvků ve 4D. Pracovala na většině nových funkcí preemptivního multi-threadingu a také na velmi složitém tématu: nové architektuře pro enginované aplikace. Vanessa má titul z Telecom Saint-Etienne. Svou kariéru začala ve Výzkumném ústavu kriminalistickém jako vývojářka pro audiovizuální oddělení. Působila také v mediální a lékařské oblasti jako expertka na technickou podporu, produkci i dokumentaci novinek.