4D já fornece comandos para tratar ficheiros e pastas, mas e os novos comandos que tiram partido do poder da notação de objectos?
Os objectos mudaram a forma como muitos criadores 4D escrevem código, tornando-o mais genérico, flexível, mais fácil e mais rápido. Agora esta onda de mudança é alargada a ficheiros e pastas. Neste post do blog, vamos mostrar-lhe como é fácil manipular um objecto para recuperar os atributos de um ficheiro ou pasta (em vez de chamar vários comandos e armazenar a informação em múltiplas variáveis). As coisas estão a tornar-se muito mais fáceis!
Manuseamento de pastas
Novos comandos 4D
Um novo Folder foi adicionado um comando que lhe permite criar um objecto de pasta a partir de uma constante, de um caminho POSIX, ou de um caminho de plataforma.
myFolder:=Folder(fk desktop folder)
myFolder :=Folder("/RESOURCES/Images")
myFolder :=Folder("c:\\Arquivos";Platform path)
Novo objecto Folder
O objecto da pasta fornece propriedades e métodos para que possa criar e manipular pastas.
Aqui ficam alguns exemplos de propriedades de pastas:
// Name
$name:=myFolder.name
// Modification date
$date :=myFolder.modificationDate
// Modification time
$time:=myFolder.modificationTime
E há métodos disponíveis, também! Pode create(), moveTo(), rename(), delete()etc.
// 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()
Os objectos da pasta contêm referências a pastas que podem já existir ou não no disco. Por exemplo, quando se executa a Folder para criar uma nova pasta, é criado um objecto de pasta válido, mas nada é realmente armazenado no disco até que se chame o create() método.
newFolder=Folder(fk documents folder).folder("Arquivos/2019")
$result :=newFolder.exists // return False
newFolder :=newFolder.create()
$result :=newFolder.// return True
Manuseamento de ficheiros
Novos comandos 4D
Acrescentámos também um File para criar um objecto de ficheiro a partir de uma constante, de um caminho POSIX, ou de um caminho de plataforma.
myFile:=File(User settings file)
myFile :=File("/RESOURCES/Images/picture.png")
myFile :=File(Structure file;fk platform path)
Novo objecto de ficheiro
Tal como nas pastas, o novo objecto de ficheiro permite-lhe aceder aos atributos do ficheiro e manipular ficheiros.
// Name
$name:=myFile.name
// Extension
$extension :=myFile.extension
// Creation date
$date:=myFile.creationDate
// Creation time
$time:=myFile.creationTime
Tal como as pastas, os ficheiros também têm métodos. Pode-se escrever e ler o conteúdo de um ficheiro, movê-lo, apagá-lo, e assim por diante.
// Create a file with
myFile.setText($text)
// Retrieve the content of the file
$text :=myFile.getText()
// Delete
myFile .apagar()
Para obter a lista completa de atributos e métodos, consulte o centro doc