4D usnadňuje život vývojářům dvěma novými příkazy pro snadnou správu cest k souborům nebo složkám. Ušetřete drahocenný čas pomocí Path to object příkazem, který v jediném řádku kódu extrahuje příponu, název souboru nebo nadřazenou složku. Poté můžete upravit a znovu zkombinovat různé atributy objektů a sestavit novou cestu s pomocí Object to path.
Výpis prvků cesty
Pomocí stránky Path to object, můžete snadno rozdělit cesty na několik částí, které se vracejí jako atributy objektu:
- Nadřazená složka
- Název
- Přípona
- Je složka nebo ne
// Rozdělte cestu zapsanou systémovým oddělovačem
$pathSys:=Cesta kobjektu("C:\\4D\\resources\\images\\4D.jpg")
//$pathSys.parentFolder="C:\\4D\\resources\\images\"
//$pathSys.name="4D"
//$pathSys.extension=".jpg"
//$pathSys.isFolder=False
Všimněte si, že příkaz podporuje systémové cesty i cesty POSIX. Na základě posledního znaku vstupního parametru cesty také dokáže určit, zda jste předali složku nebo soubor.
Sestavení cesty
Nyní máte k dispozici jednoduchý způsob, jak upravit prvky cesty a znovu ji sestavit pomocí funkce Object to path příkazem. Snadno!
// Duplikujte dokument do jeho vlastní složky:
(
$path:="c:\\tmp\\file.txt"
$o:=Cesta kobjektu($path)
// Přejmenujte dokument
$o.name:=$o.name+"_copy"
// Vytvořte kopii dokumentu
COPY DOCUMENT($path;objekt k cestě$o))
Vrácený objekt můžete také použít v libovolném příkazu 4D požadujícím cestu:
$o:=Cesta kobjektu("C:\\4D\\zdroje\\\obrázky\\4D.jpg")
$doc:=Vybertedokument($o.název+$o.přípona;$o.přípona; "Uložit jako";položka Název souboru)
Příkazy Path to object a Object to path by nyní měly nahradit volání zastaralých příkazů _o_Document type a _o_SET DOCUMENT TYPE.
Zlepšení výkonu
Vždy je dobré zmínit, že 4D v16 R6 plně využívá moderní systémové API v systému macOS pro manipulaci se soubory a složkami. Provedli jsme srovnávací testy provádějící různé operace, jako je výpis obsahu složek, kontrola vlastností souborů, čtení nebo kopírování malých souborů, na složkách s tisíci soubory.
Výsledky ukazují, že doba provádění je obecně 6krát rychlejší a při výpisu souborů přítomných v daném umístění až 30krát rychlejší.