السلام عليكم
كيف حالك اخت شجون ؟ شكرا لسؤالك عني انا بخير والحمد لله
كيف حالك استاذ خليل ؟
اسف لعدم ارفاق التوضيح سابقا
بالنسبة لسؤالك عن كيفية عدم تكرار الارقام فكما قال الاستاذ خليل يمكن استخدام if
لكن قد يكون الشرط المستخدم طويل جدا بسبب وجود ستة صناديق نص
لذلك اردت ان نستخدم ( المصفوفات ) اي المتريسات matrix كي نطبق عليها حلقات التكرار
فنختصر بذلك الكود
المصفوفات :array
عند نسخ عنصر تحكم LABEL او TEXTBOX او اي عنصر تحكم اخر بدون حذف العنصر الاصلي , عندها سوف يقوم VB بتشكيل مصفوفة من عنصر التحكم هذا بحيث يكون لجميع العناصر نفس الاسم لكنها تختلف بخاصية الفهرس اي INDEX , حيث ياخذ فهرس العنصر الاصلي رقم 0 والعنصر الثاني رقم 1 وهكذا بقية العناصر ....
مثلا اذا نسخنا الليبل المسمى L مرتين فنحصل على العناصر ( L(2) , L(1) , L(0
وهي متماثلة في كل الخصائص ما عدا الخاصية INDEX فهي 0 للاول و1 للثاني و2 للثالث
لنعدل مشروعك : نفرض لدينا صندوق نص واحد لنسميه T وننسخ خمسة منه فنحصل على ستة صناديق نص هي T(0) , T(1) , T(2) ,T(3),T(4), T(5) 6
بعد توليد الارقام فيها نريد ان نختبر عدم تساوي اي رقمين منها فنقارن قيمة كل عنصر مع العناصر التالية
له باستخدام حلقتي تكرار واحدة لـ i وواحدة لـ j ويكون الكود
for i = 0 to 4
for j = i + 1 to 5
اعد تكوين الارقام if t(i) = t( j) then
next j
next i
في المرفق يوجد التطبيق وقد عدلت ايضا زر - كون عدد- حيث يجب ان يتكون العدد من ارقام
وارجو ان يكون الشرح واضح واذا لزم توضيح اضافي انا حاضر
|