[<<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