4D již poskytuje příkazy pro práci se soubory a složkami, ale co nové příkazy, které využívají sílu objektového zápisu?
Objekty změnily způsob, jakým mnozí vývojáři 4D píší kód, protože jej učinily obecnějším, flexibilnějším, jednodušším a rychlejším. Nyní se tato vlna změn rozšířila i na soubory a složky. V tomto příspěvku na blogu vám ukážeme, jak snadno lze manipulovat s objektem za účelem získání atributů souboru nebo složky (namísto volání několika příkazů a ukládání informací do několika proměnných). Věci se stávají mnohem jednoduššími!
Manipulace se složkami
Nové příkazy 4D
A new Folder byl přidán příkaz, který umožňuje vytvořit objekt složky z konstanty, cesty POSIX nebo cesty platformy.
myFolder:=Folder(fk desktop folder)
myFolder :=Folder("/RESOURCES/Images")
myFolder :=Folder("c:\\Archives\\";Platform path)
Nový objekt složky
Objekt složky poskytuje vlastnosti a metody, abyste mohli vytvářet složky a manipulovat s nimi.
Zde je několik příkladů vlastností složky:
// Name
$name:=myFolder.name
// Modification date
$date :=myFolder.modificationDate
// Modification time
$time:=myFolder.modificationTime
A k dispozici jsou také metody! Můžete create(), moveTo(), rename(), delete(), , atd.
// Move to
myMoveTo:=myFolder.moveTo(destinationFolder)
// Rename
myRename :=myFolder.rename("NewName")
// Delete
myFolder .delete(Delete with contents)
// List of files in myFolder
colFiles:=myFolder.files()
Objekty složek obsahují odkazy na složky, které již mohou, ale nemusí na disku existovat. Například při spuštění příkazu Folder metodu pro vytvoření nové složky, vytvoří se platný objekt složky, ale na disku není ve skutečnosti nic uloženo, dokud nezavoláte metodu create() metodu.
newFolder=Folder(fk documents folder).folder("Archives/2019")
$result :=newFolder.exists // return False
newFolder :=newFolder.create()
$result :=newFolder.exists // return True
Manipulace se soubory
Nové příkazy 4D
Přidali jsme také File příkaz pro vytvoření objektu souboru z konstanty, cesty POSIX nebo cesty platformy.
myFile:=File(User settings file)
myFile :=File("/RESOURCES/Images/picture.png")
myFile :=File(Structure file;fk platform path)
Nový objekt souboru
Stejně jako u složek umožňuje nový objekt souboru přistupovat k atributům souborů a manipulovat s nimi.
// Name
$name:=myFile.name
// Extension
$extension :=myFile.extension
// Creation date
$date:=myFile.creationDate
// Creation time
$time:=myFile.creationTime
Stejně jako složky mají i soubory své metody. Do souboru můžete zapisovat a číst jeho obsah, přesouvat ho, mazat,atd.
// Create a file with
myFile.setText($text)
// Retrieve the content of the file
$text :=myFile.getText()
// Delete
myFile .delete()
Úplný seznam atributů a metod najdete v dokumentačním centru.