28-04-2016, 08:27 PM
بعد مشاركة الكود
فكرت فى طريقة اسهل لعمل الدالة
وبالفعل اعتمدت على
ان الstring هو مصفوفة من الحروف وبستخدام حلقة تكرارية For كان الحل ابسط من ما كان عليه
وفى الحدث onChange الخاص بEdit استدعيت الدالة على النحو التالى
فكرت فى طريقة اسهل لعمل الدالة
وبالفعل اعتمدت على
ان الstring هو مصفوفة من الحروف وبستخدام حلقة تكرارية For كان الحل ابسط من ما كان عليه
كود :
function TForm1.UpperCaseFirstLetter2(Str: string): string;
var
I : Integer;
begin
Str[1] := UpCase(Str[1]);
for I := 0 to length(Str) - 1 do
if Str[i] = ' ' then Str[i+1] := UpCase(Str[i+1]);
Result := Str;
end;وفى الحدث onChange الخاص بEdit استدعيت الدالة على النحو التالى
كود :
procedure TForm1.Edit1Change(Sender: TObject);
var
OldSelBok : Integer;
begin
if Trim(Edit1.Text) <> '' then
begin
OldSelBok := Edit1.SelStart;
Edit1.Text := UpperCaseFirstLetter2(Edit1.Text);
Edit1.SelStart := OldSelBok;
end;
end;

![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)