proper

function Proper(s: string): string;
var
  i: integer;
  CapitalizeNetLetter: boolean;
begin
  s := Lower(s);
  CapitalizeNetLetter := true;
  i := 1;
  repeat
    if CapitalizeNetLetter then if isLower(s[i]) then
      s[i] := toUpper(s[i]);
    if s[i] = ' ' then CapitalizeNetLetter := true
    else CapitalizeNetLetter := false;
    i := i + 1;
  until i > length(s);
  Proper := s;
end;