home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* PARAM.PAS *)
- (* Universelle "ParamStr"- und "ParamCount"-Funktionen *)
- (* Turbo Pascal ab 4.0 *)
- (* (c) 1990 Peter F. L. Burger & TOOLBOX *)
- (* ------------------------------------------------------ *)
- USES Dos, Crt;
-
- { Die Variablen als typisierte Konstanten deklarieren, }
- { damit sie gleich mit einem definierten Wert }
- { initialisiert werden }
-
- TYPE
- Str127 = STRING[127]; { maximale Länge: 127 Zeichen! }
- CONST
- Work_Str : ^Str127 = NIL; { Zeiger auf Arbeitsbereich }
- idx : WORD = 0; { Indexzähler }
- VAR
- File_Var : TEXT;
-
- BEGIN
- { Arbeitsstring auf den Übergabebereich einstellen }
- Work_Str := Ptr(PrefixSeg, $0080);
- { Arbeitsstring wird ein Text zugewiesen }
- Work_Str^ := 'Dies ist ein Text mit sieben Wörtern';
- WriteLn('Dem Arbeitsstring wurde folgender ' +
- 'Text zugewiesen:');
- WriteLn('»', Work_Str^, '«');
- FOR idx := 1 TO ParamCount DO
- WriteLn('Wort ', idx:3, ': »', ParamStr(idx), '«' );
- WriteLn;
- WriteLn('Nun können Sie über die Konsole einen Text');
- WriteLn('eingeben. Es sollten mehrere Wörter sein.');
- Write('Bitte: ');
- ReadLn(Work_Str^);
- WriteLn('Sie haben folgenden Text eingegeben:');
- WriteLn('»', Work_Str^, '«');
- FOR idx := 1 TO ParamCount DO
- WriteLn('Wort ', idx:3, ': »', ParamStr( idx ), '«');
- WriteLn;
- WriteLn('Jetzt wird die Anzahl der Wörter im Quellfile');
- WriteLn('festgestellt.');
- Assign(File_Var, 'PARAM.PAS');
- {$I-}
- Reset(File_Var);
- {$I+}
- IF IOResult = 0 THEN BEGIN
- idx := 0;
- WHILE NOT EoF(File_Var) DO BEGIN
- ReadLn(File_Var, Work_Str^);
- Inc(idx, ParamCount);
- END;
- Close(File_Var);
- WriteLn('Das File PARAM.PAS enthält ',
- idx, ' "Wörter".');
- END ELSE
- WriteLn('Das File PARAM.PAS wurde nicht gefunden');
- WriteLn('Das war''s!');
- END.
- (* ------------------------------------------------------ *)
- (* Ende von PARAM.PAS *)