/
CVS/
boards/CVS/
clans/
gmc/CVS/
help/CVS/
include/CVS/
players/
progs/CVS/
races/CVS/
system/CVS/
text/
text/CVS/
todo/
todo/CVS/
units/CVS/
unit strip;

interface
uses Sysutils;

// return the part on the left of the first occurance of 'delim'
// or the whole string if there is no 'delim'
function left(s : string; delim : char) : string;

// return the part on the right of the first occurance 'delim'
// or the whole string if there is no 'delim'
function right(s : string; delim : char) : string;

// return the part on the left of the last occurance of 'delim'
// or the whole string if there is no 'delim'
function leftr(s : string; delim : char) : string;

// return the part on the right of the last occurance 'delim'
// or the whole string if there is no 'delim'
function rightr(s : string; delim : char) : string;

function CharsInStr(s:string;what:char):integer;

implementation

function left(s : string; delim : char) : string;
var
   i : integer;
begin
  i := pos(delim, s);

  if (i > 0) then
    Result := Copy(s, 1, i - 1)
  else
    Result := s;
end;

function right(s : string; delim : char) : string;
var
   i : integer;
begin
  i := pos(delim, s);

  if (i > 0) then
    Result := Copy(s, i + 1, length(s))
  else
    Result := s;
end;

function leftr(s : string; delim : char) : string;
var
   i : integer;
begin
  i := LastDelimiter(delim, s);

  if (i > 0) then
    Result := Copy(s, 1, i - 1)
  else
    Result := s;
end;

function rightr(s : string; delim : char) : string;
var
   i : integer;
begin
  i := LastDelimiter(delim, s);

  if (i > 0) then
    Result := Copy(s, i + 1, length(s))
  else
    Result := s;
end;

function CharsInStr;
var a,b:integer;
begin
  b:=0;
  for a:=1 to length(s) do
   if s[a]=what then inc(b,1);
  CharsInStr:=b;
end;

end.