Novinky ve verzi 4D v17

Automaticky přeloženo z Deepl

Tento dokument je kompilací všech funkcí dostupných v 4D v17, které byly zavedeny buď během programu v16 R-release, nebo v posledním kroku od 4D v16 R6 k 4D v17. Všimněte si, že ke každé funkci existuje související příspěvek na blogu, který vás provede konkrétními příklady. Tyto blogové příspěvky jsou přístupné po kliknutí na název funkce.

Vezměte také v úvahu, že sekce s označením blank se týkají všech nově vydaných funkcí mezi 4D v16 R6 a 4D v17.

Tento dokument je rozdělen do sedmi částí:

ORDA

4D v17 přináší inovativní koncept, který umožňuje pracovat s databází pomocí objektově orientovaného přístupu: ORDA (Object Relational Data Access).

Zde jsou funkce, které dodáváme s touto verzí:

Vytváření aktualizace a mazání dat blank

Pomocí ORDA lze provádět operace CRUD (Create, Read, Update a Delete) nad vaší databází prostřednictvím abstrakční vrstvy: datového skladu , což je objekt, který poskytuje rozhraní k modelu databáze a datům prostřednictvím objektů. Pomocí ORDA se operace Create, Update a Delete neprovádějí nad aktuálním výběrem nebo nad aktuálním záznamem, ale nad entitami:

  • Vytvořit: lze dosáhnout instancováním nové entity pomocí metody new( ) a jejím uložením pomocí metody save().
  • Aktualizace: provádí se na entitě pomocí stejné metody save().
  • Odstranit: provádí se na entitě nebo výběru entit pomocí metody drop() .

Přečtěte si dokumentaci

Dotazování na databázi blank

U ORDA je datový sklad objektem, který poskytuje rozhraní k modelu databáze a datům prostřednictvím objektů. Také již neřešíte aktuální výběr pro každou tabulku a aktuální záznam, ale entity, které jsou objekty. Snadno se můžete dotazovat na několik propojených tabulek, spravovat rekurzivní vztahy na jedné tabulce a také používat několik logických operátorů v jednom dotazu. 4D v17 poskytuje několik způsobů, jak umožnit dotazování na dataClass (tj. tabulku): dotaz můžete zadat buď jako jediný řetězec, nebo zadat dotaz a hodnoty odděleně pomocí zástupných symbolů, nebo zadat dotaz a hodnoty odděleně pomocí dynamicky sestavené kolekce. Přečtěte si dokumentaci

Přechod mezi aktuálním výběrem a výběrem ORDA tam a zpět blank

ORDA lze integrovat do vašeho stávajícího kódu! Je možné aktualizovat aktuální výběr tabulky z výběru entit, stejně jako získat výběr entit z aktuálního výběru tabulky! K tomuto účelu byly přidány nové příkazy: příkaz USE ENTITY SELECTION pro aktualizaci aktuálního výběru v příslušné tabulce a příkaz Create entity selection pro získání výběru entit vztahujícího se k příslušné DataClass. Přečtěte si dokumentaci

Převod na entity, objekty a kolekce blank

Pomocí ORDA můžete oddělit entity a výběry entit od databáze a pracovat s nimi odděleně. Také můžete přesunout existující objekty a kolekce do databáze. Chcete-li tedy exportovat entitu do objektu, použijte metodu toObject(); a metodu toCollection() v případě, že chcete exportovat výběr entit do kolekce. A import entity prostřednictvím objektu lze provést díky metodě fromObject( ) a import výběru entit prostřednictvím kolekce lze provést pomocí metody fromCollection(). Přečtěte si dokumentaci

Správa zámků

Optimistické zamykáníblank

ORDA umožňuje pracovat s optimistickým zamykáním tím, že poskytuje úplnou sadu metod pro správu chyb, které mohou vzniknout při ukládání entity do databáze. Postup je velmi jednoduchý: Po načtení entity z databáze pomocí metody reload() vás metoda touchedAttributes() informuje o tom, které vlastnosti byly od posledního načtení nebo uložení změněny, a nakonec můžete obě entity porovnat pomocí metody diff(). Přečtěte si dokumentaci


Pesimistické zamykání blank

Kromě optimistického zamykání umožňuje ORDA pracovat také s pesimistickým zamykáním pomocí metody lock() , která uzamkne entitu tak, že uložení odkazu na tuto entitu v jiných procesech selže, dokud entita nebude odemčena. Od nynějška tedy není třeba před načtením entity zjišťovat, zda je uzamčena, protože při pokusu o její aktualizaci bude metoda save() vracet podrobný stav s uvedením důvodů uzamčení. Přečtěte si dokumentaci

Zacházení s entitami ve výběru entit blank

