delphi4arab منتديات دلفي للعرب
ComboBox و Edit.text - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : ComboBox و Edit.text (/showthread.php?tid=5557)

الصفحات: 1 2


ComboBox و Edit.text - maryos - 15-09-2013

السلام عليكم

عندي برنامج به
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 وافرغه
الكومبو بوكس لايرجع يعمل

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


هل من حل


ComboBox و Edit.text - karamofweb - 15-09-2013

لا داعي لكل هذا فقط قم بتعطيل الكومبو ثم ضع الكود الآتي في ايفنت change للايديت:
ComboBox1.Enabled:=(Edit1.Text<>'')


ComboBox و Edit.text - Agmcz - 16-09-2013

السلام عليكم
هكذا
PHP كود :
begin
 
if Edit1.Text = '' then
   ComboBox1
.Enabled := True
 
else
   
ComboBox1.Enabled :=  False;
end; 



ComboBox و Edit.text - Najy Ibraheem - 16-09-2013

السلام عليكم...

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

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

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


ComboBox و Edit.text - maryos - 16-09-2013

karamofweb

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


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


Najy Ibraheem

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

لاكن عندي سؤال
ماهيه هذه الثغره
اقصد كيف يتم استغلالها


ComboBox و Edit.text - Agmcz - 16-09-2013

أي ثغرة :d


ComboBox و Edit.text - Agmcz - 16-09-2013

أعتقد أن العملية سهلة
مرفق مثال


ComboBox و Edit.text - karamofweb - 17-09-2013

maryos كتب :karamofweb

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


اقصد كيف يتم استغلالها
with combobox1 do
(edit1.enabled=text='') or edit1.enabled=text=' ') ... all conditions


ComboBox و Edit.text - karamofweb - 17-09-2013

أو عطل edit1.enabled:=false و جرب ما يلي
كود :
edit1.Enabled:=(length(ComboBox1.Text)>0) and (ord(ComboBox1.Text[1])>33);



ComboBox و Edit.text - Agmcz - 17-09-2013

لماذا كل تعقيد عندما يكون الحل موجود :confused:
اعتقد أن الكود الذي في سؤاله يفي بالغرض يكفي تصحيحه
في امان الله