Saltar para o conteúdo principal
Versão: Próximo

TEXT TO DOCUMENT

TEXT TO DOCUMENT ( nomeArquivo ; texto {; conjCaracteres {; modoRetorno}} )

ParâmetroTipoDescrição
nomeArquivoTextNome do documento ou caminho de acesso ao documento
textoTextTexto a armazenar no documento
conjCaracteresText, IntegerNome ou número do conjunto de caracteres
modoRetornoIntegerModo de processamento para os retornos de linha

Descrição

O comando TEXT TO DOCUMENT le permite escrever o texto diretamente no arquivo de disco.

Em nomeArquivo, passe o nome ou caminho de acesso do arquivo a escrever. Se o arquivo não existe, é criado. Quando o arquivo já existe no disco, seu conteúdo anterior será excluído, exceto se já está aberto, em cujo caso, seu conteúdo se bloqueia e é gerado um erro. Em nomeArquivo, que pode passar:

  • Só o nome do arquivo, por exemplo "meuArquivo.txt": Neste caso, o arquivo se coloca junto ao arquivo de estrutura da aplicação.
  • Um caminho de acesso relativo ao arquivo de estrutura da aplicação, por exemplo, "\\docs\\meuArquivo.txt" em Windows ou ":docs:meuArquivo.txt" em OS X.
  • Um caminho de acesso absoluto, por exemplo, "c:\\app\\docs\\meuArquivo.txt" em Windows ou "MacHD:docs:meuArquivo.txt" em OS X.

Se deseja que o usuário seja capaz de indicar o nome ou a localização do documento, utilize os comandos Open document ou Create document , assim como a variável do sistema Document.

Nota: Por padrão, os documentos gerados por este comando não tem uma extensão. Deve passar uma extensão em nomeArquivo. Também pode utilizar o comando _o_SET DOCUMENT TYPE.

Em texto, passe o texto a escrever no disco. Pode ser uma constante literal ("meu texto"), ou um campo ou variável texto 4D.

Em conjCaracteres, passe o conjunto de caracteres a utilizar para a escritura do documento. Pode passar uma cadeia com o nome padrão do conjunto (por exemplo, "ISO-8859-1" ou "UTF-8") ou seu ID MIBEnum (inteiro longo). Para mais informação sobre a lista de conjuntos de caracteres suportados por 4D, consulte a descrição do comando CONVERT FROM TEXT. Se um Byte Order Mark (BOM) existe para o conjunto de caracteres, 4D o insere no documento. Se não se especifica um conjunto de caracteres, 4D utiliza por padrão o conjunto de caracteres "UTF_8 " e um BOM.

Em modoRetorno, pode passar um inteiro longo que indica o processo a aplicar aos caracteres de fim de linha antes de guardar eles no arquivo. Pode passar uma das seguintes constantes, localizadas no tema "Documentos Sistema":

ConstanteTipoValorComentário
Document unchangedInteiro longo0Sem processamento
Document with CRInteiro longo3As linhas de ruptura se convertem ao formato OS X: CR (retorno de carro)
Document with CRLFInteiro longo2As linhas de ruptura se convertem ao formato Windows: CRLF (return + salto de linha)
Document with LFInteiro longo4As linhas de ruptura se convertem ao formato Unix: LF (salto de linha)
Document with native formatInteiro longo1(Por padrão) as linhas de ruptura se convertem ao formato nativo do sistema operativo: CR (retorno de carro) em OS X, CRLF (retorno de carro + salto de linha) em Windows

Por padrão, se omitir o parâmetro modoRetorno, os caracteres de fim de linha se processam em modo nativo (1).

Nota de Compatibilidade: Opções de Compatibilidade estão disponíveis para gerenciamento EOL e BOM. Veja Página Compatibilidade.

Nota: Este comando não modifica a variável OK. Em caso de falha, é gerado um erro que pode interceptar utilizando um método instalado pelo comando ON ERR CALL.

Exemplo 1

Estes são alguns exemplos típicos de uso deste comando:

 TEXT TO DOCUMENT("myTest.txt";"Esta é uma prova")
 TEXT TO DOCUMENT("myTest.xml";"Esta é uma prova")

Exemplo 2

Exemplo que permite ao usuário indicar a localização do arquivo a criar:

 $MyTextVar:="Esta é uma prova"
 ON ERR CALL("IO ERROR HANDLER")
 $vhDocRef :=Create document("")
  // Guardar documento com a extensão ".txt"
  // Neste caso, a extensão .txt sempre se adiciona ao nome; não é possível mudar ela
 If(OK=1) // Se o documento foi criado com sucesso
    CLOSE DOCUMENT($vhDocRef) //Fechar o documento
    TEXT TO DOCUMENT(Document;$MyTextVar )
  // Escrevemos o documento
 Else
  // Gestão de erro
 End if

Ver também

Document to text
Documentos Sistema