ORDA poskytuje jednoduché metody pro vytváření a přidávání výběrů entit a také metody pro procházení entitami v objektu výběru entit, které umožní zpracovávat několik výběrů entit najednou a procházet jimi nezávisle. Výběr entit se vytváří pomocí metody newSelection() a entity se do něj přidávají pomocí metody add(). Výběr entit poskytuje metody first( ) a last() pro získání první a poslední entity a výběr entit poskytuje metody previous() a next( ) pro získání předchozí a následující entity. Přečtěte si dokumentaci

Logické operace s výběry entit blank

Na výběry entit lze použít logické operátory, které umožňují získat průnik, sjednocení nebo rozdíl mezi dvěma výběry entit jako u množin v klasickém jazyce. Přečtěte si dokumentaci

Výpočet na výběrech entit blank

ORDA poskytuje skvělou funkci pro průchod dat filtry a získání agregovaných hodnot, poskytuje sadu agregačních operací, které zkoumají a provádějí výpočty nad soubory dat. Například metody sum(), average(), count(), min() a max( ) slouží k provádění operací, které popisují jejich názvy! Přečtěte si dokumentaci

Jazyk 4D

Zde jsou největší vylepšení, která jsme přinesli do jazyka 4D, aby bylo kódování mnohem jednodušší a intuitivnější:

Zápis objektů

Funkce objektového zápisu zásadně mění způsob psaní kódu a používání databázového stroje, vaše kódování je rychlejší a přehlednější. Můžete například jednoduše napsat $myobject.atribut.subatribut:=5 nebo přistupovat k atributu pomocí $person.children[2].firstname, také můžete použít objektový zápis jako výraz. Vytvořte například formulářový objekt jako textovou proměnnou a přiřaďte mu přímo atribut objektu, například [osoba]příbuzní.dědeček.dědeček.jméno. Pro načtení hodnoty a její přiřazení do dočasné proměnné již není třeba rekurzivně používat OB Get, stačí ji jen zobrazit. Jednou z výhod objektové notace je použití nedefinovaných vlastností a hodnot, protože jazyk 4D nyní akceptuje nedefinované hodnoty kdekoli ve výrazu. A kdykoli proměnné přiřadíte nedefinovanou hodnotu, bude jí nastavena výchozí hodnota podle jejího typu.To znamená, že načtení vlastnosti neexistujícího objektu nevyvolá chybu ani nezastaví provádění kódu. Přečtěte si dokumentaci

Sdílené objekty a kolekce

Sdílené objekty a sdílené kolekce představují snadný a efektivní způsob sdílení informací mezi preemptivními procesy. Sdílené objekty a sdílené kolekce se chovají stejně jako standardní objekty, pouze musí být při své instanci deklarovány jako „sdílené“ pomocí následujících nových příkazů: Nový sdílený objekt a Nová sdílená kolekce. Jakmile jsou jednou instancovány, lze je používat přímo, stejně jako jakoukoli jinou proměnnou, pro čtení. A pro zápis nebo modifikaci musí být obklopeny klíčovými slovy Use a End use . Přečtěte si dokumentaci

Nový iterátor: Pro každý/ Konec pro každý blank

Do jazyka 4D přibyla nová smyčka: Pro každý / Konec pro každý, aby bylo možné iterovat nad pokročilými datovými typy, jako jsou kolekce, a nebylo nutné předem znát, kolik položek patří do kolekce před vstupem do smyčky. Lze jej také použít k iteraci nad vlastnostmi objektů. To je užitečné, pokud chcete napsat nějaký obecný kód, aniž byste předem znali názvy vlastností objektu. Přečtěte si dokumentaci

Kolekce

Kolekce je nový typ přidaný do jazyka 4D. Kolekce jsou flexibilní a mohou urychlit váš vývoj. Na první pohled vypadá kolekce jako pole, ale zatímco pole je vysoce optimalizovaný seznam stejného typu (Array longint, Array Text, ...), kolekce je jakýsi kontejner uchovávající seznam jednotlivých typů (longint, pak text, pak číslo, pak obrázek, objekt, dokonce další kolekce atd); a lze k ní přistupovat pomocí objektové notace. Příkaz Nová kolekce vytvoří novou prázdnou nebo předem naplněnou kolekci. A aby se usnadnila manipulace s kolekcemi, je k dispozici řada nových metod, které se používají s objektovou notací. Tyto metody umožňují například přidávat nebo odebírat prvky, třídit kolekci a mnoho dalšího. K dispozici je již více než 40 nových metod. Zde je jen několik z nich: pop(), push(), concat(), resize(), query(), slice(), … Přečtěte si dokumentaci.

Příkaz Null

Nový příkaz Null lze použít ke kontrole, zda má atribut objektu nebo člen kolekce neznámou nebo chybějící hodnotu (pozor na rozdíl od hodnoty 0 nebo prázdného řetězce „“ s nenastavenou hodnotou). Umožňuje také nastavit hodnotu atributu na neznámou. Tento příkaz lze použít s objektovým zápisem. Přečtěte si dokumentaci

Vývoj s objekty

Data uvnitř objektů

