السلام عليكم
عندي برنامج به
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
شكرا على النصيحه يا اخي
جعلها الله في ميزان حسناتك
لاكن عندي سؤال
ماهيه هذه الثغره
اقصد كيف يتم استغلالها
أعتقد أن العملية سهلة
مرفق مثال
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:
اعتقد أن الكود الذي في سؤاله يفي بالغرض يكفي تصحيحه
في امان الله