[Back to CMDLINE SWAG index] [Back to Main SWAG index] [Original]

    {
     In TP there is, of course, ParamCount and ParamStr.

     The actual command line can be found in the PSP segment, at offset
     $80 (hexadecimal).  The Byte at $80 contains the count of Characters,
     including the leading delimiter Character (usually a space).

     In TP the PSP segment may be accessed using PrefixSeg.  Note that TP
     omits the carriage-return that normally appends the input Character
     line.  This is a problem For Programs that look For it as the end of
     the String.

     If you're using a non-TP compiler, you'll need to get the PSP segment
     value via a Dos Function $62 call.

     Here's a simple TP Program to illustrate.  Compile it, then invoke
     it With some command-line input...
    }
    (*********************************************************************)
    Program CommandLine;    { CL.PAS }
    Var
      CharCount, i : Word;
    begin
      CharCount := Mem[PrefixSeg:$80];  { number of input Characters }
      WriteLn('Input Characters: ', CharCount );
      For i := 1 to CharCount DO
        Write( CHR( Mem[PrefixSeg:$80+i] ));
      WriteLn;
    end.
    (*********************************************************************)

[Back to CMDLINE SWAG index] [Back to Main SWAG index] [Original]