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

نسخة كاملة : ComboBox و Edit.text
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم

عندي برنامج به
edit1.text
و combobox1

وكتبت هذا الكود

كود :
procedure TForm1.edt2Change(Sender: TObject); begin if edt1.Text = ' ' then cbb1.Enabled := True else cbb1.Enabled := False; end;

حيث عندما يكون edit1.text به نص
الكومبو بوكس ينلغي

لاكن عندما اكتب شيء في edit1.text وافرغه
الكومبو بوكس لايرجع يعمل

يعني يبقى ملغي


هل من حل
لا داعي لكل هذا فقط قم بتعطيل الكومبو ثم ضع الكود الآتي في ايفنت change للايديت:
ComboBox1.Enabled:=(Edit1.Text<>'')
السلام عليكم
هكذا
PHP كود :
begin
 
if Edit1.Text = '' then
   ComboBox1
.Enabled := True
 
else
   
ComboBox1.Enabled :=  False;
end; 
السلام عليكم...

شكراً للأخ karamofweb على الكود المختصر، لكن أردت أن أبين للأخ maryos أن كوده صحيح و لكن به ثغرة! امسح الفراغ الموجود بين علامتي التنصيص (الاقتباس) و سوف يعمل الكود:
كود :
if edt1.Text = ' ' then بدل هذا if edt1.Text = '' then استعمل هذا

* و الأمر ينطبق على كود الأخ karamofweb إذا استعملته (أي تأكد من عدم وجود فراغ بين علامتي التنصيص).

نرجو الاستفادة و السلام.
karamofweb

اخي ا ريد عكس هذا الكود
يعني عندما اكتب شيء بلتيكست الكومبو يتعطل
واذا فرغ التيكست الكومبو يتفعل


ghost-dz
اخي الكود صحيح اسماء العناصر متغيره
لاكن ا ريد كود يقوم بنفس العمل
لانه الكود تبعي به اخطاء


Najy Ibraheem

شكرا على النصيحه يا اخي
جعلها الله في ميزان حسناتك

لاكن عندي سؤال
ماهيه هذه الثغره
اقصد كيف يتم استغلالها
أي ثغرة :d
أعتقد أن العملية سهلة
مرفق مثال
maryos كتب :karamofweb

اخي ا ريد عكس هذا الكود
يعني عندما اكتب شيء بلتيكست الكومبو يتعطل
واذا فرغ التيكست الكومبو يتفعل


اقصد كيف يتم استغلالها
with combobox1 do
(edit1.enabled=text='') or edit1.enabled=text=' ') ... all conditions
أو عطل edit1.enabled:=false و جرب ما يلي
كود :
edit1.Enabled:=(length(ComboBox1.Text)>0) and (ord(ComboBox1.Text[1])>33);
لماذا كل تعقيد عندما يكون الحل موجود :confused:
اعتقد أن الكود الذي في سؤاله يفي بالغرض يكفي تصحيحه
في امان الله
الصفحات : 1 2