03-10-12, 09:32 AM
كاتب الموضوع : lo2i
السلام عليكم ورحمة الله وبركاته ,,
شدّني قبل قليل موضوع لأخ في المنتدى , يريد إنشاء قائمة بأسماء مواقع البحث
google , yahoo , bing ... etc
الجدير بالذكر انه يريد وضعها في أداة combobox ليقوم بعد اختيار المستخدم لواحد منها بفتح المختار
فمثلاً اذا اختار المستخدم google سيفتح له ,, وهكذا دواليك ...
-----
كما هو ملاحظ يمكننا كتابة كود بسيط يحل المشكلة وينهي الامر بعد طرق :
الطريقة الأول :
استعمال جملة الشرط if statement و else if
لاحظ معي اننا سوف نشترط في كل مرة على رقم ال index الذي اختاره المستخدم
ناهيكَ عن الاخطاء التي سوف تظهر لك من لغط بين المواقع ودخولها في بعضها البعض !!
----------------------------------
الطريقة الثانية :
select case و الـ cases و الـ default
يعتمد الامر ايضاً على رقم ال index
باختصار الكودان (وجهان لعملة واحدة)
---------------
طبعاً هذه الطريقتين ظهرت لدينا بديهياً لمعرفتنا سابقاً بعدد المواقع التي نريد فتحها .. !!
تصور معي إني أريد إضافة أكثر من 100 موقع للـ combobox او للـ listbox مثلاُ
هل ستلجأ لجملة الشرط (if statement) ؟؟
ام ستلجأ إلى الـ select case لكتابة المئات من ال cases ؟؟
الجواب في هذه الحالة سألجا شخصياً لكتابة كلاس يخدمني ويقلل من وقتي ومن الاخطاء المتوقعة .. ,, فماذا عنك ؟؟ (اعطني تجربتك )
بسم الله الرحمن الرحيم ..
بعد فتح الفيجوال بيسك واختيار windows application
ننشئ مشروع مشابه لهذه الصورة ..
ونقوم بفتح شاشة الكود
لنقوم بكتابة هذه الفئة ..
شرح الكود :
متغيران محليّان لحمل قيمة ال text ,ال value التي سوف تُدخل في ال listitem
الـ subroutine الأساسية التي سيتم التعامل معها
من خلال إدخال قيمة كلاً من ال text والـ value واسنادها للمتغيران التي تم شرحهم في الاعلى !!
الخاصية text تقوم بضبط وإعادة قيمة المتغير text_
الخاصية value تقوم بضبط وإعادة قيمة المتغير _value
وهي لتحويل مخرجات الفئة إلى نصوص مقروءة ولاحظ انها ستعيد قيمة ال text_شدّني قبل قليل موضوع لأخ في المنتدى , يريد إنشاء قائمة بأسماء مواقع البحث
google , yahoo , bing ... etc
الجدير بالذكر انه يريد وضعها في أداة combobox ليقوم بعد اختيار المستخدم لواحد منها بفتح المختار
فمثلاً اذا اختار المستخدم google سيفتح له ,, وهكذا دواليك ...
-----
كما هو ملاحظ يمكننا كتابة كود بسيط يحل المشكلة وينهي الامر بعد طرق :
الطريقة الأول :
استعمال جملة الشرط if statement و else if
كود :
[color=#000000][COLOR=#007700]If [/color][color=#0000bb]ComboBox1[/color][color=#007700].[/color][color=#0000bb]SelectedIndex [/color][color=#007700]= [/color][COLOR=#0000bb]0 Then
Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.google.com"[/color][COLOR=#007700])
ElseIf [/COLOR][color=#0000bb]ComboBox1[/color][color=#007700].[/color][color=#0000bb]SelectedIndex [/color][color=#007700]= [/color][COLOR=#0000bb]1 Then
Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.yahoo.com"[/color][COLOR=#007700])
ElseIf [/COLOR][color=#0000bb]ComboBox1[/color][color=#007700].[/color][color=#0000bb]SelectedIndex [/color][color=#007700]= [/color][COLOR=#0000bb]2 Then
Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.bing.com"[/color][COLOR=#007700])
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]If
[/COLOR][/COLOR]
لاحظ معي اننا سوف نشترط في كل مرة على رقم ال index الذي اختاره المستخدم
ناهيكَ عن الاخطاء التي سوف تظهر لك من لغط بين المواقع ودخولها في بعضها البعض !!
----------------------------------
الطريقة الثانية :
select case و الـ cases و الـ default
كود :
[color=#000000][COLOR=#0000bb] Select [/color][color=#007700]Case [/color][color=#0000bb]ComboBox1[/color][color=#007700].[/color][COLOR=#0000bb]SelectedIndex
[/COLOR][color=#007700]Case [/color][COLOR=#0000bb]0
Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.google.com"[/color][COLOR=#007700])
Case [/COLOR][COLOR=#0000bb]1
Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.yahoo.com"[/color][COLOR=#007700])
Case [/COLOR][COLOR=#0000bb]2
Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#dd0000]"www.bing.com"[/color][COLOR=#007700])
[/COLOR][COLOR=#0000bb]End Select
[/COLOR][/COLOR]
يعتمد الامر ايضاً على رقم ال index
باختصار الكودان (وجهان لعملة واحدة)
---------------
طبعاً هذه الطريقتين ظهرت لدينا بديهياً لمعرفتنا سابقاً بعدد المواقع التي نريد فتحها .. !!
تصور معي إني أريد إضافة أكثر من 100 موقع للـ combobox او للـ listbox مثلاُ
هل ستلجأ لجملة الشرط (if statement) ؟؟
ام ستلجأ إلى الـ select case لكتابة المئات من ال cases ؟؟
الجواب في هذه الحالة سألجا شخصياً لكتابة كلاس يخدمني ويقلل من وقتي ومن الاخطاء المتوقعة .. ,, فماذا عنك ؟؟ (اعطني تجربتك )
بسم الله الرحمن الرحيم ..
بعد فتح الفيجوال بيسك واختيار windows application
ننشئ مشروع مشابه لهذه الصورة ..
ونقوم بفتح شاشة الكود
لنقوم بكتابة هذه الفئة ..
كود :
[color=#000000][COLOR=#007700]Class [/color][COLOR=#0000bb]listitem
[/COLOR][color=#007700]Private [/color][color=#0000bb]_text [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty
Private [/COLOR][color=#0000bb]_value [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty
[/COLOR][color=#0000bb]Sub [/color][color=#007700]New([/color][color=#0000bb]ByVal text [/color][color=#007700]As [/color][color=#0000bb]String[/color][color=#007700], [/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
[/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]text
_value [/COLOR][color=#007700]= [/color][COLOR=#0000bb]value
End Sub
Property text[/COLOR][color=#007700]() As [/color][COLOR=#0000bb]String
Get
[/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
End Get
Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
[/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]value
End Set
End Property
Property value[/COLOR][color=#007700]() As [/color][COLOR=#0000bb]String
Get
[/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_value
End Get
Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
[/COLOR][color=#0000bb]_value [/color][color=#007700]= [/color][COLOR=#0000bb]value
End Set
End Property
[/COLOR][color=#007700]Public [/color][color=#0000bb]Overrides [/color][color=#007700]Function [/color][color=#0000bb]ToString[/color][color=#007700]() As [/color][COLOR=#0000bb]String
[/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
End [/COLOR][COLOR=#007700]Function
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]Class
[/COLOR][/COLOR]
شرح الكود :
كود :
[color=#000000][COLOR=#007700]Private [/color][color=#0000bb]_text [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty
Private [/COLOR][color=#0000bb]_value [/color][color=#007700]As [/color][color=#0000bb]String [/color][color=#007700]= [/color][color=#0000bb]String[/color][COLOR=#007700].Empty
[/COLOR][/COLOR]
متغيران محليّان لحمل قيمة ال text ,ال value التي سوف تُدخل في ال listitem
كود :
[color=#000000][COLOR=#0000bb] Sub [/color][color=#007700]New([/color][color=#0000bb]ByVal text [/color][color=#007700]As [/color][color=#0000bb]String[/color][color=#007700], [/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
[/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]text
_value [/COLOR][color=#007700]= [/color][COLOR=#0000bb]value
End Sub
[/COLOR][/COLOR]
الـ subroutine الأساسية التي سيتم التعامل معها
من خلال إدخال قيمة كلاً من ال text والـ value واسنادها للمتغيران التي تم شرحهم في الاعلى !!
كود :
[color=#000000][COLOR=#0000bb] Property text[/color][color=#007700]() As [/color][COLOR=#0000bb]String
Get
[/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
End Get
Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
[/COLOR][color=#0000bb]_text [/color][color=#007700]= [/color][COLOR=#0000bb]value
End Set
End Property
[/COLOR][/COLOR]
الخاصية text تقوم بضبط وإعادة قيمة المتغير text_
كود :
[color=#000000][COLOR=#0000bb] Property value[/color][color=#007700]() As [/color][COLOR=#0000bb]String
Get
[/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_value
End Get
Set[/COLOR][color=#007700]([/color][color=#0000bb]ByVal value [/color][color=#007700]As [/color][color=#0000bb]String[/color][COLOR=#007700])
[/COLOR][color=#0000bb]_value [/color][color=#007700]= [/color][COLOR=#0000bb]value
End Set
End Property
[/COLOR][/COLOR]
الخاصية value تقوم بضبط وإعادة قيمة المتغير _value
كود :
[color=#000000][COLOR=#007700]Public [/color][color=#0000bb]Overrides [/color][color=#007700]Function [/color][color=#0000bb]ToString[/color][color=#007700]() As [/color][COLOR=#0000bb]String
[/COLOR][color=#007700]Return [/color][COLOR=#0000bb]_text
End [/COLOR][COLOR=#007700]Function
[/COLOR][/COLOR]
---------------------
وفي حدث الفورم لود form_load
نقوم بكتابة التالي ...
كود :
[color=#000000][COLOR=#0000bb] ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"vb4arab"[/color][color=#007700], [/color][color=#dd0000]"http://www.vb4arab.com"[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"google"[/color][color=#007700], [/color][color=#dd0000]"http://www.google.com"[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"*****"[/color][color=#007700], [/color][color=#dd0000]"http://www.*****.com"[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"hotmail"[/color][color=#007700], [/color][color=#dd0000]"http://www.hotmail.com"[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]Items[/color][color=#007700].[/color][color=#0000bb]Add[/color][color=#007700](New [/color][color=#0000bb]listitem[/color][color=#007700]([/color][color=#dd0000]"facebook"[/color][color=#007700], [/color][color=#dd0000]"http://www.facebook.com"[/color][COLOR=#007700]))
[/COLOR][/COLOR]
السؤال الان كيف سنقوم بإسترجاع الـ text والـ value للعنصر المختار من القائمة
بكل بساطة سنحتاج للدالة CTYPE
كود :
[color=#000000][COLOR=#0000bb]TextBox1[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]CType[/color][color=#007700]([/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]SelectedItem[/color][color=#007700], [/color][color=#0000bb]listitem[/color][color=#007700]).[/color][color=#0000bb]text[/color][COLOR=#007700]()
[/COLOR][color=#0000bb]TextBox2[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#0000bb]CType[/color][color=#007700]([/color][color=#0000bb]ListBox1[/color][color=#007700].[/color][color=#0000bb]SelectedItem[/color][color=#007700], [/color][color=#0000bb]listitem[/color][color=#007700]).[/color][color=#0000bb]value[/color][COLOR=#007700]()
[/COLOR][/COLOR]
الاول سيقوم بإسترجاع النــــص للعنصر المختار .
الثاني سيقوم بإسترجاع القيمة للعنصر المختار .
الان وفي زر فتح الموقع نقوم بكتابة الكود التالي ...
كود :
[color=#000000][COLOR=#007700]If [/color][color=#0000bb]Not TextBox2[/color][color=#007700].[/color][color=#0000bb]Text [/color][color=#007700]= [/color][color=#dd0000]"" [/color][COLOR=#0000bb]Then
Process[/COLOR][color=#007700].[/color][color=#0000bb]Start[/color][color=#007700]([/color][color=#0000bb]Trim[/color][color=#007700]([/color][color=#0000bb]TextBox2[/color][color=#007700].[/color][color=#0000bb]Text[/color][COLOR=#007700]))
[/COLOR][color=#0000bb]End [/color][COLOR=#007700]If
[/COLOR][/COLOR]
المشروع في المرفقات ,,,
لاتنسونا من دعائكم ..