[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
UNITS06.PAS

 { ---------------------------------------------------------------- }
 {          TESTPROGRAMM SUCHROUTINEN STRINGS / ASTRINGS            }
 { ---------------------------------------------------------------- }
 { Baut einen (unsinnigen) PChar zusammen und sucht darin Worte     }
 { mittels StrPos und StrSearch.                                    }
 { Dabei wird auch demonstriert, wie auf normale Strings wie auf    }
 { PChars zugegriffen werden kann.                                  }
 { ---------------------------------------------------------------- }
 {       (c)  1992  by  Aurora  featuring  M.J. Schwaiger           }
 { ---------------------------------------------------------------- }
 {     History:                                                     }
 {  Datum     / Bearb. / Art                                        }
 {  5. 5.1992    MS       Implementierung.                          }
 { ---------------------------------------------------------------- }

 PROGRAM Units06;


   USES
     AStrings,
     CRT;

   VAR
     Cnt            : INTEGER;
     PC             : PChar;
     Found          : PChar;


   CONST
     Create1        : STRING = 'Stringanfang ';
     Create2        : STRING = 'Noch ''ne .nderung ... '#0;
     Create3        : STRING = 'Stringende'#0;      { Nullbytes f.r }
     Search1        : STRING = 'Stringen'#0; { PChar-Kompatibilit.t }
     Search2        : STRING = 'StringEN'#0;


   BEGIN
     CLRSCR;

     WRITELN (MEMAVAIL);

     PC := Nil;

     PC := stRPasNew (Create1);

     FOR Cnt := 1 TO 3 DO
       stRCat (PC,  @Create2 [1]);
                               { Durch das #0 ein simulierter PChar }

     FOR Cnt := 1 TO 3 DO
       stRCat (PC,  PC);          { 2 ^ 3 = 8 - fache L.nge }

     stRCat (PC,  @Create3 [1]);

     FOR Cnt := 1 TO stRLen (PC) DO
       WRITE (stRGetChar (PC,  Cnt));

     WRITELN (stRGetChar (PC,  Cnt + 3000)); { Ung.ltig - mag er's ? }

     Found := stRPos (PC,  @Search1 [1]);            { Wird gefunden }

     IF Found <> Nil THEN
     BEGIN
       FOR Cnt := 1 TO stRLen (@Search1 [1]) DO
         WRITE (stRGetChar (Found,  Cnt));

       WRITELN;
     END
     ELSE
       WRITELN ('Suchausdruck nicht gefunden !');

     Found := stRPos (PC,  @Search2 [1]);      { Wird nicht gefunden }

     IF Found <> Nil THEN
     BEGIN
       FOR Cnt := 1 TO stRLen (@Search2 [1]) DO
         WRITE (stRGetChar (Found,  Cnt));

       WRITELN;
     END
     ELSE
       WRITELN ('Suchausdruck nicht gefunden !');

     Found := stRSearch (PC,  @Search1 [1]);         { Wird gefunden }

     IF Found <> Nil THEN
     BEGIN
       FOR Cnt := 1 TO stRLen (@Search1 [1]) DO
         WRITE (stRGetChar (Found,  Cnt));

       WRITELN;
     END
     ELSE
       WRITELN ('Suchausdruck nicht gefunden !');

     Found := stRSearch (PC,  @Search2 [1]);         { Wird diesmal  }
                                                    { auch gefunden }
     IF Found <> Nil THEN
     BEGIN
       FOR Cnt := 1 TO stRLen (@Search2 [1]) DO
         WRITE (stRGetChar (Found,  Cnt));

       WRITELN;
     END
     ELSE
       WRITELN ('Suchausdruck nicht gefunden !');
     stRDispose (PC);

     WRITELN;

     WRITELN (MEMAVAIL);

     WRITELN;
     WRITELN ('Weiter ...');
     READKEY;
   END. { PROGRAM Units06 }

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson