28-04-2016, 05:19 PM
السلام عليكم ورحمة الله وبركاته
===
منذ فترة احتجت الى خاصية تكبير تلقائى للحروف الاولى للكلمات
فعند ادخال مثلا اسم الصنف يقوم الEdit بتكبير الحروف الاولى للكلمات
مثال :
pronto plus tab -----> Pronto Plus Tab
وهكذا...
وكان هذا كالاتى
اولا قمت بكتابة function تاخذ متغير من النوع string وتعيد ايضا ناتج من النوع string
اسميتها UpperCaseFirstLetter
وفى الحدث onchange للedit
ببساطة قمت باستدعاء الدالة UpperCaseFirstLetter
هكذا كان الحل بسيط
ملحوظة قمت بعمل كمبونت جديد به هذا الخاصية بالاضافة الى property من النوع Boolean بحيث يمكنك تشغيل او اطقاء هذه الخاصية
هذا كل شئ والسلام عليكم ورحمة الله وبركاته
اللهم ارحم ابى وانر قبره واجعل مثواه الجنة
===
منذ فترة احتجت الى خاصية تكبير تلقائى للحروف الاولى للكلمات
فعند ادخال مثلا اسم الصنف يقوم الEdit بتكبير الحروف الاولى للكلمات
مثال :
pronto plus tab -----> Pronto Plus Tab
وهكذا...
وكان هذا كالاتى
اولا قمت بكتابة function تاخذ متغير من النوع string وتعيد ايضا ناتج من النوع string
اسميتها UpperCaseFirstLetter
كود :
function TForm1.UpperCaseFirstLetter(Str: String): String;
var
myStr : String;
begin
while length(str) > 0 do
begin
if pos(' ',str) > 0 then
begin
myStr := myStr + UpperCase(Copy(Str,1,1)) + Copy(Str,2,pos(' ',Str) - 1);
Delete(str,1,pos(' ',Str) );
end //End of if
else
begin
myStr := myStr + UpperCase(Copy(Str,1,1)) + Copy(Str,2,length(Str) - 1);
Delete(str,1,length(Str));
end; // End of else
end; // End of Do
Result := myStr;
end;وفى الحدث onchange للedit
ببساطة قمت باستدعاء الدالة UpperCaseFirstLetter
كود :
procedure TForm1.Edit1Change(Sender: TObject);
var
OldSel : Integer;
begin
if Trim(Edit1.Text) <> '' then
begin
OldSel := Edit1.SelStart;
Edit1.Text := UpperCaseFirstLetter(Edit1.Text);
Edit1.SelStart := OldSel;
end;
end;ملحوظة قمت بعمل كمبونت جديد به هذا الخاصية بالاضافة الى property من النوع Boolean بحيث يمكنك تشغيل او اطقاء هذه الخاصية
هذا كل شئ والسلام عليكم ورحمة الله وبركاته
اللهم ارحم ابى وانر قبره واجعل مثواه الجنة


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