Data lze nyní v objektu nastavit jako data, nikoli jako řetězce, což usnadňuje a zpřehledňuje používání dat uvnitř objektů. OB SET a OB Get tak lze používat, aniž by vyžadovaly konstantu is date, a lze na ně aplikovat objektový zápis jako na jakýkoli jiný typický objekt. Chcete-li používat data uvnitř objektů, stačí na stránce nastavení kompatibility v Nastavení databáze zaškrtnout volbu „Použít v objektech typ data místo formátu data ISO„. Přečtěte si dokumentaci

Podpora obrázků v objektech

Obrázky lze nyní ukládat do pole objektu nebo do proměnné objektu. Příkazy OB Get a OB SET podporují nový typ obrázku Is a možnost uložit obrázek do pole objektu. A lze použít i objektový zápis. Přečtěte si dokumentaci

Ověření objektu JSON

Přibyla nová možnost, která vám pomůže zkrátit dobu ladění při analýze řetězců JSON. Parametr volby * funkce JSON Parse vytváří dodatečné ladicí informace (vlastnost __symbols ), které poskytují cestu, pozici na řádku a řádkový offset každé vlastnosti a podvlastnosti objektu. I když je objekt dobře vytvořen, nemusí splňovat požadované specifikace nebo normy obsahu. Nový příkaz JSON Validate umožňuje zkontrolovat, zda struktura objektu odpovídá zadané specifikaci(schéma JSON). Přečtěte si dokumentaci

Snadný způsob inicializace objektu

Příkaz New Object umožňuje buď vytvořit prázdný objekt, nebo jej vytvořit s počátečními vlastnostmi a hodnotami na jediném řádku kódu. Přečtěte si dokumentaci

Dotaz na seznam prvků v jednom objektu

Nyní je možné vyhledávat v poli uvnitř objektu pomocí propojených argumentů. Příkaz QUERY BY ATTRIBUTE umožňuje provádět složité dotazy uvnitř seznamu prvků v jednom objektu. Při vyhledávání v atributech pole s více argumenty dotazu spojenými operátorem AND budete mít možnost vybrat si, zda chcete získat záznamy, u nichž se shodné argumenty nacházejí alespoň v jednom prvku, nebo ve stejném prvku. Přečtěte si dokumentaci

Řazení záznamů podle atributu objektu

Při zobrazení výběru například v seznamu je nyní možné řadit záznamy podle určitého atributu objektu díky novému příkazu ORDER BY ATTRIBUTE. Přečtěte si dokumentaci

Preemptivní vícevláknové zpracování

Preemptivní vícevláknové zpracování umožňuje vaší aplikaci plně využít výhod vícejádrových počítačů. Výsledkem je, že vaše aplikace běží rychleji a mohou podporovat více připojených uživatelů. Více než dvacet stávajících příkazů bylo vylepšeno tak, aby je bylo možné používat v preemptivních procesech. Přečtěte si dokumentaci

Dynamické formuláře

Nyní je možné vytvářet a používat dynamické formuláře. Jsou uloženy v textovém formátu (JSON) a otevírají široký seznam nových možností: vytvářet formuláře plně přizpůsobené kontextu koncového uživatele, sdílet stejný formulář mezi několika databázemi. Textový popis formuláře lze uložit do objektu 4D nebo do souboru. Za běhu pak lze formuláře načíst. Následující příkazy byly vylepšeny tak, aby bylo možné předat cestu k objektu 4D nebo souboru JSON: Formulář je možné otevřít: Otevřít okno formuláře, DIALOG, FORM SET INPUT, FORM SET OUTPUT, OBJECT SET SUBFORM, OBJECT GET SUBFORM, FORM LOAD, Print form. Přečtěte si dokumentaci

Zjednodušená komunikace mezi formuláři

Zbavte se složitého kódu a globálních proměnných tím, že na formulář navážete objekt a použijete jej interně pomocí nového příkazu Form . Stačí, když formuláři předáte parametry objektu pomocí příkazu DIALOG. Jakákoli vlastnost tohoto objektu pak bude dostupná z formuláře prostřednictvím příkazu Form. To platí i pro dílčí formuláře. Přečtěte si dokumentaci

Nové možnosti programování pomocí standardních akcí

Standardní akce – například První záznam nebo barva?hodnota=červená – lze přiřadit tlačítku nebo položce nabídky v uživatelském rozhraní nebo naprogramovat. Jednou z výhod je, že 4D také automaticky řeší deaktivaci položky nabídky nebo tlačítka, kdykoli se akce nepoužije. Kromě toho byly do jazyka 4D přidány dva nové příkazy pro snadné zpracování standardních akcí programováním:

  • Pomocí příkazuINVOKE ACTION lze spustit libovolnou standardní akci, volitelně v cílovém kontextu (aktuální formulář nebo hlavní formulář).
  • Chcete-li zjistit, zda je standardní akce použitelná a platná v aktuálním kontextu, můžete použít příkaz Získat informace o akci.

