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;