Notação de objectos para tratar ficheiros e pastas

Tradução automática de Deepl

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!

Exemplo de base de dados

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

Vanessa Talbot
• Proprietário do produto - Vanessa Talbot entrou ao time 4D Program em Junho de 2014 como Proprietária do Produto e está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Desde sua chegada, trabalhou na definição de funcionalidades chaves em 4D. Trabalhou na maioria das novas funcionalidades multithread preemptivo e também em um tema muito complexo: a nova arquitetura para a aplicação engined. Vanessa é formada pela Telecom Saint-Etienne. Começou sua carreira no Instituto de Investigação Criminal como desenvolvedora do departamento audiovisual. Também trabalhou em meios de comunicação e no âmbito médico como especialista em assistência técnica, produção e documentação de novas funcionalidades.