Přečtěte si dokumentaci

Řízení priority správce mezipaměti

4D 64-bit obsahuje plně optimalizovaného správce mezipaměti založeného na mechanismu automatického řízení priorit objektů v mezipaměti. Plnou kontrolu nad prioritou má obsluha objektů v paměti cache, což umožňuje pokročilé doladění.

Pro pokročilé použití a specifické případy lze priority mezipaměti přizpůsobit pomocí dvou sad příkazů 4D:

Přečtěte si dokumentaci

Zabezpečení

4D v17 představuje obrovský skok vpřed v otázkách zabezpečení díky níže uvedeným vylepšením:

Další podrobnosti o integrovaných nástrojích a technikách spojených s vytvářením zabezpečeného prostředí pro vaše podnikové aplikace naleznete v našem průvodci zabezpečením.

Hodnocení A+ pro webové stránky 4D blank

Nyní je možné získat hodnocení A+ (nejvyšší hodnocení) od SSL Labs pro vaše webové stránky, a to pouhou aktivací funkce HSTS (HTTP Strict Transport Security) na vašem webovém serveru 4D! HSTS umožňuje webovým serverům deklarovat, že prohlížeče s nimi mají komunikovat pouze prostřednictvím zabezpečených spojení HTTPS. Po aktivaci přidá webový server 4D automaticky do všech hlaviček odpovědí informace týkající se HSTS. Když prohlížeč obdrží první odpověď webového serveru 4D s informacemi HSTS, zaznamená je. Od tohoto okamžiku budou všechny budoucí požadavky HTTP automaticky transformovány na HTTPS. A pomocí možnosti Web HSTS max age můžete určit dobu, po kterou bude prohlížeč tyto informace ukládat. Přečtěte si dokumentaci

Aktivace funkce Perfect Forward Secrecy ve webovém serveru 4D

Výchozí zabezpečení serveru 4D Web Server bylo zvýšeno podporou technologie Perfect Forward Secrecy (PFS). Tato implementace poskytuje vaší aplikaci lepší shodu s některými síťovými bezpečnostními funkcemi a také vyšší hodnocení v testech auditu zabezpečení webu. Funkce PFS je automaticky povolena, když je na serveru aktivována protokol TLS . Pomocí příkazu WEB Get server info se můžete ujistit, že je systém PFS povolen. Hodnota nového atributu perfectForwardSecrecy je true vždy, když jsou splněny všechny podmínky potřebné pro použití PFS. Mějte na paměti, že algoritmus RC4 je nyní ve 4D Web Serveru v důsledku některých známých bezpečnostních problémů zastaralý. Přečtěte si dokumentaci

Vylepšené zabezpečení webového serveru 4D

Server 4D podporuje zabezpečení transportní vrstvy (TLS v1.0, TLS v1.1 a TLS v1.2), které umožňuje šifrovanou komunikaci mezi klienty a servery. Výchozí minimální podporovaná verze je TLS v1.2, starší verze budou odmítnuty, protože mohou být nezabezpečené. Pokud však chcete podporovat starší prohlížeče (nebo nástroje), které nepodporují TLS v1.2, můžete snížit úroveň zabezpečení pomocí nového voliče Min TLS version pro příkazy Get database parameter a SET DATABASE PARAMETER. Přečtěte si dokumentaci

Ověřování hešů a hesel

Mechanismus hashování je ideální pro ukládání hesel. Byly vytvořeny dva nové příkazy pro generování a ověřování hashovaných hesel: Generovat hash hesla a Ověřit hash hesla. Oba jsou založeny na algoritmu bcrypt, který je z principu pomalý. Útoky hrubou silou jsou tedy pomalejší a dopady jsou minimalizovány. Přečtěte si dokumentaci

Podpora algoritmu SHA-2

Funkce digestu jsou užitečné, pokud jde o kontrolu integrity dat při jejich výměně nebo porovnávání. Příkaz Generovat digest byl rozšířen o podporu SHA-2. Nyní podporuje dva algoritmy rodiny SHA-2: SHA-256 a SHA-512. Syntaxe zůstává stejná a byly přidány konstanty SHA256 digest a SHA512 digest. Přečtěte si dokumentaci

Obnovení poslední zálohy databáze ve výchozím nastavení

Pro ochranu dat před poškozením je u nových databází ve výchozím nastavení zaškrtnuta volba Obnovit poslední zálohu v případě poškození databázena stránce „Zálohování“ v Nastavení databáze, což poskytuje nejlepší úroveň ochrany. Přečtěte si dokumentaci

4D Write Pro

Vícesloupcové dokumenty blank

