Saltar para o conteúdo principal
Versão: 20 R10

Folder

Os objetos Folder são criados com o comando Folder. Contêm referências a pastas que podem ou não existir efectivamente no disco. Por exemplo, quando executa o comando ’Folderpara criar uma pasta, é criado um objeto válidoFolder mas nada é realmente armazenado no disco até chamar a função [folder.create()\`](#create).

Exemplo

O exemplo seguinte cria uma pasta "JohnSmith":

Form.curfolder:=Folder(fk database folder)
Form.curfolder:=Folder("C:\\Users\\JohnSmith\\";fk platform path)

Pathnames

Os objetos Folder suportam vários pathnames, incluindo a sintaxe filesystems ou posix. Os nomes de caminho compatíveis são detalhados na página Rotas de acesso.

Objecto Folder





























4D. Folder.new()

História
ReleaseMudanças
18 R6Adicionado

4D.Folder.new ( path : Text { ; pathType : Integer }{ ; * } ) : 4D.Folder
4D.Folder.new ( folderConstant : Integer { ; * } ) : 4D.Folder

Descrição

A função 4D.Folder.new() cria e retorna um novo objeto do tipo 4D.Folder. É idêntico ao comando Folder (atalho).

Recomenda-se usar o comando de atalho Folder em vez de 4D.Folder.new().

.create()

História
ReleaseMudanças
17 R5Adicionado

.create()* : Boolean

ParâmetroTipoDescrição
ResultadosParâmetros<-True se a pasta foi criada com sucesso, false caso contrário

Descrição

A função .create() cria uma pasta no disco de acordo com as propriedades do objeto Folder.

Se necessário, a função cria a hierarquia de pastas conforme descrito nas propriedades platformPath ou path. Se a pasta já existir no disco, a função não faz nada (não é atirado nenhum erro) e retorna falso.

Valor retornado

  • True se a pasta for criada com sucesso;
  • False se já existir uma pasta com o mesmo nome ou se tiver ocorrido um erro.

Exemplo 1

Criar uma pasta vazia na pasta da base de dados:

var $created : Boolean
$created:=Folder("/PACKAGE/SpecialPrefs").create()

Exemplo 2

Criação da pasta "/Arquivos2019/Janeiro/" na pasta da base de dados:

$newFolder:=Folder("/PACKAGE/Archives2019/January")
If($newFolder.create())
ALERT("The "+$newFolder.name+" folder was created.")
Else
ALERT("Impossible to create a "+$newFolder.name+" folder.")
End if

.createAlias()

História
ReleaseMudanças
17 R5Adicionado

.createAlias*( destinationFolder : 4D.Folder ; aliasName : Text { ; aliasType : Integer } ) : 4D.File

ParâmetroTipoDescrição
destinationFolder4D. Folder->Pasta de destino para o pseudónimo ou atalho
aliasNameText->Nome do pseudónimo ou atalho
aliasTypeInteger->Tipo de ligação do pseudónimo
Resultados4D. File<-Alias ou referência de atalho

Descrição

A função .createAlias() cria um alias (macOS) ou um atalho (Windows) para a pasta com o nome aliasName especificado na pasta designada pelo objeto destinationFolder.

Passar o nome do alias ou atalho para criar no parâmetro aliasName.

Por padrão em macOS, a função cria um pseudónimo padrão. Também pode criar uma ligação simbólica utilizando o parâmetro aliasType. Estão disponíveis as seguintes constantes:

ParâmetrosValorComentário
fk alias link0Alias link (padrão)
fk symbolic link1Link simbólico (só em macOS)

No Windows, é sempre criado um atalho (arquivo.lnk) (o parâmetro aliasType é ignorado).

Objeto devolvido

Um objeto 4D.File com a propriedade isAlias definida como true.

Exemplo

Deseja criar um pseudónimo para uma pasta de arquivo na sua pasta de base de dados:

$myFolder:=Folder("C:\\Documents\\Archives\\2019\\January";fk platform path)
$aliasFile:=$myFolder.createAlias(Folder("/PACKAGE");"Jan2019")

.delete()

História
ReleaseMudanças
17 R5Adicionado

.delete*( { option : Integer } )

ParâmetroTipoDescrição
optionInteger->Opção de eliminação de pasta

Descrição

A função .delete() exclui a pasta.

Por padrão, por razões de segurança, se omitir o parâmetro de opção, .delete( ) só permite a eliminação de pastas vazias. Se quiser que o comando possa apagar pastas que não estejam vazias, deve utilizar o parâmetro de opção com uma das seguintes constantes:

ParâmetrosValorComentário
Delete only if empty0Elimina a pasta apenas quando está vazia
Delete with contents1Apaga a pasta juntamente com tudo o que a mesma contém

Quando Delete only if empty for passado ou se você omitir o parâmetro de opção:

  • A pasta só é apagada se estiver vazia; caso contrário, o comando não faz nada e é gerado um erro -47.
  • Se a pasta não existir, o erro -120 é gerado.

Quando Delete with contents é passado:

  • A pasta, juntamente com todo o seu conteúdo, é apagada. Aviso: mesmo quando esta pasta e/ou o seu conteúdo estiver bloqueado ou definido para apenas leitura, se o usuário atual tiver direitos de acesso adequados, a pasta (e conteúdo) continua a ser eliminada.
  • Se esta pasta, ou qualquer dos arquivos que conter, não puder ser apagada, a eliminação é abortada assim que o primeiro elemento inacessível for detectado, e um erro(*) é devolvido. Neste caso, a pasta pode ser apenas parcialmente apagada. Quando a eliminação é abortada, pode utilizar o comando Last errors` para recuperar o nome e o caminho do ficheiro ofensivo.
  • Se a pasta não existir, o comando não faz nada e nenhum erro é devolvido. (*) Windows: -54 (Attempt to open locked file for writing) macOS: -45 (The file is locked or the pathname is not correct)

.moveTo()

História
ReleaseMudanças
17 R5Adicionado

.moveTo*( destinationFolder : 4D.Folder { ; newName : Text } ) : 4D.Folder

ParâmetroTipoDescrição
destinationFolder4D. Folder->Pasta de destino
newNameText->Nome completo para a pasta movida
Resultados4D. Folder<-Pasta movida

Descrição

A função .moveTo( ) move ou renomeia o objeto Folder (pasta de origem) para a destinationFolder especificada.

A destinationFolder deve existir em disco, senão um erro é gerado.

Por padrão, a pasta mantém o seu nome quando movida. Por padrão, a pasta mantém o seu nome quando movida. O novo nome deve cumprir com as regras de nomenclatura (por exemplo, não deve conter caracteres como ":", "/", etc.), do contrário se devolve um erro.

Objeto devolvido

O objeto Folder movido.

Exemplo

Quer mover-se e renomear uma pasta:

 var $tomove; $moved : Object
$docs:=Folder(fk documents folder)
$tomove:=$docs.folder("Pictures")
$tomove2:=$tomove.moveTo($docs.folder("Archives");"Pic_Archives")

.rename()

História
ReleaseMudanças
17 R5Adicionado

.rename*( newName : Text ) : 4D.Folder

ParâmetroTipoDescrição
newNameText->Novo nome completo para a pasta
Resultados4D. Folder<-Renomeado arquivo

Descrição

A função .rename() renomeia a pasta com o nome que você passou em newName e retorna o objeto Folder renomeado.

O parâmetro newName deve estar em conformidade com as regras de nome (por exemplo, ele não deve conter caracteres como ":", "/", etc.), caso contrário um erro é retornado. Se já existir um ficheiro com o mesmo nome, é devolvido um erro.

Objeto devolvido

O objeto Folder renomeado.

Exemplo

 var $toRename : 4D. Folder
$toRename:=Folder("/RESOURCES/Pictures").rename("Images")