Re: program parameters

Maurice Lombardi <[email protected]> Thu, 19 Jan 2017 12:50:15 +0100
Newsgroups gmane.comp.compilers.gpc
Message-ID <[email protected]>
Le 16/01/2017 à 20:20, Paul Isaacs a écrit :
> Are program parameters tied in any way to command line parameters?--

No, *program* parameters are a misconception of the original ISO7185 
pascal standard, kept in the ISO1026 extended program standard.
They are a misconception because they are "implementation dependent" in 
both standards, which means they fool one main goal of pascal, portability.
Accessing  *command line* parameters is usually made through Borland 
Pascal extensions ParamCount and ParamStr, which are not contained in 
any standard ...
See, e.g. the following non conformant modification of BindingDemo.pas 
(contained in the gpc doc) which was originally ISO10216 conformant
-------------------------------------------------------------------
program BindingDemo (Input, Output, f);

var
    f: bindable Text;
    b: BindingType;

    procedure BindFile (var f: Text);
       var
          b: BindingType;
    begin
       Unbind (f);
       b := Binding (f);
       b.Name:=ParamStr(1);                 {... here it is ...}
       Bind (f, b);
       b := Binding (f);
       if not b.Bound then
          WriteLn ('File not bound -- try again.')
    end;

begin
    BindFile (f);
    { Now the file f is bound to an external file. We can use the
    implementation defined fields of BindingType to check if the
    file exists and is readable, writable or executable. }
    b := Binding (f);
    Write ('The file ');
    if b.Existing then
       WriteLn ('exists.')
    else
       WriteLn ('does not exist.');
    Write ('It is ');
    if not b.Readable then Write ('not ');
    Write ('readable, ');
    if not b.Writable then Write ('not ');
    Write ('writable and ');
    if not b.Executable then Write ('not ');
    WriteLn ('executable.')
end.
--------------------------------------------------------
Hope this helps

        Maurice Lombardi
Laboratoire Interdisciplinaire de Physique (LIPhy)
Universite Grenoble Alpes & CNRS - Pôle Phitem
Bat E - 140 rue de la physique
38400 Saint Martin d'Heres FRANCE

Fax: 33 (0)4 76 63 54 95
mailto:[email protected]

_______________________________________________
Gpc mailing list
[email protected]
https://www.g-n-u.de/mailman/listinfo/gpc