program Pat3;

uses
  Pat2;

var
  s : string(100);

{ This procedure defined here, will work correctly }
procedure ident1(This_String : string);
begin
  write ( This_String [ 1 ] );
(*$if 0 *)
  Writeln('Capacity ',This_String.Capacity);
  Writeln('Length   ',Length(This_String));
  Writeln('Contains ',This_String);
(*$endif *)
end;

{ The procedure Identify, is defined in the unit ident, exactly as above
  (except, of course for the name).  The external procedure used to fail
}
begin
  s := 'OK';
  ident1(s);
  Identify('OK');
  writeln;
end.
