Merubah Setiap awal kata menjadi huruf besar pada TEdit

Dalam keadaan tertentu kita memerlukan bahwa setiap kata yang diinput pada TEdit harus huruf besar pada huruf pertamanya. Seperti misalnya dalam penulisan nama orang, nama tempat dll. Terkadang operator lupa menekan shift, sehingga terjadi kekeliruan input.

Prosedur dibawah ini akan secara otomatis merubah huruf pertama setiap kata menjadi huruf besar.
Pada event OnChange pada TEdit, tuliskan kode berikut:

procedure TForm1.Edit1Change(Sender: TObject);
var
  OldChange: TNotifyEvent;
  OldStart: Integer;
begin
  with (Sender as TEdit) do
  begin
    OldChange := OnChange;
    OnChange  := nil;
    OldStart  := SelStart;
    if ((SelStart > 0) and (Text[SelStart - 1] = ‘ ‘)) or (SelStart = 1) then
    begin
      SelStart  := SelStart – 1;
      SelLength := 1;
      SelText   := AnsiUpperCase(SelText);
    end;

    OnChange := OldChange;
    SelStart := OldStart;
  end;