Ir diretamente para o conteúdo principal

Escrever

Grava num ficheiro de texto.

Estrutura

Write( [var F: Text; ] P1 [ , P2,..., Pn] );

Parâmetros

Descrição

A função Write grava um ou mais valores num ficheiro de texto. F, se especificada, é uma variável de ficheiro de texto. Se F for omitido, assume-se a variável de ficheiro padrão Output. Cada P é um parâmetro de gravação. Cada parâmetro de gravação inclui uma expressão de saída cujo valor deve ser gravado no ficheiro. Um parâmetro de escrita também pode conter as especificações relativas à largura do campo e ao número de casas decimais. Cada expressão de saída deve ser do tipo Char, de um dos tipos inteiros (Byte, Shortint, Word, Longint, Cardinal), de um dos tipos de ponto flutuante (Single, Real, Double, Extended, Currency), de um dos tipos de cadeia de caracteres (PChar, AnsiString, ShortString), uma cadeia compactada ou de um dos tipos booleanos (Boolean, Bool).

Um parâmetro de escrita tem o seguinte formato

OutExpr [: MinWidth [: DecPlaces ] ]

onde OutExpr é uma expressão de saída. MinWidth e DecPlaces são expressões do tipo inteiro.

MinWidth especifica a largura mínima do campo, que deve ser superior a 0. São escritos exatamente MinWidth caracteres (com espaços à esquerda, se necessário), exceto quando OutExpr tem um valor que deve ser representado por mais de MinWidth caracteres. Nesse caso, são escritos caracteres suficientes para representar o valor de OutExpr. Da mesma forma, se MinWidth for omitido, será escrito o número necessário de caracteres para representar o valor de OutExpr.

DecPlaces especifica o número de casas decimais numa representação de ponto fixo de um dos tipos Real. Só pode ser especificado se OutExpr for um dos tipos Real e se MinWidth também for especificado. Quando MinWidth é especificado, deve ser maior ou igual a 0.

Escrever com um valor do tipo caractere:

Se MinWidth for omitido, o valor do caractere de OutExpr é gravado no ficheiro. Caso contrário, é gravado «MinWidth - 1» espaços em branco, seguidos do valor do caractere de OutExpr.

Escreva um dos valores do tipo inteiro:

Se MinWidth for omitido, a representação decimal de OutExpr é gravada no ficheiro sem espaços à esquerda. Se MinWidth for especificado e o seu valor for superior ao comprimento da cadeia decimal, serão inseridos espaços em branco suficientes antes da cadeia decimal para que a largura do campo seja igual a MinWidth.

Escreva um dos valores reais do tipo:

Se OutExpr tiver um dos valores do tipo real, a sua representação decimal é gravada no ficheiro. O formato da representação depende da presença ou ausência de DecPlaces.

Se DecPlaces for omitido (ou se estiver presente, mas tiver um valor negativo), é gravada uma cadeia de caracteres decimal de ponto flutuante. Se MinWidth também for omitido, assume-se um valor padrão de 17 para MinWidth; caso contrário, se MinWidth for inferior a 8, assume-se que é igual a 8. O formato da cadeia de caracteres de ponto flutuante é

[ | - ] <digit>. <decimais> E [ + | - ] <expoente>

A tabela seguinte apresenta os componentes da cadeia de caracteres de saída.

Componente Significado

[ | - ] ' ' ou '-', consoante o sinal de OutExpr

<dígito> Um único dígito; «0» apenas se OutExpr for 0

<decimais> Sequência de dígitos com MinWidth-7 (mas no máximo 10) dígitos

Caractere E maiúsculo [E]

[ + | - ] De acordo com o sinal do expoente

<exponente> Exponente decimal de dois dígitos

Se DecPlaces estiver presente, é gravada uma cadeia de caracteres decimal de ponto fixo. Se DecPlaces for maior que 11, considera-se que é igual a 11. O formato da cadeia de caracteres de ponto fixo é o seguinte:

[ <espaços> ] [ - ] <dígitos> [ . <decimais>]

A tabela seguinte apresenta os componentes da cadeia de caracteres de ponto fixo.

Componente Significado

[ <espaços em branco> ] Espaços em branco para satisfazer MinWidth

[ - ] Se OutExpr for negativo

<dígitos> Pelo menos um dígito, mas sem zeros à esquerda

[ . <decimais> ] Decimais se DecPlaces > 0

Escreva um dos valores do tipo string:

Se MinWidth for omitido, o valor da cadeia de caracteres de OutExpr é gravado no ficheiro sem espaços à esquerda. Se MinWidth for especificado e o seu valor for superior ao comprimento de OutExpr, serão inseridos espaços em branco suficientes antes da cadeia decimal para que a largura do campo seja igual a MinWidth.

Escrever com um valor do tipo string compactada:

Se OutExpr for do tipo string compactada, o efeito é o mesmo que escrever uma string cujo comprimento corresponde ao número de elementos do tipo string compactada.

Escreva um dos valores do tipo booleano:

Se OutExpr for do tipo booleano, o efeito é o mesmo que escrever as cadeias de caracteres True ou False, dependendo do valor de OutExpr.

Nota

Ao utilizar a função Write, o ficheiro deve estar aberto para gravação. |