A function that takes a string and returns the number of words in the string. An example of using pointers in Pascal.
Count the words in a text string.
// count words in a string using pointers
// Pascal code used in a Delphi 3.0 program
function WordsCount(s: string ): integer;
var
ps: PChar;
nSpaces, n: integer;
begin
n := 0;
// make it a string that ends with value zero
s := s + #0;
// point to start of string s
ps := @s[ 1 ];
// keep loop going up to zero ending
while( #0 <> ps^ ) do
begin
// checks for space = ' '
while((' ' = ps^) and (#0 <> ps^)) do
begin
inc( ps );
end;
nSpaces := 0;
while((' ' <> ps^) and (#0 <> ps^)) do
begin
inc(nSpaces);
inc(ps);
end;
if (nSpaces > 0) then
begin
inc( n );
end;
end;
Result := n;
end;
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.