لدى عدد من الفورمات وأريد المستخدم ادخا ل أسم الفورم فى صندوق حوار ثم يتم فتح الفورم
المشكلة أن فى الكود لاأريد كتابةأسم الفورم بصورة تقليدية بل أريد متغير
السلام عليكم
أختى الكريمه majdah taher
ممكن توضحى شويه ايه المطلوب
انا نزلت المثال بس مش فاهم عايزه ايه بالضبط
Never Give Up You Are Programmer
Being Genius Is The Step Before Madness
Artificial Intelligence Is No Match For Natural Stupidity
الكود المتعارف عليه لفتح فورم هو form1.show
طيب لو كان عندى 20 فورم مثلا
أرغب فى كتابة كود لهم لاجراء عملية الفتح
طبعا سأكتب
form2.show
form3.show
form4.show ..............................الخ
طبع العملية غير مجدية
هل يمكن جعل الفورم متغيرx
ثم نكتب x.show
هذا شرح للمرفق أعلاه
Never Give Up You Are Programmer
Being Genius Is The Step Before Madness
Artificial Intelligence Is No Match For Natural Stupidity
تشكر ولكن ألم تلاحظ أن المطلوب فتح أكثر من فورم وأنت جعلته يفتح فورم 2فقط
السلام عليكم ورحمة الله وبركاته
ربما ينفع هذا الكود مع العلم انى لم اجربه لانى لا املك نسخة الفيبى6 ولم اتعامل معها منذ فترة طويلة
أتمنى ان ينفعك الكود
Private Sub Command1_Click() Dim Frm As Form For Each Frm In Forms If LCase(Frm.Name)=LCase(Text1.Text) Then Frm.Show Exit For End If Next End Sub
أرجو إعلامى بالنتائج :wacko:
محلوظة : هذا الكود سيفتح الفورم المكتوب اسمها فى مربع النص
تم تعديل هذه المشاركة بواسطة GHOST2010 في 26 سبتمبر 2006 في 14:19
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
تشكر سأحاول الاستفادة من للوصول للمطلوب
مامعنى LCase
لم يعمل
السلام عليكم
اخى الكريم GHOST2010
انا جربت الكود بس مشتغلش
ولكنه لم يعطى رساله خطأ
مش عارف ايه السبب
بالنسبه للأخت majdah taher
Lcase داله لتجعل اى نص فى حال Lower case
او small يعنى لو A تبقى a
Never Give Up You Are Programmer
Being Genius Is The Step Before Madness
Artificial Intelligence Is No Match For Natural Stupidity
ماحدث معك فى الكود حدث معى وشكر على الشرح
اقتباسانا جربت الكود بس مشتغلشولكنه لم يعطى رساله خطأ
ما هو نص رسالة الخطأ.؟
إن قلت قال الله قال رسولـه همزوك همز المنكر المتعالي
أو قلت قد قال الصحابة والألـى تبعاً لهم بالقول والأعمال
أو قلت قـال الشافعي وأحمد و أبو حنيفة والإمام الغالي
صدوا عن وحي الإله ودينـه واحتالوا على حرام الله بالإحلال
يا أمةً لعبت بدين نبيها كتلاعب الصبيان في الأوحال
حاشا رسول الله يحكم بالهوى تلك إذاً حكومة الضلال
لاتوجد رسالة خطا
حاولت التعيل فيه ولكن لم أصل لحل
السلام عليكم
يا اخت ماجدة
هل عدد الفورم ( الأجهزة ) محدود يعني انت اللي عارف عدد الأجهزة ولا يمكن تغيرها من قِبل المستخدم ؟
هل المستخدم يعرف اسماء الفورم ؟
اولا ممكن تعرفي المستخدم ارقام الأجهزة انه هايكون من 1 الى 10 مثلا
ومن هنا اذا دخل رقم 1 ساعتها تقولي form1.show
ولو دخل رقم 2 تقولي للبرنامج انه يعمل form2.show
وهاكذا
فهمتيني ولا لأ
Mohamed Ali Salim
0.1..0...4....7.....6......2.......7........4.........8
تشكر ولكن أعدقراءة سوالى مرة أخرى أنا لاأريد هذه الطريقة وعلى المستخدم مافى مشكلة سأفعل ماقلت ولكن أنا أريد كود يسهل التعامل مع أكبر عدد من الشاشات
أنا فى الانتظار
جاري البحث عن مشكلتك واضا جاري الإنتظار مثلك
Mohamed Ali Salim
0.1..0...4....7.....6......2.......7........4.........8
اخت majdah taher استفيدي من مثال الاخ GENIUS-IT مع فكرة الاخ MohamedAliSalim
وذلك لأأنك تريدين تحديد فورم بعينه وهذا لا يتم الا بعد أن يتم فهرسة عدد النماذج الموجودة ..هذا والله اعلم
تم تعديل هذه المشاركة بواسطة HnHn في 27 سبتمبر 2006 في 19:53
أستاذ هانى ممكن تشرح أكثر قصدك بفهرسة الفورمات
اقصد بالفهرسة أن تكون اسم النماذج مخزنة تحت جملة شرطيه كما يلي
'HnHn Select Case Txt1.Text Case 1 Case 2 Form2.Show 1 Case 3 Form3.Show 1 Case 4 Form4.Show 1 Case 5 Form5.Show 1 Case 6 Form6.Show 1 Case 7 Form7.Show 1 Case 8 Form8.Show 1 Case 9 Form9.Show 1 End Select
تم تعديل هذه المشاركة بواسطة HnHn في 28 سبتمبر 2006 في 16:41
مشكورر وسأحاول الاستفادة من كل الافكار
حينما ؟أصل لما أريد سأعلمكم
السلام عليكم
هذه فكرتي بعد أن عدلت على قكرة الأخ GHOST2010
و هذه الطريقة كيف توصلت للنتيجة :
أكتب الكود التالي و شيفرة زر الأمر و أظهر النتائج:
Private Sub CHANGE_Click()
Dim inputerr As Variant
Dim frm As Form
For Each frm In Forms
MsgBox (frm.Name)
Next frm
'Dim y As Form
'inputerr = InputBox(" ãä ÝÖáß ÃÏÎá ÑÞã ÇáÌåÇÒ", "ÚãáíÉ ÇáÇÈÏÇá Èíä ÇáÇÌåÒÉ")
'y.Show
End Subو سترى أنه لم يطهر سوى مسج وحدة و
ثم اكتب الكود التالي:
Private Sub CHANGE_Click()
Dim inputerr As Variant
Dim frm As Form
Form2.Show
Form3.Show
For Each frm In Forms
MsgBox (frm.Name)
Next frm
'Dim y As Form
'inputerr = InputBox(" ãä ÝÖáß ÃÏÎá ÑÞã ÇáÌåÇÒ", "ÚãáíÉ ÇáÇÈÏÇá Èíä ÇáÇÌåÒÉ")
'y.Show
End Subو سترى أن الفورم 2 و3 قد فتحوا
و هذا يعني انه forms
لا يدل سوى على الفورم المحملة (المفتوحة ) لذا يجب فتحها كلها و إخفاءها في حدث form_load
من ثم يصح الكود : وهذا الكود كاملا:
Private Sub CHANGE_Click()
Dim inputerr As String
Dim frm As Form
inputerr = InputBox(" من فضلك أدخل رقم الجهاز", "عملية الابدال بين الاجهزة")
For Each frm In Forms
If LCase(frm.Name) = LCase(inputerr) Then
frm.Show
Exit For
End If
Next frm
End Sub
Private Sub Form_Load()
Form2.Show
Form4.Show
Form5.Show
Form6.Show
Form7.Show
Form8.Show
Form3.Show
Form2.Hide
Form4.Hide
Form5.Hide
Form6.Hide
Form7.Hide
Form8.Hide
Form3.Hide
End Sub
[\code]
و ردي علي خبر
أما أنا فلا أؤيد هذه الفكرة لمشروع مقهى انترنيت
جارى التجربة وتشكر على مجهودك معنا
ماذا فى رأيك ممكن عمله لاجراء عملية الابدال بين الاجهزة
هذا الموضوع مغلق.