Node:Extend, Next:Extended, Previous:exports, Up:Reference

### Extend

(Under construction.)

#### Synopsis

    procedure Extend (var F: any_file; [FileName: String;]
                                        [BlockSize: Cardinal]);

#### Description

`Extend` opens a file for writing. If the file does not exist, it is created. If it does exist, the file pointer is positioned after the last element.

Like `Rewrite`, `Reset` and `Append` do, `Extend` accepts an optional second and third parameter for the name of the file in the filesystem and, for untyped files, the block size of the file. (For details, see Rewrite.)

#### Conforming to

`Extend` is an ISO 10206 Extended extension. Borland Pascal has Append instead. The `BlockSize` parameter is a Borland Pascal extension. The `FileName` parameter is a GNU Pascal extension.

#### Example

    program ExtendDemo;
    var
      Sample: Text;
    begin
      Assign (Sample, 'sample.txt');
      Rewrite (Sample);
      WriteLn (Sample, 'Hello, World!');  { `sample.txt' now has one line }
      Close (Sample);

      { ... }

      Extend (Sample);
      WriteLn (Sample, 'Hello again!');  { `sample.txt' now has two lines }
      Close (Sample)
    end.

#### See also

Assign, Reset, Rewrite, Update, Append.