home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 01 / tricks / param.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-12-06  |  2.1 KB  |  62 lines

  1. (* ------------------------------------------------------ *)
  2. (*                      PARAM.PAS                         *)
  3. (*  Universelle "ParamStr"- und "ParamCount"-Funktionen   *)
  4. (*                 Turbo Pascal ab 4.0                    *)
  5. (*       (c) 1990 Peter F. L. Burger & TOOLBOX            *)
  6. (* ------------------------------------------------------ *)
  7. USES Dos, Crt;
  8.  
  9. { Die Variablen als typisierte Konstanten deklarieren, }
  10. { damit sie gleich mit einem definierten Wert }
  11. { initialisiert werden }
  12.  
  13. TYPE
  14.   Str127    = STRING[127];  { maximale Länge: 127 Zeichen! }
  15. CONST
  16.   Work_Str  : ^Str127 = NIL;   { Zeiger auf Arbeitsbereich }
  17.   idx       : WORD    =   0;                 { Indexzähler }
  18. VAR
  19.   File_Var  : TEXT;
  20.  
  21. BEGIN
  22.         { Arbeitsstring auf den Übergabebereich einstellen }
  23.   Work_Str := Ptr(PrefixSeg, $0080);
  24.                   { Arbeitsstring wird ein Text zugewiesen }
  25.   Work_Str^ := 'Dies ist ein Text mit sieben Wörtern';
  26.   WriteLn('Dem Arbeitsstring wurde folgender ' +
  27.           'Text zugewiesen:');
  28.   WriteLn('»', Work_Str^, '«');
  29.   FOR idx := 1 TO ParamCount DO
  30.     WriteLn('Wort ', idx:3, ': »', ParamStr(idx), '«' );
  31.   WriteLn;
  32.   WriteLn('Nun können Sie über die Konsole einen Text');
  33.   WriteLn('eingeben. Es sollten mehrere Wörter sein.');
  34.   Write('Bitte: ');
  35.   ReadLn(Work_Str^);
  36.   WriteLn('Sie haben folgenden Text eingegeben:');
  37.   WriteLn('»', Work_Str^, '«');
  38.   FOR idx := 1 TO ParamCount DO
  39.     WriteLn('Wort ', idx:3, ': »', ParamStr( idx ), '«');
  40.   WriteLn;
  41.   WriteLn('Jetzt wird die Anzahl der Wörter im Quellfile');
  42.   WriteLn('festgestellt.');
  43.   Assign(File_Var, 'PARAM.PAS');
  44.   {$I-}
  45.   Reset(File_Var);
  46.   {$I+}
  47.   IF IOResult = 0 THEN BEGIN
  48.     idx := 0;
  49.     WHILE NOT EoF(File_Var) DO BEGIN
  50.       ReadLn(File_Var, Work_Str^);
  51.       Inc(idx, ParamCount);
  52.     END;
  53.     Close(File_Var);
  54.     WriteLn('Das File PARAM.PAS enthält ',
  55.             idx, ' "Wörter".');
  56.   END ELSE
  57.     WriteLn('Das File PARAM.PAS wurde nicht gefunden');
  58.   WriteLn('Das war''s!');
  59. END.
  60. (* ------------------------------------------------------ *)
  61. (*                  Ende von PARAM.PAS                    *)
  62.