Node: uses, Next: Val, Previous: Update, Up: Reference

### uses

#### Synopsis

In a program:

         program @@fragment foo;

         uses
           bar1,
           bar2 in 'baz.pas',
           bar3;

         [...]

In a unit:

         unit @@fragment Bar3;

         interface

         uses
           bar1,
           bar2 in 'baz.pas';

         [...]

         implementation

         uses
           bar3,
           bar4 in 'qux.pas';

         [...]

#### Description

The reserved word `uses` in the import part of a program or unit makes the program or unit import an interface.

The keyword `in` tells GPC to look for the `unit` in the specified file; otherwise the file name is derived from the name of the interface, coverted to lower-case, by adding first `.p`, then `.pas`.

There must be at most one import part in a program.

In a unit, there can be one import part in the interface part and one in the implementation part.

The imported interface needn't be a UCSD/Borland Pascal unit, it may be an interface exported by an Extended Pascal module as well.

#### Conforming to

ISO Pascal does not define `uses` and units at all. UCSD and Borland Pascal do, but without the `in` extension. Delphi supports `uses` like described above.

#### Example

#### See also

Keywords, unit, module, import.