V aplikaci 4D Write Pro můžete nyní vytvářet vícesloupcové dokumenty a také převádět stávající dokumenty 4D Write obsahující více sloupců. příkazy WP SET ATTRIBUTES a WP GET ATTRIBUTES byly aktualizovány tak, aby podporovaly nové atributy pro správu sloupců:

  • wk počet sloupců: definuje počet sloupců pro dokument nebo sekci.
  • wk rozteč sloupců: definuje rozteč mezi dvěma sloupci.
  • wk column rule style, wk column rule color, wk column rule width: definují styl (tečkovaný, čárkovaný atd.), barvu nebo šířku svislého oddělovače sloupců.

Přečtěte si dokumentaci

Získání pozice libovolné části dokumentu 4D Write Pro blank

Nyní je k dispozici nový příkaz určený pro aplikaci 4D Write Pro: WP Získat pozici. Při zadání konkrétního rozsahu, prvku nebo odkazu vrátí tento příkaz objektovou proměnnou s pěti důležitými údaji najednou: číslo oddílu, kde rozsah začíná, číslo stránky, číslo sloupce, číslo řádku a dokonce pozici prvního znaku rozsahu v řádku. Přečtěte si dokumentaci

Programový přístup k prvkům v aplikaci 4D Write Pro blank

