delphi4arab منتديات دلفي للعرب

نسخة كاملة : عدد الأحرف في string ... كيف ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اخواني السلام عليكم...
في حال ان اردت انا ان اضع عدد الأحرف في سترينج في ليبل...

كيف يمكن ذلك اكرمكم الله؟

دعوني اعطيكم مثال... على الفكرة...

انا الآن استخدم هذا الكود ... ولكن طبعا فيه مشاكل...

PHP كود :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key in ['a'..'z','A'..'Z'] then
  begin
    label1
.Caption:= inttostr(strtoint(label1.Caption)+ 1);
  
end;
end; 

يعني ان ضغط على احد الأحرف يزيد اليبيل بواحد...

ولكن المشكلة..

لو محوت حرف..؟ ماذا يعصل ؟ لا شئ...
كيف ممكن اعمل حتى يصير اذا محوت حرف ان يقنص واحد مثلا ؟

بارك الله فيكم وجزاكم خيرا
يمكنك أستخدام الحدث OnChange لذلك كمايلي:

PHP كود :
procedure TForm1.Edit1Change(Sender: TObject);
Var
Str:String;
begin
Str
:= StringReplace(Edit1.text, ' ', '', [rfReplaceAll]);
Label1.Caption:= IntToStr(Length(Str));
end; 

بالتوفيق ..
نعم اخي الكريم...
اكرمك الله...

مشي الحال اخي...
لكن اخي سؤال لو سمحت..

PHP كود :
Str:= StringReplace(Edit1.text, ' ', '', [rfReplaceAll]); 

ماذا تفعل ؟

وبلأخص
PHP كود :
StringReplace 
و
PHP كود :
[rfReplaceAll] 

وبارك الله فيك..
StringReplace : داله هدفها البحث عن ستريغ معين فس سلسلة نصية و استبداله بسترينغ تحدده انت

و لها المؤشرات التالية( Flag ) :

rfReplaceAll : تقوم باستبدال جميع القيم المطابقة في السلسلة ( و لكن بنفس الحالة .. مثلاً ASD <> asd )

rfIgnoreCase : تقوم باستبدال اول قيمة مطابقةتجدها فقط ( اذا استخدمت مفردة )... ( و لكن مع اهمال الحالة مثلاً : ASD = asd )

و يمكن الدمج بينهما و النتيجة تكون الكل مع اهمال الحالة ..

بالتوفيق أن شاء الله ..
شكرا لك اخي روفر...
وبارك الله فيك..