Todos os documentos e aplicações que utiliza em seu computador estão armazenados como arquivos nos discos duros conectados ou montados em seu computador, ou em discos externos ou outros dispositivos de armazenamento. Em 4D, utilizamos os termos arquivo ou documento para referirmos a estes documentos e aplicações. Entretanto, a maioria dos comandos neste tema utilizam o termo "documento" porque geralmente os utilizará para acessar aos documentos (ao invés da aplicação ou arquivos sistema) em disco.
Um disco rígido pode ser formatado com uma ou várias partições, cada uma delas chamada um volume. Não importa se dois volumes estão fisicamente presentes no mesmo disco duro; ao nível de 4D, geralmente estes volumes são considerados entidades separadas e equivalentes.
Um volume pode estar localizado em um disco rígido conectado fisicamente a seu ordenador ou montado em uma rede através de um protocolo de distribuição de arquivos tal como TCP/IP, AFP ou SMB (Macintosh). Qualquer que seja o caso, a nível de 4D, estes volumes são considerados do mesmo modo quando utiliza os comandos do tema Documentos do sistema (a menos que decida de outro modo e utilize plug-ins para estender as capacidades de sua aplicação neste domínio).
Cada volume tem um nome de volume. Em Windows, os volumes estão designados por uma letra seguida por dois pontos. Geralmente C: e D: são utilizados para designar os volumes que você utiliza para lançar seu sistema (a menos que você configure seu PC de outra forma). Depois as letras da E: a a Z: são utilizadas para volumes adicionais conectados ou montados em seu PC (leitores DVD, outros leitores, leitores de rede, etc.). Em Macintosh, os volumes têm nomes comuns; estes são os nomes que você vê no escritório ao nível do Finder.
Geralmente, você classifica seus documentos em pastas, que podem conter outras pastas. Não é boa idéia acumular centenas ou milhares de arquivos no mesmo nível de um volume; é desordenado e faz com que seu sistema fique lento. Em Windows, uma pasta é (ou era) chamada um diretório. As pastas sempre foram chamadas desta maneira em Macintosh.
Para identificar um documento de maneira única, necessita saber o nome do volume e os nomes das pastas onde o documento está localizado assim como o nome do documento mesmo. Se concatenar todos estes nomes, você obtém a rota de acesso ao documento. No nome desta via, os nomes das pastas estão separados por um caractere especial chamado separador de pasta. Em Windows, este caractere é a barra oblíqua invertida (\); em Macintosh são os dois pontos (:). na sintaxe POSIX é a barra (/).
Vejamos um exemplo. Você tem um documento Importante Memo localizado na pasta Memos, que está na pasta Documentos, que está na pasta Trabalho atual.
Em Windows, se tudo estiver localizado no drive C: drive (volume), a rota de acesso ao documento é:
C:\Trabalhoatual\Documentos\Memos\Importante Memo.TXT
Nota: igualmente o caractere \ é utilizado pelo editor de métodos de 4D para designar as sequências de escape. Para evitar todo problema de interpretação, o editor transforma automaticamente as rotas de acesso do tipo C:\Disk em C:\\Disk. Para maior informação, consulte Inserir rotas de acesso em Windows e sequências de escape.
Em Macintosh, se todo o conjunto estiver localizado no disco (volume) Internal Drive, a rota de acesso do documento é:
Internal Drive:Current Work:Documentos:Memos:Importante Memo
Em Windows, o nome do documento tem o sufixo .TXT; veremos o porque na seguinte seção.
Sem importar a plataforma, a rota completa de um documento pode ser expressa desta maneira:
VolName DirSep { DirName DirSep { DirName DirSep { ... } } } DocName
Todos os documentos (arquivos) localizados nos volumes têm várias características, chamadas geralmente atributos ou propriedades: por exemplo o nome do documento.
Um documento está aberto em modo leitura/escrita, aberto em modo apenas leitura ou fechado. Utilizando os comandos integrados de 4D, um documento pode ser aberto em modo leitura/escrita por apenas um processo por vez. Um processo pode abrir vários documentos, vários processos podem abrir múltiplos documentos, você pode abrir o mesmo documento em modo apenas leitura tantas vezes quantas seja necessário, mas não pode abrir duas vezes simultaneamente o mesmo documento em modo leitura/escrita.
Você abre um documento com os comandos Open document, Create document e Append document. Os comandos Create document e Append document automaticamente abrem os documentos em modo leitura/escrita. Apenas o comando Open document lhe permite escolher o modo de abertura. Quando um documento for aberto em leitura/escrita, você pode ler e escrever caracteres no documento (ver os comandos RECEIVE PACKET e SEND PACKET). Quando termina com um documento, geralmente é fechado com o comando CLOSE DOCUMENT.
Todos os documentos abertos são referidos utilizando a expressão DocRef retornada pelos comandos Open document, Create document e Append document . DocRef identifica de maneira única um documento aberto. É uma expressão de tipo Hora. Todos os comandos que funcionam com documentos abertos esperam DocRef como parâmetro. Se passar um DocRef incorreto a um destes comandos, um erro do administrador de arquivos é gerado.
Nota: quando se chama desde um processo preemptivo, uma referëncia DocRef só pode ser utilizada a partir deste processo preemptivo. Cuando for chamada desde um proceso cooperativo, uma referência DocRef pode ser utilizada desde qualquer outro processo cooperativo.
Quando acessa a documentos (abrir, fechar, apagar, mudar o nome, copiar), quando modificar as propriedades de um documento ou quando ler e escrever caracteres em um documento, E/S podem ocorrer erros. Um documento pode não ser encontrado; pode estar bloqueado; pode já estar aberto em modo escrita. Pode reparar estes erros com um método de gestão de erros instalado pelo comando ON ERR CALL.. A maioria dos erros que podem ocorrer enquanto são utilizados documentos do sistema são descritos na seção Erros do Administrador de Arquivos do Sistema Operacional (-124 -> -33)
Os comandos Open document, Create document, Append document e Select document permitem acessar a um documento utilizando as caixas de diálogo padrão de abrir ou fechar arquivos. Quando acessar a um documento através de um diálogo padrão, 4D retorna a rota completa do documento na variável sistema Document. Esta variável sistema tem que ser diferenciada do parâmetro document que aparece na lista de parâmetros dos comandos.
O editor de métodos de 4D permite utilizar sequências de escape. Uma sequência de escape é um conjunto de caracteres que são utilizados para substituir um caractere “especial”. A sequência começa com o caractere barra oblíqua invertida \, seguido por um caracter. Por exemplo, \t é a sequência de escape para o caractere Tab.
O caractere \ também se utiliza como separador de rotas de acesso em Windows. Geralmente, 4D interpretará corretamente as rotas de acesso Windows que são introduzidas no editor de métodos substituindo automaticamente as barras simples \ com barras duplas \\. Por exemplo, C:\Pasta será convertido em C:\\Pasta.
Entretanto, se escrever C:\MeusDocumentos\Novo, 4D mostrará C:\\MeusDocumentos\Novo. Neste caso, o segundo \ é interpretado de maneira incorreta como \N (uma sequência de escape existente). Portanto deve introduzir uma barra dupla \\ quando queira inserir uma barra oblíqua invertida na frente de um caractere que é utilizado em uma das sequências de escape reconhecida por 4D.
As seguintes são as sequências de escape reconhecidas por 4D:
Sequência de escape | Caractere substituído |
\n | LF (New line) |
\t | HT (Horizontal tab) |
\r | CR (Carriage return) |
\\ | \ (Backslash) |
\" | " (Quotes) |
A maioria dos comandos 4D de gestão de documentos e pastas aceitam as vias de acesso relativas ou absolutas:
- As vias de acesso relativas definem uma localização com respeito a uma pasta presente no disco. Em 4D, as vias de acesso relativas se expressam geralmente respeito a pasta da base, ou seja a pasta que contém o arquivo de estrutura. As vias de acesso relativas são particularmente úteis para o deslocamento de aplicações em entorno heterogêneos.
- As vias de acesso absolutas definem uma localização a partir da raíz de um volume e não dependem da posição atual da pasta da base.
Para determinar se uma via de acesso passada a um comando deve ser interpretada como absoluta ou relativa, 4D aplica um algoritmo específico para cada plataforma.
Se o parâmetro contém unicamente os caracteres y se o segundo é um ':',
ou se o texto contém ':' y '\' como segundo e terceiro caractere,
ou se o texto começa por "\\",
depois a via de acesso é absoluta.
Em todos os demais casos, a via é relativa.
Exemplos com o comando CREATE FOLDER:
CREATE FOLDER("segunda")
CREATE FOLDER("\segunda")
CREATE FOLDER("\segunda\terça")
CREATE FOLDER("c:")
CREATE FOLDER("d:\segunda")
CREATE FOLDER("\\srv-Internal\temp")
Se o texto começa com um separador de pasta':',
ou se não contém nenhum,
depois a via de acesso é relativa.
Em todos os outros casos, a via é absoluta.
Exemplos com o comando CREATE FOLDER:
CREATE FOLDER("segunda")
CREATE FOLDER("macintosh hd:")
CREATE FOLDER("segunda:terça")
CREATE FOLDER(":segunda:terça")
You can handle pathname contents using the Path to object and Object to path commands. In particular, using these commands, you can extract from a pathname:
- a file name,
- the parent folder path,
- the file or folder extension.