Příkaz WP Get elements vrací kolekci prvků libovolného typu (odstavce, tabulky, obrázky atd. Pokud je předán zadaný rozsah, vrátí příkaz kolekci obsahující pouze prvky odpovídajícího typu (pokud není uveden ve druhém parametru). V opačném případě příkaz vrátí kolekci obsahující všechny dostupné prvky bez ohledu na jejich typ. Přečtěte si dokumentaci

Jak snadno zpracovat vkládání textu blank

Příkaz WP SET TEXT umožňuje zapsat text na libovolné místo uvnitř dokumentu. Tento příkaz se používá stejným způsobem jako většina příkazů „Insert“ v 4D Write Pro. Přijímá tři argumenty: objekt rozsahu (kam má být text vložen), samotný text a pak konstantu, která určuje, zda má být text umístěn před, za nebo nahradit rozsah. Přečtěte si dokumentaci

Tabulky 4D Write Pro

Tabulky přicházejí v aplikaci 4D Write Pro! Skutečné tabulky, jednotlivé buňky, pokud do buňky zadáte velký text, text se automaticky obalí a šířka buňky zůstane pouze stejná. Tabulku můžete vytvořit od začátku a upravit styl tabulky nebo její sloupce, řádky a dokonce i jednotlivé buňky, to vše programováním.

Příkaz WP Vložit tabulku umožňuje vytvořit tabulku s určitým počtem buněk, řádků nebo prázdnou. Následující příkazy byly vytvořeny tak, aby vám umožnily spravovat tabulky v dokumentu 4D Write Pro: WP Table append row, WP Table get rows, WP Table get columns, WP Table get cells. Všechny tyto nové příkazy jsou bezpečné pro vlákna. Přečtěte si dokumentaci

Mechanismus standardních akcí rozšířený do aplikace 4D Write Pro

Bylo vytvořeno více než 80 nových standardních akcí určených pro 4D Write Pro, které umožňují snadnou práci s oblastmi 4D Write Pro pomocí nových akcí, jako jsou Tučné písmo, Barva, Kontrola pravopisu, Zmrazit výraz, Zobrazit dialogové okno pro výběr systémového písma… K dispozici je více než 80+ akcí. Nyní je možné vytvořit si vlastní uživatelské rozhraní 4D Write Pro, aniž byste museli napsat jediný řádek kódu. Přečtěte si dokumentaci

Navrhněte si vlastní panel nástrojů pomocí standardních akcí

Snadno si vytvořte vlastní panel nástrojů aplikace 4D Write Pro, aniž byste museli cokoli programovat. Mechanismus standardních akcí, jednoduchý, ale velmi výkonný, byl rozšířen, takže jej lze přiřadit také zaškrtávacím políčkům a vyskakovacím nabídkám.

Použití standardních akcí vám umožní využít automatické mechanismy, které vám ušetří čas: aktivaci/deaktivaci objektu automaticky zpracuje 4D v závislosti na kontextu a aktuální stav (u zaškrtávacích políček ) nebo hodnota (u vyskakovacích nabídek ) se automaticky aktualizuje podle aktuálního výběru textu. Přečtěte si dokumentaci

Navrhněte si vlastní kontextovou nabídku pro 4D Write Pro

Byl aktualizován příkaz Dynamická kontextová nabídka, který umožňuje navrhovat vlastní kontextové nabídky 4D Write Pro na základě standardních akcí. Přečtěte si dokumentaci

4D Write Pro a zpracování obrázků

Obrázky v absolutní poloze

Je dána plná kontrola nad vkládáním obrázků na konkrétní pozici: před nebo za text, stejně jako ukotvených na stránce nebo v konkrétních částech dokumentu (tj. záhlaví, zápatí, sekce ). Příkaz WP Přidat obrázek přidá obrázek na stránku, k určení jeho přesné pozice i dalších vlastností pak můžete použít buď standardní akce, nebo sadu selektorů, které byly přidány do příkazů WP GET ATTRIBUTES a WP SET ATTRIBUTES. Přečtěte si dokumentaci

Podpora obrázkových výrazů

Aplikace 4D Write Pro nyní podporuje obrázkové výrazy. Příkaz ST INSERT EXPRESSION byl rozšířen tak, aby podporoval jakýkoli výraz vracející obrázek. Výrazem může být proměnná 4D, pole, funkce nebo uživatelem definovaná metoda. Mějte na paměti, že před použitím metody 4D ve výrazu musíte nejprve povolit použití této metody pomocí příkazu SET ALLOWED METHODS. Přečtěte si dokumentaci.

Obrázky na pozadí v plné velikosti

Vytváření obrázků na pozadí vyplňujících celou stránku je v aplikaci 4D Write Pro možné díky atributu stylu pozadí pro ořezání a původ obrázku. Tento atribut lze ovládat pomocí:

  • 4D language: Můžete použít příkaz WP SET ATTRIBUTES a nastavit novou hodnotu wk paper boxu pro oříznutí a/nebo původ obrázku na pozadí.
  • Standardní akce: Lze použít příkaz INVOKE ACTION nebo v režimu návrhu jako jakoukoli jinou standardní akci.
  • Widget 4D Write Pro: Při výběru položek „obrázek na pozadí“ a „dokument“ budou mít možnosti ořezu a původu k dispozici novou volbu paper box.

Přečtěte si dokumentaci

Programová správa záhlaví a zápatí

Záhlaví a zápatí aplikace 4D Write Pro lze programově spravovat a vytvářet tak další dokumenty na základě šablony díky novým příkazům rozděleným do dvou kategorií:

  • Příkazy pro získání odkazů na libovolné záhlaví, zápatí nebo tělo uvnitř dokumentů, které lze použít k získání souvisejících rozsahů, vytvoření dokumentů pro určitou sekci: WP Get header, WP Get body a WP Get footer.
  • Příkazy pro přesun kurzoru na konkrétní pozici: WP Get frame slouží k získání odkazu na rámeček, ve kterém se kurzor právě nachází, zatímco WP SET FRAME nastaví kurzor do konkrétního rámečku.

Přečtěte si dokumentaci

Hypertextové odkazy 4D Write Pro

Pomocí atributu wk link url můžete přidat odkaz na logo nebo název firmy. Hypertextové odkazy lze přidat na obrázky, text nebo jejich kombinaci, stačí použít příkazy WP SET ATTRIBUTES a WP GET ATTRIBUTES. Přečtěte si dokumentaci

Použití počátečních znaků pro tabulátory

Aplikace 4D Write Pro poskytuje další funkci pro doladění designu: úvodní znaky (např. opakující se tečky nebo jakýkoli jiný znak například v obsahu). Vedoucí znaky lze ovládat buď z kontextové nabídky po kliknutí na existující tabulátor v oblasti pravítka, nebo programově díky volbě wk tab stop leadings new a příkazu WP SET ATTRIBUTES. Přečtěte si dokumentaci

Vodorovné pravítko 4D Write Pro

Vodorovné pravítko v oblasti 4D Write Pro slouží k úpravě okrajů, odsazení a vodorovnému zarovnání textu, grafiky, záložek a dalších prvků v dokumentech. Přečtěte si dokumentaci

4D View Pro

Převod dokumentů do aplikace 4D View Pro

První krok k převedení stávajících dokumentů 4D View na 4D View Pro je spuštěn. Díky novému příkazu VP Convert from 4D View se automaticky převede většina vlastností a informací uložených v dokumentech 4D View, včetně struktury dokumentu, hodnot, formátů, stylů, rámečků a vzorců! Přečtěte si dokumentaci

Tabulky 4D View Pro

Díky novému formulářovému objektu 4D View Pro a novým příkazům 4D View Pro můžete nyní vytvářet tabulky 4D View Pro. Vytvořte nový dokument pomocí VP NEW DOCUMENT, uložte jej na disk pomocí VP EXPORT DOCUMENT nebo do databáze pomocí VP Export to object a znovu jej otevřete pomocí VP IMPORT DOCUMENT nebo VP IMPORT FROM OBJECT. Přečtěte si dokumentaci

Automatická proměnná výška řádku pole seznamu

4D View Pro podporuje automatickou proměnlivou výšku řádku, což znamená, že pole seznamu přizpůsobuje výšku každého řádku jeho obsahu, takže lze zobrazit celý text nebo obrázek a vyhnout se všem druhům problémů s obtékáním. V seznamu vlastností jsou k dispozici tři nové vlastnosti: Automatická výška řádku, Min. výška řádku a Max. výška řádku. Tato nastavení umožňují vývojářům kromě minimální a maximální povolené výšky řádku definovat, zda pole seznamu používá režim automatické výšky řádku.
Tato nastavení lze spravovat také programově pomocí příkazu LISTBOX SET PROPERTY a nového příkazu LISTBOX SET AUTO ROW HEIGHT . Přečtěte si dokumentaci

Další možnosti programování

Získejte informace o hardwaru stroje blank

Příkaz Get system info (Získat informace o systému) získá všechny podrobnosti o hardwaru a systému spuštěného stroje a informace, které zahrnují: jaký operační systém je používán, jaký procesor (procesory), kolik je k dispozici paměti RAM a další. Přečíst dokumentaci

Podrobné informace o serveru 4D Web Server

Příkaz WEB Get server info získá podrobné informace o vašem webovém serveru 4D. Tento příkaz má nepovinný vstupní parametr withCacheInfo, který je užitečný, pokud potřebujete informace o mezipaměti webového serveru. Tento atribut je ve výchozím nastavení nastaven na hodnotu „False“. Přečtěte si dokumentaci

Podrobné informace o uživatelích a procesech

Příkaz Get process activity (Získat aktivitu procesů) poskytuje přehled o připojených uživatelských relacích, souvisejících běžících procesech a o všech aktuálních procesech včetně interních procesů, které nebyly dosažitelné příkazem PROCESS PROPERTIES. Kromě toho je zahrnut atribut systemID, který umožňuje jednoznačně identifikovat jakýkoli proces: uživatel, 4D a náhradní. Z vrácených informací o relaci/procesu lze také vypočítat čas procesoru spotřebovaný tímto procesem od připojení (v sekundách) a procento aktivity (např.: 2 %). Kromě toho příkaz usnadňuje rozbor výsledků. Přečtěte si dokumentaci

Podrobné informace o licencích

Příkaz Získat informace o licencích vrací podrobné informace o nainstalovaných licencích a použitých/dostupných licencích. Přečtěte si dokumentaci

Lepší správa přípon souborů a složek

Byly vytvořeny dva příkazy, které usnadňují správu cest k souborům a složkám. Příkaz Cesta k objektu vrací objekt obsahující konkrétní vlastnosti (nadřazená složka, název souboru nebo složky, přípona souboru nebo složky) cesty, kterou jste předali v parametru. Příkaz Objekt na cestu vytvoří cestu z atributů objektu předaných v parametru. Chcete-li tedy sestavit novou cestu, upravte potřebné atributy objektu a pouze je překombinujte.
Tyto příkazy by se nyní měly používat místo zastaralých příkazů _o_Document type a _o_SET DOCUMENT TYPE. Přečtěte si dokumentaci

Snadný přístup k souborům protokolu

Příkaz Get 4D file byl vylepšen pro lepší přístup k souborům protokolu. Nyní můžete snadno najít konkrétní soubor protokolu namísto získávání složky obsahující všechny protokoly. Pro tento příkaz byla vytvořena sada nových selektorů: Soubor protokolu požadavku, Soubor protokolu ladění, Soubor protokolu zálohování, Soubor protokolu ověření, Kompaktní soubor protokolu, Soubor protokolu opravy, Soubor protokolu ladění HTTP a Soubor protokolu sestavení aplikace. Přečtěte si dokumentaci

Příkaz Časové razítko

Příkaz Timestamp umožňuje získat přesné časové razítko UTC včetně milisekund. Přečtěte si dokumentaci

Uživatelské zkušenosti

Doplňování kódu a návrh atributů objektů

Editor metod byl rozšířen o doplňování kódu pro atributy objektů. Při každém zadání znaku tečky za objektem se zobrazí seznam navrhovaných atributů, aby se zvýšila rychlost kódování a předešlo se chybám nebo překlepům. Chování automatického doplňování lze přizpůsobit v panelu„4D preferences“ a určit, zda se seznam návrhů otevře automaticky po zadání znaku tečky (možnost zaškrtnuta), nebo pouze po použití klávesy tabulátoru (možnost nezaškrtnuta). Přečtěte si dokumentaci

Řada produktů Altura-free 4D pro 64bitový systém Windows

Celá produktová řada 4D Windows 64-bit již není závislá na knihovně Mac2Win od společnosti Altura. Posledním krokem, který bylo třeba dokončit, byl 4D Server Windows 64-bit, který je dokončen s verzí 4D v16 R4. Díky tomu může 4D interně využívat moderní technologie na platformě Windows a využívat nové funkce, jako je například SDI. Přečtěte si dokumentaci

Podpora SDI v systému Windows

Aplikace 4D pro Windows měla dříve šedé hlavní okno (pojmenované MDI – Multiple Document Interface), v němž se zobrazovala všechna okna aplikace (jako podřízená okna). Aplikace SDI(Single Document Interface) mají hlavní okno, které může otevírat mnoho dalších oken nezávislých na hlavním okně. Lze je přesouvat na jiné obrazovky, zůstávají viditelná, i když je hlavní okno skryto, a tak dále… Proč 4D nyní umožňuje oba režimy v 64bitových Windows pro sloučené aplikace. Přečtěte si dokumentaci

Tipy nápovědy k seznamům

Všechny tipy nápovědy uvnitř aplikace 4D můžete zakázat nebo povolit naprogramováním pomocí příkazu SET DATABASE PARAMETER. Můžete také definovat zpoždění zobrazení a maximální dobu trvání zobrazení podle jazyka. To však není vše, text nápovědy je možné také dynamicky upravovat pomocí příkazu OBJECT SET HELP TIP. Kromě toho příkaz LISTBOX GET CELL POSITION nyní podporuje dva nové volitelné parametry (pozice x a y v pixelech) a vrací odpovídající čísla sloupce a řádku, což vám pomůže zobrazit tipy na sloupci, řádku nebo konkrétní buňce pole seznamu. Přečtěte si dokumentaci

Definování pořadí karet formuláře pomocí programování

Definujte pořadí zadávání objektů ve formuláři programováním, takže můžete řídit, na který další objekt formuláře se zaměří pozornost, když uživatel stiskne klávesu TAB. Dva nové příkazy – FORM SET ENTRY ORDER a FORM GET ENTRY ORDER – umožňují dynamicky nastavovat a získávat pořadí zadávání aktuálních objektů formuláře pro aktuální proces. Přečtěte si dokumentaci

Vylepšení uživatelského rozhraní související s protokolem IPv6

Uživatelské rozhraní bylo vylepšeno pro lepší uživatelský komfort uživatelů s konfigurací sítě IPv6. Přečtěte si dokumentaci

Export výsledků po „nalezení v návrhu“

Dialogové okno „find in design“ bylo posíleno o dvě nové funkce související s oknem výsledků. Bylo přidáno nové tlačítko umožňující přerušení probíhajícího vyhledávání. Dále je k dispozici nová možnost filtrování, takže můžete vybrat položky výsledků, které chcete zachovat, a odstranit všechny ostatní položky kromě tohoto výběru. Také výsledky operace „Najít v návrhu“ se zobrazují v hierarchickém seznamu. Výsledky hledání můžete nyní také exportovat do textového souboru, který lze později otevřít například v tabulkovém procesoru, což vám umožní výsledky snadno sdílet nebo ukládat. K tomu stačí vybrat novou položku Exportovat výsledky, která je k dispozici v nabídce akce „Najít v návrhu“. Přečtěte si dokumentaci

Customize list box selection highlight color

Nyní je možné mít podrobnou kontrolu nad barvou zvýraznění, a to pro každý jednotlivý řádek nebo dokonce buňku. Pro tuto záležitost byla do seznamu vlastností rámečku seznamu přidána nová volba: Hide selection highlight. Je-li tato volba zaškrtnuta, musí vývojář zviditelnit výběry v rámečku seznamu pomocí dostupných možností rozhraní. Poté může programováním definovat konkrétní barvu pozadí, barvy a/nebo styly písma a přizpůsobit tak vzhled vybraných řádků. To lze provést pomocí polí nebo výrazů v závislosti na typu zobrazovaného pole seznamu (výběry nebo pole). Přečtěte si dokumentaci

Tabbed windows in 4D Design mode on MacOS Sierra

On macOS Sierra, aplikace mají nyní možnost používat okna s kartami místo více oken. Verze 4D Developer Edition 64-bit nyní může tuto novou funkci společnosti Apple využívat v návrhovém prostředí díky nové možnosti Window tabbing, která je k dispozici v předvolbách 4D. Je-li nová předvolba aktivní, lze okna Editoru metod a Editoru formulářů spojit do jediného okna s oušky. Přečtěte si dokumentaci

Křížová tabulka v rychlém editoru sestav

64bitový editor Quick Report nyní kromě seznamových sestav podporuje i křížové tabulky, což koncovým uživatelům umožní ocenit bezproblémové uživatelské prostředí při návrhu sestav. Výběr režimu křížové tabulky umožňuje zobrazit sestavu jako Pivot tabulku. Všimněte si, že znovuotevření existující sestavy vytvořené pomocí 32bitových produktů 4D je stále možné. Přečtěte si dokumentaci

Nový vykreslovací engine pro webové oblasti

Pro lepší uživatelský zážitek i lepší podporu nových funkcí HTML aktualizuje 4D svou interní komponentu pro vložené objekty Web Area v 64bitovém 4D na Blink (používá ji také Google Chrome). Blink je nejaktuálnější a nejlépe udržovaný stávající vykreslovací engine. Přechod na framework Blink nevyžaduje žádnou změnu kódu vaší aplikace a nemá striktně žádný dopad na používání Web Area; všechny příkazy a události pro vložené Web Area fungují stejně jako dříve, s výjimkou několika předvoleb, které nejsou podporovány a jsou ignorovány. Pokud je zaškrtnuta volba Použít vložené vykreslovací jádro webu, 4D používá WebKit u 32bitových verzí a Blink u 64bitových verzí. Přečtěte si dokumentaci

R-release do hloubky