Upper the first letter of each word

If we will agree, that the word is a characters set between the spaces then you can try this:

 

 

procedure TForm1.Button1Click(Sender: TObject);

var

  i: Integer;

  Str: string;

begin

  Label2.Caption:='';

  Str:=' '+Edit1.Text;

  i:=1;

  repeat

    if Str[i]<>' ' then

      Label2.Caption:=Label2.Caption+Str[i];

    if Str[i]=' ' then

    begin

      if (Str[i+1]<>' ') then

      begin

        Label2.Caption:=Label2.Caption+Str[i]+AnsiUpperCase(Str[i+1]);

        Inc(i);

      end

      else

        Label2.Caption:=Label2.Caption+Str[i];

    end;

    Inc(i);

  until i>Length(Str)+1;

  Str:=Label2.Caption;

  Delete(Str, 1, 1);

  Label2.Caption:=Str;

end;