PDA المساعد الشخصي الرقمي

عرض كامل الموضوع : دروس : تعلم فيجوال بيسك6 من البداية



The Crash
18-08-2004, 17:35
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله...نبدا في هذا الموضوع ساسلة من الدروس في لغة البرمجة Visual Basic تبدأمن نقطة البداية للمبتدئين.



الدرس الأول : التعرف على واجه البرنامج و بعض الخصائص:


الانطباع الأول :
عندما تفتح الفيجوال لأول مرة و كل مرة ستفتحه فيما بعد ستظهر لك النافذة الأولى دائما وهي نافذة المشروع الجديد (New Project) وستجد فيها ثلاثة تبويبات الأولNew لبدأ مشروع جديد و هو ما سنختاره والثاني Existing وهو لفتح مشروع مصمم مسبقا أي لفتح مشروع سابق و الثالثRecent وهي قائمة بآخر المشاريع المصممة .
المهم من التبويب New اختر مشروع من النوع Standard EXE أي قياسي وهو ما سنعمل به ويكون محدد مسبقا أما المشاريع الأخرى فلن تلزمك حاليا (تلك للمتقدمين).ثم اختر Open و الآن ها أنت في مشروعك الأول و لأول مرة يكون الفيجوال غير منظم نسبيا فيظهر لك نوافذ غير ضورية مثلاً إذا وجدت نافذة يعنوان Form Layout أغلقها لأنها لن تلزمنا و أهم شيء أن يكون هناك نافذة Tool Box أي العناصر و نافذة الخصائص Properties
و هناك نافذة قد لاتظهر وهي نافذة الProject Explorer قد تظهر فيها عدد الصفحات أو النوافذ التي سنصممها..ويمكنك إظهار هذه النوافذ من القائمة View و ستجدها بأسمائها..و الآن بعد أن نظمت واجهة اللغة فلنبدأ.
النوافذ:
في بداية كل مشروع قياسي سيقوم الفيجوال تلقائيا بإضافة نافذة لمشروعك وهي ما يسمى بلغة الفيجوال بال Form(و هي تعني صيغة بالانكليزية ) والآن لا خظ هذه الفورم وتأملها أليست مثل النوافذ التي نراها الآن حاول التحكم بأبعادها من خلال الإحدثيات الخاصة بها في أطرافها ..لا حظ أنها تأخذ الحجم الذي تريده ..وحتى حجم الشاشة بأكملها إن أردت ..و لكنها منقطة من الداخل أليس كذلك لا تخف هذه من الداخل فقط ..و الآن نريد تجرية برنامجنا ..اضغط على F5 من لوحة المفاتيح و لاحظ ها هو مشروعك الآول بين يديك ولكن كمستخدم وليس كمبرمج وهذه الطريقة دائما لتجربو المشروع .
(ملاحظة : يمكنك تشغيل المشروع أيضا بالنقرعلى رمزStart من شريط الأدوات العلوي ..أو من القائمة Run ثم Start..)
و الآن أغلق المشروع من زر الإغلاق في الأعلى (أن قلت المشروع و ليس الفيجوال).
ستلاحظ أنه قد عاد إلى وضع التصميم و الفورم المنقطة..الآن لاحظ اسمها Form 1 لماذا هل هناك Form2؟؟
سيصبح هناك Form 2الآن من القائمة Project اختر Add Formستظهر لك نافذة لإضافة عدة أنواع من الصفحات اختر المحددة وهي Form ثم Open.
و الآن لاحظ ها قد صار المشروع مكون من نافذتين وهكذا ..طبعاً الأنواع الخرى لن نتطرق لها الآن( مثل الModule وهي تسخدم في صناعة الفيروسات لأنها خفية).
لا حظ أنه يمكن التنقل بين الفورم1 Form 1 و الفورم 2 Form 2من خلال نافذة ال Project Explorer لذلك طالبتك بإظهار هذه النافذة في البداية..و الآن لنترك أمر الفورم وعددها وننتقل للتعديل على الفورم نفسها.

الخصائص (من دون توسع لأن لها درس خاص):
عندما تقوم بوضع الفأرة داخل الفورم و النقر ستلاحظ في نافذةProperties أن خصائص الفورم قد ظهرت و بالترتيب فمثلا قم بتعديل الخاصية Caption وهي تعني عنوان الفورم إلى النص الذي تريده حتى ولو كان بالعربية وستلاحظ تغيير عنوان الForm فورا إلى النص الذي أدخلته..
ملاحظة : لاتقم بتعديل الخاصية Name للفورم أو أي عنصر ستعلمه لاحقاُ لأن الفيجوال يتعامل معه على هذا الأساس.
أيضا عدل الخاصية BackColor أي لون الخلفية إلى اللون الذي تريد و لاحظ أنه تغيير لون الفورم إلى اللون المحدد ..
أيضا عدل الخاصة BorderStyle و هي خيارات إلى أحد الخيارات جربها واحد واحد ولا حظ إطار الفورم Form..و جرب النتيجة لكل خيار منها..
و الآن حتى درس الخصائص حاول أن تجرب بعض منها لكي تعرف مهمته وهذه الخصائص طبعاُ نفسها لكل Form.

العناصر و الأدوات:
انتقل الآن إلى صندوق الأدوات Tool Box والذي يحوي رموز قد تكون مألوفة بالنسبة لك...ستجد أن الرمز المختار تلقائيا هو رمز الفأرة Pointer و الآن سنتعرف على هذه الأدوات جربها واحدة واحدة من الأعلى:
اختر أي عنصر وقم برسمه على الفورم بداخلها طبعاُ ثم أذا أردت غير أبعاده كما تغيير أعاد الفورم عن طريق التحكم بأطرافه ..
الأداة Picture Box: أداة لعرض الصور بداخلها جرب أن تضع صورة بداخلها عن طريق النقر عليها لمرة واحدة ثم اتجه لنافذة الخصائص حيث ستجد خصائصها ومن الخاصية Picture اختر صورة من عندك..
الأداة Label: لوضع نص يداخلها غير قابل للتعيدل من قبل المستخدم ..غير الخاصية Caption من خصائصها ثم اكتب ماتريد و لا حظ تغيير النص إلى ما كتبته حتى ولو بالعريبة.
الأداة TextBox: أداة نص قابل للتعديل من قبل المستخدم ..لا تملك خاصية Caption ولكن عوضاُ عنها عدل بالخاصية Text ولاحظ كيف سيتغيير النص بداخلها ..شغل المشروع (F5) وجرب أن تغيير النص فيها كمستخدم.
الأداة Frame: مجرد صندوق لجمع عدد من العناصر للدلالة على مهمة معينة ارسمها على الفورم وستعرف مهمتها وحدك غير أيضا الخاصيةCaption لما تريد...
الأداةCommand(هام): وهو أشهر أداة أي الزر وهو غني عن التعريف ..قم أيضاُ يتغيير الخاصية Caption لما تريد ..
الأداة Check صندوق اختيار ..
الأداة Option: اختيرا اجباري ..
الأداةCombo : ارسمها وستعرف ما هي .
الأداة ListBox: ارسمها ايضا وستعرف ماهي.
الأداة Timer : اتركها الآن لمستوى متقدم..
الأداةShape: مجرد أشكال..
الأداة Image: لعرض الصور أيضا لكنها تتميز عن الPictureBox بأنها لا تقبل التعديل على الصور و الفلاتر مثلاُ.
الأداة و باقي الأدوات جربها فمن ما عدا أداتي ال Ole و الData لأنها لمستوى متقدم.
حفظ المشروع :
بعد هذا التصميم كله تريد حفظ مشروعك بالحقة vbe ليكون قابل للتعديل الآن من القائمة File خذ الأمر
Save Project As... عندها حدد مكان الحفظ و سيقوم المشروع بسؤالك عن حفظ الفورم Form واحدة واحدة ..ثم يسألك بعدها عن كلمة سر المشروع إذا أحببت أن تحميه ..إذا أردت وافق و اكتب كلمة سر علما أن المشروع لن يفتح بدونها و إن لم ترد ذلك اختر Cancel..
(ملاحظة هامة جدا: قد تغلط و تقوم بالنقر نقر مزدوج على الForm أو أي عنصر آخر عندها ستظهر لك نافذا الكود Code وهي نافذة للكتابة بالكود فقط أغلقها حاليا لن نتعامل معها الآن..)
و إلى هنا يكفي لهذا الدرس..أرجو ان اكون قد وفقت في كتابة الدرس..و أخذنا جولة برمجية ممتعة ..و الآن أريد تقاريركم هل عرفتم تطبقوا الدرس وما الصعوبات التي واجهكم و شكرا..

إخوكم : إيــاس

أبطال الديجيتال
18-08-2004, 22:56
يا سلام عليك يا إياس إلى الامام

و أنا سأتابعك درس بدرس

LYM
19-08-2004, 08:44
مشكور على الدرس ^_^

Sassy
19-08-2004, 08:56
شكرا على الدرس ::جيد::

The Crash
19-08-2004, 16:09
السلام عليكم ورحمة الله ..نعود لنكمل الدروس مع درس مهم قد بدأناه سابقاً وهو الخصائص ..وهي عنصر هام جداُ و سنتعلم فيما بعد أنه يمكن تعديلها بالكود نفسه ..









الدرس الثاني : الخصـــائـــص




السلام عليكم.. سنتحدث اليوم عن الخصائص و الخصائص كما قلنا توجد على يمين شاشة الفيجوال وستجد كلمات كثيرة منها قابل للتعديل المباشر أو ختيرا المحدد(مثلا True -False) و سأكتب هنا مهمتها:
Name : اسم الاداة ويتعامل الفيجوال مع الأداة بهذا الاسم فلو كتبت كود لها عليك كتابة اسمها لذلك يفضل إبقاء اسمها كما هو مثلا -Picture-Text - Label.
Alignment : تحديد مكان النص، في اليمين او الشمال او في الوسط.
Appearance: تحديد شكل الاداة اما بشكل عادي او بشكل ثلاثي الابعاد.
Autosize: اذا كانت True يعني ان الاداة ستتخذ حجم تلقائي يناسب محتوياتهاكما في الpicture.
Backcolor : لون الخلفية
BackStyle: شكل الخلفية اما شفاف او ملون.
BorderStyle : نوع الإطار قد يكون غائر أو منبسط .
Caption : العنوان او النص
Datafield : حقل قواعد البيانات
DataFormat: هيئة قواعد البيانات، اما نص او رقم ...الخ
DataMember : تحديد عضو محدد من قواعد البيانات اذا كانت قواعد البيانات تحتوي على عدة اعضاء.
DragIcon : الايقونة المستخدمة اثناء السحب.
DragMode : نظام السحب .
Enabled : تمكين الاداة، فهي عادة True ، ولكن عندما تكون False تكون الاداة بلون رمادي وغير قابلة للاستخدام أي غير مفعلة..
Font : الخط.
ForeColor : لون الخط.
Height : طول الاداة.
Left : موقع الاداة الافقي,
LinkItem : لتحديد البيانات التي سوف تمرر لقواعد
البيانات الوجهة اثناء استخدام DDE للتخاطب مع برنامج اخر
LinkMode : نظام الربط، ايضا لقواعد البيانات.
MouseIcon : ايقونة الماوس عند التمرير و الضغط.
MousePointer : مؤشر الماوس و حتى يعمل الذي حددته غير الخاصية
إلى custom.
OLEDropMode : نظام الافلات في برامج اخرى,
RighToLeft : تستخدم في البرامج العربية لتحويل الاداة من اليمين الى اليسار.
TabIndex : ترتيب الاداة من حيث التنقل بالضغط على الزر Tab.
Tag : تستخدم لتخزين اي بيانات اضافية,
ToolTipText : تحديد النص الذي سيظهر عند ايقاف الماوس فوق الاداة.
Top: تحديد مكان الاداة العامودي.
Visible : اظهار و اخفاء الاداة.
Width : عرض الاداة.
WordWrap: تحديد اذا ماكانت الاداة سوف تتمدد لاتساع النص الموجود فيها.
و هناك خصائص أخرى منها :

خصائص عنصر الForm:
Picture:صورة الخلفية و لإزالتها كل ما عليك هو حذف النص داخل الخانة Picture التي تأخذ اسم Bitman.
Windows State: حالة الForm عند التشغيل وهناك ثلاث خيارات:
Maximiz: تكبير على ملىء الشاشة .
Minimize: مصغرة.
Normal : أي الحجم الذي حددته أنت عند التعديل على الفورم.
StartUpPosition : لتحديد موضع الفورم عند التشغيل في منتصف الشاشة أو غير ذلك..
Icon : أقونة الفورم في الأعلى بدل من أيقونة الفيجوال التقليدية و سيأخذ البرنامج نفس الأيقونة عندما تحوله إلى تنفيذي EXE.
ControlBox : أي يتحكم في الأزرار الثلاثة العلوية (إغلاق - تصغير - تكبير) سواء تظهر أو لات ظهر عن طريق الTrue و ال False جرب.

خصائص عنصر الImage:
picture: هو الصورة التي ستحتويها.
Stretch: وهي لاحتواء الصورة بكاملها و ذلك بحجم الimage.

خصائص عنصر الText:
Locked:أي لا يسمح للمستخدم بالكتابة بداخلها فقط النسخ.
Passward: أي شكل الأحرف في مربع لكلمة السر مثل (*أو x).
Max lengh: أقصى عدد من الحروف لكتابته في الText فمثلا لو كتبت 5 لن يقبل الText أكثر من 5 مدخلات . ولو كتبت صفر سيقبل عدد غير منتهي .
MultiLine : أي إذا كان False لا يسمح بأكثر من سطر واحد للكتابة أما إذا كان True فيسمح بعدة أسطر مثل المفكرة.
خصائص عنصر الPicture:
AutoSize: يقوم بأخذ حجم الصورة الطبيعي مهما كانت .
AutoRedraw : لن تتمكنوا من فهم هذه الخاصية إلا بعد التعمق في الفيجوال لذلك لنتركها الآن وتذكروا أنها يوماً ما ستحل لكم مشكلة كبيرة كما حصل معي في تصميم برامج الGraphics.

أما الأحداث فسأتركها حتى نتعلم ما هو الكود و التعامل معه وهو اهم درس....وشكرا..
ولكن حتى الآن لا يوجد ستفسارات هل استطعتم تطبيق الدرس جيداً.وشكرا للأخوة

أخوكم : إيـــاس نبهان
eias@sify.com

أبطال الديجيتال
19-08-2004, 22:52
مشكووووووووووووووووور على الثاني

أبطال الديجيتال
19-08-2004, 22:55
ونبهان بحق


اسم على مسمى

على فكرة ابن خلي اسمه اياس و هو أيضا عبقري

The Crash
20-08-2004, 16:27
السلام عليكم ورحمة الله ...شكرا للأخو حسام و العاشق و Sassy على متابعة الدروس و نتمى مشاركة باقي الأعضاء..
و نتابع دروسنا مع درس هام جدا يجب ....وهو.
الدرس الثالث : الكــــــود و التعامــل معــه :

الكود هو الأمر الكتابي الذي سيقرأه الvb لكي ينفذه الجهاز بأوامر خاصة و كيفية و ضعه سهلة افتح الvb ثم ضع زر(مثلا) بالضغط على رمز Command و رسمه على الفورم(Form) ثم اانقر عليه نقر مزدوج باليساري أو انقر باليميني على ال Command ثم اختر View Code و ستظهر لك نافذه بيضاء تسمى نافذة الكود Code وفيها السطرين التاليين:


Private Sub Command1_Click()

End Sub


لاحظ اسم الCommadn1 ولا حظ إلى جانبه Click أي هذا الكود عندما يتم النقر عليه ..
بين هذين السطرين سنضع الكود و لاتقم بتعديل أي كلمة من هذين السطرين ولا حرف هذا من عمل المتقدمين والكود الذي نبدأ به عادة هو كود الإنهاء اكتب أو انسخ الكملة التالية ما بين السطرين
وهو:
End
بحيث يصبح الكود كما يلي:


Private Sub Command1_Click()
End
End Sub


ولا تخف إذا كنت قد حذفت أحد الأسطر او الأحرف فقط اضغط على Ctrl +z لكي يتم التراجع عن آخر الخطوات أريأتم ذكاء الفيجوال و تستطيعون التراجع إلى عدد كبير من التراجعات و ليس مرة واحدة.
و الآن جرب البرنامج و انقر على الCommand 1 و لاحظ أغلق البرنامج هاهو أول أمر نكتبه قد عمل ..و الآن عد لنافذة الكود و لنكتب كود لا يفهمه الكود متقصدين ذلك لنرى ردة فعل الفيجوال..اكتب مثلا بدل كلمة End اكتب
Endo
و شغل البرنامج و انقر مرة أخرى على الComman1 ماذا حصل؟؟ لقد ظهر صندوق ‏نص يخبرك بأن مترجم الفيجوال لم يفهم ماذا كتبت أي أن الفيجوال لا يستطيع قراءة هذا الكود.. طيب اضغط على زر موافق لاحظ كيف أنه علم لك الخطأ بالون الأزرق و عنوان الكود باللون الأصف ..ألم أقل لك أن الفيجوال ذكي لقد كشف الخطأ و حدده لك طبعاً من المستحيل أن تجد الخطأ وحدك في برنامج يحوي مئات الأسطر مثلا..الآن احذف هذه الكلمة ثم عد ولكتب كلمة End ولا حظ كيف عاد البرنامج يعمل بشكل طبيعي ..
و الآن لنأخذ كود آخر مثل كود صندوق النص البسيط اكتب بين السطرين بدل كلمة End بجيث يصبح الكود بالشكل التالي:


Private Sub Command1_Click()
MsgBox ("Wellcome!!!")
End Sub


لاحظ صندوق النص في الفيجوال نسميه Msgbox اليس واضح من التسمية و كتبنا بين القوسبن () النص الذي نريده و في الفيجوال دائما عندما نريد كتابة نص نكتبه بين القوسين " "
مثلا:"Wellcome "
و الآن جرب البرنامج ولا حظ النتيجة ..بعدها إذا حبيت تعدل على النص كما تريد أو تكتب حتى بالعربي ..
والآن لنتعرف على نوع آخر من الأحداث فالCommand قام بتنفيذ الكود بعد ان نقرنــا عليه ولكن مذا لو أردنا أن ينفذ الحدث عند المرور بالماوس فوقه أو بعد الانتهاء من النقر هذه هي مهمة الأحداث لا حظ في شاشة الكود من الأعلى يوجد قائمتين منسدلتين(Combo بلغة الفيجوال) الولى من أعلى اليسار وهي تقومبنقلك من كود عنصر إلى كود عنصر آخر مثلا من كود الCommand 1 إلى كود الCommand 2 و حتى للفورم و هناك قسم General وهو قسم التصريحات العامة ولكن هذا لا يهمنا الآن ..الآن انتقل للقامئة في الأعلى من اليمين و لاحظ ماكتب فيها ..Click-MuseMove-KeyPress.
الآن انتقل للحدث MouseMove و انقر عليه و لاحظ كيف تغير شكل الكود العام بدل:


Private Sub Command1_Click()

End Sub

إلى


Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

End Sub

(طبعا xو y وغيرها باراميترات لن نتعرض لها الآن..)
الآن ضع بين هذين السطرين الكود



Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
MsgBox ("By Eias")
End Sub

نفهم الكود أليس كذلك.
هذه هي الاحداث و سأكتب هنا توضيح عنها:
Click : عند النقر.
DragDrop: عند الجر.
KeyPress: عند النقر من لوحة المفاتيح.
MouseDown: بعد الانتهاء من النقر بالماوس.
و الآن ضع Textعلى الفورم و انقر عليها مرتين للدخول إلى كودها و ها نحن نرى حدثاُ جديدا وهو:
Change: أي عند الكتابة فيها.
الآن انقر على الفورم Form نقرتين لأن للفورم أيضاُ كود ولاحظ ايضاً أحداث جديدة :
Load:أي عند التشغيل فور البدء.
Unload: عند إغلاق الفورم.
Resize: عند تغيير الحجم عن طريق الأطراف.
DblClick: نقر مزدوج.
Initialize: البدء ...و الباقي لا يهمنــا.
و اللآن لتجري الحدث Load في الفورم :
ضع الكود في الحدث Form Load كما يلي :


Private Sub Form_Load()
MsgBox ("By Eias")
End Sub

ثم جرب البرنامج و لاحظ ..أنه عندما تفتح الفورم يبدأ الكود بالتنفيذ..

تطبيق الكود على العناصر:
ضع زر Command على الفورم و في الحدث Click(بعد أن تعرفنــا على الأحدثا سنتعامل معها بشكل دائم)
اكتب Form1 ثم . أي نقطة فلاحظ قد ظهرت لك قائمة اقرءها ولاحظ أليس هذه الكلمات مؤلوفة نعم إنها خصائص الفورم و قد قلنـا سابقــا أنه يمكن تعديلها من الكود نفسه لا حظ ضع الكود التالي:


Private Sub Command1_Click()
Form1.Caption = " Wellcome"
End Sub


و الآن شغل البرنامج قد أخذنــا سابقا أن الCaption تدل على العنوان فعندما تنفذ الأمر ستلاحظ أن عنوان الفورم قد تغيير إلى كلمة Wellcome أو أي كلمة تكتبها في الكود حتى ولو بالعربي ..
الآن لنعود للكود ونفهمه أليس واضحا لنترجمه (الفورم2.عنوانها="أهـــلا") وكأنه يتكلم كلام عادي أليس سهل و كذلك الأمر مع الألوان...لنجرب تجربه أخرى...
أولا عليك معرفة رقم اللون....كيف ذلك؟؟
انسخ الرقم الموجود داخل اللون مثلا &H80000008& يدل على اللون الأسود والآن بعد أن اختر اللون المناسب اذهب للCommand و ضع الكود في الحدث Click على الشكل:


Private Sub Command1_Click()
Form1.BackColor = &H80000008
End Sub

و الآن أكيد أنكم بدأتم تفهموا هذه الأكواد وهي مجرد تحكم بالخصائص ..وعليكم الآن أن تحاولوا أن تكملو االكودات على حسب ما فهمتم فعدل على العنوان و اللون و الحجم Width و Height0.
الانتقال من فورم إلى أخرى:
سننتقل إلى كود آخر وهو كود النتقال إلى صفحة أخرى مثلا افتح مشروع جديد و أضف إلى اثنين Form.
وضع في الفورم الأولى زر Command و ضع فيه الكود التالي:(في مرحلة قادمة لن أكتب كل الكود و إنما محتواه فقط و لكم أنتم حرية وضعه في أي عنصر ):


Private Sub Command1_Click()
Form1.Hide
Form2.Show
End Sub

و جرب البرنامج و لاحظ واذا حصل لقد اختفت الفورم1 و ظهرت الفورم 2 ..لا حظوا الكود أليس واضحا
حيث Hide تعني إخفاء و Show تعني إظهار و هذه ترجمة الكود
الفورم1.إخفاء
الفورم2.إظهار
و النقطة . عنصر اساسي في كل كود لمعرفة المهمة والفصل بين العنصر و المهمة ..
والآن ماذا لو اردنا أن تظهر الفورم 2فقط دون إخفاء الفورم 1...لاحظ الكود:


Private Sub Command1_Click()
Form2.Show
End Sub

لاحظ الفورم 2 ظهرت ولم تختفي الفورم 1 (أنتم حتى الآن فهمانين علي 100% ولا هيك هيك الأكواد وضحة أليس كذلك و لا طريقة أخرى لتوضيحها أكثر من ذلك.)
تطبيقات على الكود:
تطبيق 1:
أضف للمشروع Commadn وText وضع في الCommand الكود التالي(لن أحدد الحدث وتركت لك حرية الاختيار ضع الكود حيث تشاء):


Text1.Text = Time

حيث أن الكلمة Time هي دالة يتعرف عليها الفيجوال على أنها الوقت ...إما إذا أردت التاريخ استبدل الكلمة Time ب Date ..فيصبح الكود:


Text1.Text = Date

تطبيق 2:
تصميم برنامج حاسبة بدائية:
أضف للمشروع ثلاث عناصر Text أربعة عناصر Commadn و قم بتسميتها على أسماء العمليات الحسابية الأربعة ( جمع - طرح - ضرب - قسمة) وقم بتتريب هذه العناصر بشكل متناسق .. وستكون ال Text1و الText2 هما الذان سنكتب فيهما الرقمين المراد جمعهما أو ضربها ...و في الText3 سيكون ناتج العملية.
و الآن في الزر (جمع) ضع الكود :


Text3.Text = Val(Text1.Text) + Val(Text2.Text)

حيث val تعني أخذ القيمة العددية فقط في الText وليس النص المجود فيها ..
(ملاحظة : لا تكتب في الTextأي نص أكتب فقط أرقام لأنه غذا كتبت نص سيجدث خطأ و هذا يتطلب معالجة الأخطاء وهذا درس آخر..)
وفي الزر (طرح ) ضع الكود التالي:


Text3.Text = Val(Text1.Text) - Val(Text2.Text)

لاحظ استبدلنا إشارة ال + ب - فحصلنا على عملية الطرح سهل اليس كذلك..
و الآن في زر (الضرب) ضع الكود :


Text3.Text = Val(Text1.Text) * Val(Text2.Text)

فقط استبدلنا ال+ ب * .
و في الزر (قسمة) ضع الكود :


Text3.Text = Val(Text1.Text) / Val(Text2.Text)

و الآن جرب البرنامج و قم بإدخال عددين وجرب العمليات الأربعة ..ها قد صممنا حاسبة.
وحتى هنــا يكفي الدرس صار طويل ولكنه مفيد جدا و اهم شيء دوما حاول تفهم الكودو لكن أنا حتى الآن لم اعلم مستوى تقدمكم وتفاعلكم مع الدروس لذلك حبذا لو تقرير بسيط يكتب ماواجهه من صعوبات و ما تعلمه من أشياء...حتى اعلم كيف سنتعامل مع الدروس القادمة..وشكرا .
قوموا بالاطلاع على الملف المرفق وهو عبارة عن مشروع لتوضيح ما سبق فيه بعض الأكواد طبعا الملف هو الكود الأصل أي تفتحه من الفيجوال..وشكرا..

أخوكم : إيــاس نبهان
eias@sify.com

أبطال الديجيتال
20-08-2004, 22:07
ممتاز ونحن ننتظر منك

و عندي سؤال هل يقريك محمد نبهان

The Crash
21-08-2004, 05:30
لا والله لا يقربني وهو في مدينة اخرى غير مدينتي و محمد الحفار الذي سألت عنه هو عضو في نادينــا ..ولكن أنا شاكك بأمركم حتى الآن لا أسئلة و لااستفسارات و كأنكم لا تطبقون الدرس أريد أي شيء يثبت أنكم عم تفهموا علي..مثلا مثال أو كود..يا جماعة افهموني يجب أن أعرف مستواكم حتى أعرف ما هو الدرس الذي يجب أن أكتبه ..

إيـاس

The Crash
22-08-2004, 05:36
السلام عليــكم ورحمة الله ...سنتابع مع الكود نظراُ لأهميته مع تطبيقات اخرى..
درس 4 : تطبيقات متقدمة على الكـــود:
تطبيق1 :
ضع على الفورم Timer وهو العنصر الذي أجلناه ولم نتكلم عنه اتجه إلى نافذة خصائصه ستجد خاصية باسم Interval وهي مسؤولة عن سرعة المؤقت Timer و ستكون قيمتها 0 قد يتغييرها إلى 1000 و أضف Label إلى المشروع ثم اكتب الكود التالي في ال Timer:

Label1.Caption = Time
ها قد حصلنا على ساعة رقمية ..ما رأيكم..حاولوا تطبيق نفس الفكرة على الText ...
تطبيق 2 :

الفكرة هي كيفية تغييراللون عند وضع الفأرةعلى العنصر
1.في الفورم ضعlabel ولتكن label1 وسمها بالاسم الذي تشاء.
2.اجعل خاصية الlabel وهي الخاصية BACK STYLE تساوي O-TRANSPARENT.
3.ضع الكود التالي في ال LABEL والحدث MouseMove:


Label1.ForeColor = &H8000000E

4.ضع في الفورم و الحدث MosueMove الكود التالي:


Label1.ForeColor = &H80000012

5. شغل البرنامج وضع الفارة على ال LABEL وسترى أن لونها قد تغييرإلى الأزرق بمجرد المرور عليها طبق ذلك على ألوان مختلفة..

تطبيق 3:
سنصمم برنامج يتحكم بالنظام قليلا أو يسهل عملية تصفحه:
الكود التالي يقوم بفتح الخيارات الإقليمية:


Dim ei As Long
ei = Shell("rundll32.exe shell32.dll,Control_RunDLL intl.cpl,,2", vbNormalFocus)

الكود التالي لفتح خيارات المودم :


Call Shell("rundll32.exe shell32.dll,Control_RunDLL modem.cpl", vbNormalFocus)

الكود التالي لفتح خيارات الانترنت:


Call Shell("rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl", vbNormalFocus)

الكود التالي لفتح خصائص جهاز الكمبيوتر :


Call Shell("rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl", vbNormalFocus)

الكود التالي لفتح إضافة إزالة برامج جديدة :



Dim ad As Long
ad = Shell("rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1", vbNormalFocus)


إلى هنــا يكفي كتطبيقات و أترككم قليلا لكي تتدربوا على موضوع الكود المهم جدا حتى نكمل دروسنــا مع تحزيم البرامج..وشكرا.

أخوكم : إيــاس
eias@sify.com

The Crash
23-08-2004, 05:28
درس5:جعل البرنامج جاهزا ليعمل خارج الجهاز:

السلام عليكم و رحمة الله ... بعد أنا يتعرف الشخص على الفيجوال ويصمم برنامج عليه و لو كان بسيط يريد ان بجعل برنامجه جاهزا للعمل بعيدا عن بيئة الvb اما عمل البرنامج تنفيذي فهو أمر سهل:
من القائمة( file)ملف خذ الأمر Make Project 1 .exe و طبعا إذا كان برنامجك اسمه eias مثلا ستجد الاسم بدلا من اسم Project1..وقم بتعيين مكان الحفظ اتجد ملف واحد هو الملف التنفيذي أي ال Exe الخاص ببرنامج و بالأيقونة التي عينتها من داخل الفيجوال من الخاصية Icon للفورم..
الآن بعد أن تجد البرنامج مكان ما حددته افتحه ستجد انه يعمل وستجده بالأيقونة التي عينتها ( من خصائص الفورم icon) كما قلنا سابقا..
ولكن كثير ما تحدث المفاجأة عندما ننقل البرنامج إلى جهاز آخر غير جهازنا وهو أن البرنامج لا يعمل و على لأغلب ستكون العبارة بأنه يحتاج ملف dll .....
ماالحل؟؟؟؟
إن البرنامج عندما تعمل له أمر تنفيذي exe يكون غير كامل في الحقيقة و غالبا ما يعتمد على ملفات موجودة في system32 عندك في الجهاز لأن العناصر من Command و TextوLabel و غيرها ليست إلا ملفات بلاحقة Ocx (سنتكلم عنها لاحقاً) يجب أن تنقل مع البرنامج لكي يعمل على جهاز الغير الذي لايحوي فيجوال والآن ما العمل......إنه تحزيم البرنامج..
ما هو تحزيم البرنامج :
هو ضم جميع الملفات التي يحتاجها البرنامج مع الملف التنفيذي exe وخاصة إذا كان البرنامج فيه صور أو ماشابه..
كيف نحزم البرنامج .....نحزم لبرنامج عن طريق برنامج مرفق مع الvb اسمه
Package and deployment wizard
من القائمة ابدأ خذ كافة البرمج في Xp والبرامج في Me ثم خذ
Microsoft Visual Studio 6.0
ثم Microsoft tisual Studio 6.0 Tools
ثم Packge & Deployment Wizard فنكون قد وصلنا له...
(ملاحظة : إن لم تجد هذا المعالج في المكان المذكرو سابقاً لسبب ما فستجده في مجلد الفيجوال نفسه في الموقع التالي
Microsoft Visual Studio\VB98\Wizards\PDWizard
ويكون باسم PDCMDLN افتحه من هناك).
افتح ستجد واجهته بسيطة مكونة من ثلاث صور(لاحظ الصور المرفقة مع الدرس):
الأولى Packgeأي تحزيم و الثانية deploy أي نشر و الثالث نحن لسنا فيه الآن.
خطوات التحزيم:
1. ستجد كبسة browse استعراض اضغطها وحدد له البرنامج غير التنفيذي أي ليس الexe.
2.بعد التحديد اضغط Package عندها قد يظهر لك مريع يسألك ها تردي ترجمة المشروع أو Compile أو تحديدد الملف التنفيذي Browse..
خذ complie وإذا لم يقبل اعمل البرنامج تنفيذي وحدد له الملف التنفيذي.
3. بعدها كل ما سيأتيك اضغط NEXt وكل مايأتيك من مربعات نص اكتب فيه اسم البرنامج خاصتك.
4.بعد النتهاء قد يطلب ملف اسمه macab او ماشابه حدد له الملف في windows\system32 وبعدها سيعطيك تقرير .
5.بعدها نكون قد انتهينا من الحزم وجاء دور النشر...
6.خذ الخيار deploy..
7.بعدها ستمر بنفس الخطوات اضغط فقط next.
8.بعد الانتهاء اذهب للمجلد الذي وضعت فيه البرنامج غير التنفيذي ستجد مجلد اسمه حزم أو Packge افتحه ستجد قد صار لبرنامجك set up عندها يكون البرنامج جاهزا ..
هناك برامج أخرى للتحزيم مثل الSet up factory و wise Installion.هم أقوى من المعالج ولكن عندما تريد أن تحزم البرنامج عليك ان تضع في الحسبان نقل ملفات الDLLو ال OCX مع البرنامج وذلك لأن المعالج يقوم بنقل هذه الملفات إلى مجلد النظام في جهاز المستخدم أما هذه البرامج (مثل الSet up Factory ) فيجب وضع ملفات الdllو الocx مع البرنامج في نفس المجلد ...
فبعد أن تعمل تحزيم للبرنامج ستجد في نفس مجلد الحزم ملف بلاحقة Zip يحوي كل ملفات ال dll و ال ocx التي يجب نقلها مع البرنامج..
على فكرة إذا أردت أن تضع للبرنامج اسم الشركة و اسم المنتج التي تظهر في الخصائص أو اللون الباهت في xp اتبع ما يلي :
عندما تعطي خيار الMake exe ستجد في نافذة تحديد مكان الحفظ خيار Option افتحه وضع فيه ماتشاء من اسم وغيره..


أخوكم : إيــاس

Anime
23-08-2004, 11:01
The Crash
جزاك الله خير اخي
مجهوود طيب ^د^ , تسلم هالانامل الي اتقطر عسل
انا عندي سؤال بخصوص تحزيم البرنامج هل في نهاية المطاف يخرج لي البرنامج بمتداد Zip ام exe كالسيت اب
وامر اخر هناك مواقع احمل منها الـ DLL في حال كان ينقصني هل يجوز اضافتة ام علي اخذ بالموجود في ملف السستم32
وشكرا مرة اخرى

The Crash
23-08-2004, 16:32
أهلا أخي الكريم Anim الحقيقة سؤالك مبهم يعني هل بدأت بالفجيوال ..لكي أعرف كيف أجاوبك فهناك وجهتي نظر واحدة للمبرمجين و الأخرى للمستخدمين العاديين أنت لم توضح لي هل تسأل كمبرمج بدأ بتعلم الفيجوال إذا كان هذا سأجاوبك ..
طبعا في نهاية المطاف سيخرج لك Set Up حقيقي لن تفرقه عن Set Up أكبر البرامج و ستجد معه ملفات أخرى مثل أي برنامج عالمي إلا أن معالج الفيجوال تحديدا لا يحبذه المبرمجون المتعمقون ...اسألني لماذا ...مثلا أنا صممت برنامج لعرض الصور و قد صممت له ملف مساعدة كيف سأنقل ملف المساعدة مع البرنامج بنفس الSet Up لا بد أن نلجأ هنــا إلى برنامج قوي مثل ال SetuP Factory الذي يتميز بخيارات لا محدودة من شاشات وصور و كلمات السر و إعادة التشغيل ...هذا فقط..
و أما بالنسبة للسؤال الآخر فإن المعالج الخاص بالفجيوال يقوم بنقل كل الملفات اللازمة من DLLو OCX مع البرنامج في ملف بلاحقة Zip تحمل اسم برنامجك و تكون مجاورة لملف الExe الخاص بال Set Up في نفس المجلد ...يعني أنت بعد ما تعمل هذا التحزيم إما أن تعتمد عليه و يكفي ذلك لأنه سيقوم بنسخ الملفات دون أن تخاف أنت من نقصها ...أو أن تفك ضغط الملف هذا و تنسخ الملفات التي يحويها وكلها Dllو ocx وتعمل لها Set Upمع ملف الExe الخاص ببرنامجك على أحد برامج الSet Up...
و إذا كنت تقصد ملفات الdll التي تعرض في المواقع فهذا أمر مبكر جدا عليكم ..و إذا أردتم فيما بعد أعملكم كيف تصممون ملفات dll خاصة بكم تحوي صور مثلا أو أوامر خارجية..و لكن برنجتها ليست سهلة فليس أمامكم سوى صفحة بيضاء للكتابة ستكتب فيها فقط هذا هو ملف الdll..
إذا كان عندك أي سؤال آخر او توضيح لشيء لم تفهمه أنا جاهز ...و الحقيقية يسعدني أن أرى أشخاص يتابعون الدروس..
أخي Anime عندي استفسار هل يمكن تقسم الدروس إلى عدة صفحات بدل من ان تكون ي صفحة واحدة حتى تكون أسرع ..
وشكرا
إياس

Anime
23-08-2004, 18:50
جزااااك الله خير , وعساك عالقوة ^د^
انا فهمت الزبدة انه بالنهاية يخرجلي على هيأة سيت اب والملفات المرفقة بهيأة Zip مضغوط
ماشاء الله عليك شرح جميل صراحة وبسيط ودمة شربات مثلك
وان شاء الله سوف ارد عليك برسالة بشأن استفسارك ^د^

أبطال الديجيتال
23-08-2004, 23:33
أخي إياس هل عندك سيرفر للبرنامج رسائل جوال أريد


أن أصنع واحد أفيد منه لجميع الاعضاء و الذين أرعفهم

مثلا برنامج icq لارسال رسائل إلى الجوال مجانا و لكن.......

البرنامج يفتح الثغرات الامنية في الجهاز و في بعض الحيان لا يعمل

أرجو أن تفيديني بللللللللللللللللللليز

The Crash
26-08-2004, 11:29
شكرا أخي Aime أخي أبطال الديجيتال هل تقصد أنك تريد برنامج على الفيجوال لإرسال رسائل الجوال ...
إذا كن هذا قصدك فالموضوع كبير أكثر مما تتصور بكثير لأنه يعتمد على تقنية الWinSock المعقدة التي برمج بها الماسنجر .. ولكن أعتقد أنه من المبكر جدا أن تفكر بمثل هذا الأمر فأنا حتى لم أصل لمستوى الWinSock .ثم أنت لماذا مستعجل هكذا أتقن المبادىء حتى الآن ما أريتنا شيء من أعمالك البرمجية .ولكن أخونا العبقري رغيد الطيب قد ألف كتاب عن الWinSock تستطيع مراسلته على البريد:
RTABCS@Hotmail.Com
وهو عبقري فيجوال ...
إيــاس
عذرا على التأخر صرلي مقطوع 3 أيام عن الانترنت

The Crash
26-08-2004, 16:08
بسم الله الرحمن الرحيــم
السلام عليكم و رحمة الله ....سنتحدث الآن عن القوائم و التي كثيرا ما نستخدمها و
99% من البرامج تحتوي عليها

الدرس السادس : القوائـــــم :

و لكن كيف ننشأها:

.القوائم العلوية الظاهرة : اذهب إلى قائمة tools ثم خذ menu editor
الآن سيظهر لك نافذة صغيرة منها سننشأ القوائم في السطر الأول
caption : ضع الاسم الذي تريده أن يظهر في بformهذه القائمة رئيسية مثل file أو edit و ليكن file
في السطر الثاني
name: ضع قبل كل شي العبارة mnu وهي عبارة دائمة هنا ولا يستغني عنها وإلا سوف يحدث خطأ في ولن يقبلها ثم ضع أي اسم لأنه لن يظهر ولكن سيتعامل معه الvb مثل أي خاصية name.
و الآن اضغط ok علما بأنه لة أغلقت ال menu editro دون أن تضغط ok لن يحفظ التغييرات
و الآن ستجد القائمة file
و الآن كيف ستنجعل القائمة تنبثق عنها قوائم أخرى؟؟
إذهي مرة أخرى إلى الmenu editorا وستجد القائمة محفوظة
الآن اضغط زر اسمه next في الأسفل وستظهر حينها مكان لمعطيات قائمة جديدة أدخل المعطيات بالطريقة نفسها لfile و لاتنسى الmnu في السطر الثاني
والآن لو ضغطت ok ستجد بأن هناك قائمة جديدة ولتكن قد سميتها
en ولكن نحن نريدها أن تكون تابعة لfile
عد إلى menu editor وستجد بجانب زر next أسهم للأعلى و الأسفل و اليمين و اليسار الآن حدد القائمة en التي تريد أن تكون تابعة لfile واضغط السهم نحو اليمين وستجد في المربع الأبيض الكبير الذي يبن البنية الشجرية للقوائم بأن القائمةen قد أصيحت مسبوقة بأربع نقاط و الآن نكون قد أتممنا المهمة اضغط ok وستجد بأنهenأصبحت تابعة ل
file وهكذا ....
و إذا أردت أن تنشأ قائمة فرعيةعن أحد القوائم الفرعية مثل قائمة اسمهاmhdh تكون تابعة للقائمة الفرعية en اتبع نفس الطريقة فأنشىء قائمة جديدة تحت الen و لاتنسى الMnu ثم اضغط على السهم نحو اليمين الآن إذا اكتفيت بهذا ستصبح القائمة mhdh تحت القائمة en وتابعة ل file ولكن اذهب إلى menu editor مرة أخرى وعين الmhdh ثم اضغط مرة أخرى على السهم نحو اليمين وستجد أن عدد النقاط أمامها قد زاد و أصبح 8 وعندهاتكون قد أصبحت تابعة للقائمة en أغلق ال menu editor و لاتنسى ضغط Ok ثم ستجد في القائمة en سهم يوصل للقائمة mhdh وهو ما نريده ....
والآن إذا أردت أن تعيد القائمة mhdh كما كانت غير تابعة ل en بل تابعة ل file افتح ال meny editor وحدد mhdh ثم اضغط على السهم اليسار ستجد عددالنقا قد قل و أصبح 4 اضغط ok ستجدها عادت كما كانت و إذا ضغط على السهم اليسار مرتين ستذهب كل النقاط أمام الmhdh وتصبح قائمة رئيسية مثل file و هكذا أضيفوا ما تريدون من القوائم
والآن كيف نعطي القوائم أوامر مثل ال command أو غيره ...
عندما تكون في وضع تصميم الفورم تلا حظ بأن القوائم التي أضفتها يمكن
أنزالها قبل أن تضغط f5 لتجريب البرنامج الآن أنزل القائمة التي تريد وأضغط على أي قائمة تابعة لها مثل en ستجد بأن نافذة الكود قد ظهرت: ضع فيها الكود مثلا :


Form1.BackColor = &H80000009



و هو تغيير لون الفوم للون الأسود ....
شغل البرنامج و اضغط على en و ستجد بأنها قد نفذت الكود مثل أي عنصر...
وهكذا ...
2.القوائم اليسارية المخفية:
إذا أردنا أن نضع قوائم عند الضغط على الزر اليمين اتبع ما سبق و لكن
أولا أنشىء قائمة رئيسة مثل file وسمها tt وضع تحتها القوئام التي تريدها على أن تمون كلها تابعة لtt مع العلم أنه في القوائم هذه التي تظهر باليمين لا تضع في السطر الثاني name ةىع بل ضع الاسم الذي تريد ...
و الآن بعد أن انتهيت من إعداد قائمتك اليمينية اذهب للقائمة الرئيسية لها وهب tt ستجدو أزل إشارة الصح عن صندوق الاختيار visible و هو يقع فوق مربع القوائم وذلك لجعل القائمة tt مخفية...
والآن أهم شي ضع الكود التالي في الفورم و في الحدث
mose down ولا تنسى ذلك ...


If Button = 2 Then
Form1.PopupMenu tt
End If


هذا الكود لإظهار القوائم التي أخفيناها من الخاصية VISIBLE
والآن كيف نستطيع أن نعطيها أوامر ونحن لا نراها مثل القوائم الظاهرة
ليست مشكلة .. اذهب إلى نافذة الكود في الFORM التي وضعت القوائم المخفية بها و ستجد بالقائمة التي تقع أعلى و يسار النافذة والتي يمكن إسدالها الآن أسدلها و ستجد بأن القوائم المخفية التي
أضفتها موجودة ولكن بالأسماء التي كتبتها في السطر الثاني و هو سطر الNAME و ليس ال CAPTION ...و الآن اضغط على أي اسم منها وستجد أنه وضع سطري الكود الخاصين به هنا ضع الكود وشغل البرنامج و اضغط بالزر اليمين و ستجد أن القائمة قد ظهرت و اضغط على أي اسم منها أعطيته أمر وليكن:


END


عنها سينفذ الأمر وينهي البرنامج و هكذا......
ملاحظات ضرورية:

1. إذا أردت و ضع خط ذو لون خافت بين عناصر القائمة مثل أي برنامج
اتبع ما سبق من جيث تصميم قائمة تابعة للقائمة file ولكن ضع في السطر CAPTION الرمز (-) و ضعه دون القوسين
أما في السطر NAME فضع الاسم line وأذا أردت إضافة خط آخر ضع
في السطر name بدلا من Line ضع Line 1 وهكذا بالترقيم و ضع الخط بين أي عنصرين وشغل البرنامج ستجد الخط....
2.إذا أردت أن يظهر خط تحت حرف من القائمة file مثلا بحيث أنه إذا
ضغطت alt يظهر هذا الخط و إذا ضغطت من لوحة المفاتيح على هذا الحرف فإن القائمة file تنزل ضع في السطر CAPTION
بدلا من file ضع file& أي يجب أن تسبق الكلمة ب الرمز(&) وليس من الضروري في أول الكلمة ممكن بالشكل f&ile و هكذا ...
3.إذا أردت وضع اختصار لعنصر معين من القائمة إي عند الضغط عليه من لوحة المفاتيح يفعل الأمر ستجد في الMENU EDITOR
قائمة يمكن إنزالها و اسمها (SHORT CUT) عندما تضغط على
أحد عناصرالقائمة لتعلمه ستجد أنه في قائمة الSHORT CUT
الرمز (NON) أيلا يوجد اختصار والآن لتضع للعنصر الذي علمته اختصار أنزل هذه القائمة بعد تعليم أحد العناصر و اختر أحد الاختصارات الموجودة
ثم اضغط ok للخروج و حفظ التغييرات و ستجد بأنه عنما تضغط على
الزر نفسه من لوحة المفاتيح يقوم بتنفيذ الأمر و إذا أسدلت القائمة في البرنامج ستجد أن الاختصار قد كتب إلى جانبه...
3.إذا أردت أن تظهر إشارة صح أو (check) إلى جانب القائنة الفرعية ستجد عند تحديد القائمة من
MENU EDITOR بأن هناك مربع أختيار صغير إلى جانب ENABLE هو CHECKED
ضع إشارة صح بالمربع و جرب البرنامج ستجدها
كما يمكن إزالى الإشارة عن القائمة MHDH مثلا و ووضعها عند القائمة EN وذلك بوضع الكو د



mnuen.Checked = True
mnumhdh.Checked = False


وشكرا ...
ما لكم حتى الآن لا تجاوب يا جماعة أريد أن ارى اعكمالكم :بكاء:

أخوكم : إيـــاس نبهان

أبطال الديجيتال
27-08-2004, 22:17
أخوي إياس أنا على فكرة قاعد أسوي برنامج عن Hilary duff إذا تعرفها بس آه ه ه ه ه ه ه ه ه.............


للاسف البرنامج حجمه أصبح قريب ال 10 ميجا بسبب إضافة أغانيها و صورها و ليس عندي dsl

أرجوك أن تساعدني أرجووووووووووووووووووووووووووووووووووك

و لك شيء بالمقابل أرجوك

أليس الصديق وقت الضيق

يالله صرلي شغال في البرنامج ثلاث أيام في الاخير أتفاجئ أن حجمه كبر بسرعة

والله ظهري راح فيها حسوا فييييييييييييييييييييييييي أنا

آ ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه ه

أبطال الديجيتال
27-08-2004, 22:30
على فكرة أنا قاعد أطبق و لكنني مشغول ووصلت إلى الدرس الرابع لانو تعرف المدارس قربت و لازم أروح أشتري ملابس

بس والله نتابع يومين و أعطيك ما طبقته وبعدين تعرف العضو في vb4arab المبرمج أحمد سألته في بعض الاشياء لانك لم تكن موجودا

hinata
28-08-2004, 06:21
يسلمووووووووووووووو
موضوع مفيد
الله يعطيك العافية ..........

The Crash
29-08-2004, 12:33
أهلا أخي الكريم حسام ...لا والله ما اعرفها ولكن مالذي تريده بالضبط لم أفهم عليك....
و المبرمج أحمد أحد أصدقائنا هناك..وشكرا.
شكرا hinata و أخيرا بدأ الأعضاء يوعون لأهمية الموضوع

أبطال الديجيتال
30-08-2004, 00:51
أخي اياس كلمني بالماسنجر و أفهمك

The Crash
30-08-2004, 15:34
السلام عليكم ورحمة الله..سنتكلم اليوم عن ملفات الOcx و التي سنتعرف عليها الآن ...

الدرس 7 : ملفات الocx و التعامل معها
:

أولا ما هي ملفات الOCX?
ببساطة إن ملف الocx الذي يشبه ملف الDll هو ليس إلا هذه الأداة التي تأخها من صندوق الأدوات Tool Box ثم تقوم برسمها على الفورم بالحجم و الشكل الذي تريده و اللون و الاسم و ....و كل خاصية أو حدث كلها تكون مبرمجة و جاهزة للاستعمال في ملف الocx الذي يوجد عدد كبير منها في مجلد الSystem..
و لنأخذ هذه المقدمة عنها
تقنية OCX - وبداية ظهور Activex :
إن ثورة التقنيات لـMicrosoft Visual Basic بدأت مع الإصدار الأول وأخذت تنموا بالتدريج حتى كانت الثورة الثانية في الإصدار الرابع حيث في هذا الإصدار تم تغير محركEngine (وهوا الملف الذي يدعم البرامج أثناء تشغيلها ويسمى VVBRUN والذي كان مبني على تقنية 16-Bit ويعرف باسم Ruby والذي قام بابتكاره (الآن كوبر ) الأب الروحي لـ Visual basic) وفي بداية ظهور تقنية 32-Bit (Windows95 & WindowsNt) قامت Microsoft ببناء محرك جديد أسمته Object Basic والذي يعرف الآن باسم VBA وكان أهم ما في هذا المحرك هوا دعمه لتقنية COM .
وكان مع الإصدار الرابع على مطوري Visual basic دعم أدوات التحكم الخاصة Custom Controls ولم تكن VBX صالحة لذلك لا شكلاً ولا مضمونا , وكان البديل لذلك هوا دعم هذه الأدوات عن طريق تقينه OLE 2 ولكن لم تفي تقنية OLE 2 باحتياجات Visual basic لذلك تم تطوير OLE في صورة ابتكار أداة تحكم قائمة على OLE سميت (ocx)

ومع تتطور أنظمة التشغيل التي تعمل على تقنية 32-Bit وانتشارها , ومع ظهور لغات برمجة الانترنت المختلفة , قامت Microsoft بتغير هندسة تقنية ocx لتصبح صالحة للاستخدام على الشبكات وبخاصة شبكة الانترنت وقد قامت الشركة أيضاُ بتغير اسم التقنية من OLE والتي بنيت عليها ocx إلىActiveX .
ومن هنا بدأت الثورة الحقيقة لمبرمجين Visual Basic وهي إتاحة تطوير الأدوات Activex لتكون أسهل الطرق لإنتاج كائنات جديدة أو برمجة صفحات الويب بواسطة هذه التقنية .
وبعد هذه المقدمة...دعونا نتعرف أكثر عليها أنت حتى الآن من خلال الدروس السابقة لم تتعامل إلى مع عدد قليل منها Text و Labelو Picture و غيرها ..و لكن ما رأيك أن الفيجوال يملك عناصر أكثر من هذه التي تراها أضعاف مضاعفة و ألأكثر احترافية ...( ستتعرفون على قوة الفيجوال الحقيقية في برمجة الألعاب)..
الآن لا بد أن ذلك أثار حيرتكم أين هذه العناصر إذا ...هيا معا كي نتعرف عليها ان تختبأ..
اذهب لقائمة العناصر Tool Box و انقر بالزر اليمين للفأرة ..(انقر خارج العناصر في المساحة الفارغة).
و الآن لاحظ قد ظهرت لك قائمة بثلاثة عناصر اختر الاول المسمى ب Components أي عناصر أو أجزاء.
و لاحظ النافذة التي ظهرت ..نعم إنها نافذة العناصر و كل ما تراه من العناصر الموجودة في القامئة البيضاء أمامك هي عناصر أو ملفات Ocx اختر أحدها و ذلك بتفعيل إشارة صح إلى جانبه ثم OK و لا حظ انه عند اخيارك أي عنصر ستلاحظ امسه وموقعه في الFrame تحت الآن اختر أحدها ثم OK و لاحظ صندوق العناصر Tool Box لقد زاد عدد العناصر و احد أو ربما اكثر (حسب الأداة)..على كل حتى الآن لن تتعاملوا مع هذه العناصر لأنها متقدمة قليلا مثل ال Common Dialog المسؤول عن فتح الملفات الخارجية مثل الصور و الاصوات .
و لكن ما ذا لو أردنا مستقبلا التعامل مع ملفات الOcx التي نستوردها من الخارج ...مثلا ربما تجد اداة في أحد المواقع تقوم بتحميلها و تريد استعمالها الآن سنتعلم كيف سنستوردها ...
عد للنافذة Components ثم بدل أن تختار عنصر ما من القائمة البيضاء أمامكم اختر Browse..
بعدها حدد موقع الأداة في جهازك ثم OPEN..عندها ستجد الأداة و قد اصبح اسمها في القامئة ثم اختر OK و ستجد الأداة في Tool Box ...
و أدوات الOcx على الرغم من صعوبة برمجتها أو بالأحرى تطويرها لكن يوجد عدد كبير من الأدوات التي صممها أشخاص عرب و أنا شخصيا قد صممت عدد من الأدوات مثل أداة شريط ال Xp الجانبي و أداة ال Suoper Label ولو كان الوقت مناسبا لقمت بإضافتها للموقع..
و شكرا
أخوكم : إيــاس نبهان
eiasnabhan@hotmail.com
في انتظار الاخ Anime لكي يضيف الدروس الجديدة للفهرس..

The Crash
01-09-2004, 10:29
السلام عليكم ورحمة الله نكمل دروسنا بدرس يسلط الضوء على أداة هامة في بعض البرامج وهي أداة الList..

الدرس 8 : التعامل مع الListو أشباهها:

في البداية يجب وضع الlist على المشروع
اذهب إلى صندوق الأدوات (tool box) و اختر منها list box
بعد و ضعها على الفروم وعند تشغيل البرنامج ستجد بأنها فارغة ةذلك بالحالة العادية .
الآن يجب و ضع مفاتيح لها أو خيارات و يتم ذلك بالفورم نفسها و ليس
بالList.
اذهب إلى الفورم load و ضع الكود التالي:


List1.AddItem "تجريب"

وهذا الكود حتى الآن يضيف للlist مفتاح واحد وسنكرر هذا العملية في كل مفتاح تريده..
(ملاحظة: من المفضل وضع المفاتيح بالترتيب الأبجدي و ذلك حتى لا تسبب ضياع بالبحث.)
شغل الفورم الآن و ستجد بأن الlistقد أضيف لها المفتاح(تجريب)
و هكذا كلما أضفت الكود السابق أضيف مفتاح كما أن المفاتيح سيكون ترتيبها كترتيب كوداتاها
"إذا وضعت الكودين التالين


List1.AddItem "eias1"
List1.AddItem "eias2"


فإن eias1 ستظهر قبل eias2 في الlist"
كما أن حجم الlist طولي يتمدد تلقائيا بعدد المغاتيح التي تضعها أي لا تخشى الإكثار من المفاتيح فإنه سوف يظهر شريط تمرير جانبي عندما
يكون عدد المفاتيح أكبرمن حجم اList. ومن محاسن هذا الشريط بأنه يتأثر بالthems الخاص للنظام.
ويمكن التنقل بين المفاتيح بالأسهم ( أعلى -أسفل) كما أنه إذا ضغطت من لوحة المفاتيح على أول حرف من المفتاح سينتقل تلقائيا للمفتاح.
ولاآن كيف نضع لهذا المفاتيح أولمر عند الضغط عليها.
اضغط على list ضغتتين لتظهر لك صفحة الكود click
ضع هذا السطر في البداية:



Select Case List1.Text

وبه نبدأ الكود الخاص بالList دائــما
ثم بعداها نبدأ بإعطاء الأوامر للمفاتيح وهنا سيكون الأمر أنه بالضغط على المفتاح الذي يرمزله ب (CASE)
سوف يتم الحدث (مثلا وضع نص في TEXT)..



Case "eias"
Text1.Text = "عضو يريد الإفادة"
Case "MHDH"
Text1.Text = "صديق كريم"
Case "eias" 'في هذا السطر حددنا أي مفتاح من المفاتيح
Text1.Text = "عضو يريد إفادة الآخرين" 'وهنا كتبنا الحدث الذي سيقع


و الآن بنفس الطريقة أعطي حدث للمفتاح (MHDH) "الذي يرمز لأحد أصدقائي المبرمجين"
والآن القسم الأخيرمن الكود هو الـتأكيد على الإنتهاء من عملية اختيار المفاتيح و هو بسيط جدا اكتب في نهاية الكود



End Select

فيصبح الكــود كــاملاً
في الفورم LOAD:



Select Case List1.Text
Case "eias"
Text1.Text = "عضو يريد الإفادة"
Case "MHDH"
Text1.Text = "صديق كريم"
End Select



شغل البرنامج وجربها و ذلك بعد أن تكون قد وضعت الTEXT1على الفورم أولا.
ويمكن التحكم بحجم الخط و شكله كأي عنصر آخر عن طريق الخاصية FONT
----------------------------------
أما بالنسبة اعنصر الكومبو(combo) أو القائمةذات السهم التي يتم إنزالها اذهب إلى قائمة الأدوات واختر منها
combobox ونضيف إليها مفاتيح عن طريق الكود التلي في الفورمload



Combo1.AddItem "http://www.vb4arab.com/"
Combo1.AddItem "http://www.mexat.com/"


-------------------------------------

أما بالنسبة للبحث عن عنصر من عناصر الLiST فيتم بالكود التالي :



Dim name As String
Dim i As Integer
name = InputBox("PLease enter term you want to search for")

For i = 0 To (List1.ListCount - 1)
If List1.List(i) = name Then
List1.Selected(i) = True
Exit For
End If
Next i



ولكن و للأسف إذا لم تكن الكلمتان متطابقتان لا يجده أبدا.
أردو أن أكون قد وفقت في هذا الدرس و أن تبدو رأيكم الذي يهمني ويدفعني لكتابةالمزيد.موعدنا بدرس قادم.و في انتظار الأخ Anime يضيف الدرس للفهرس.

جربو المثال مع الدرس...
أخوكم : إيـــاس نبهان

أبطال الديجيتال
01-09-2004, 21:28
أخي اياس كلمني لو سمحت بالماسنجر الساعة يا 12 أو 1 أو 2 طبعا بتوقيت السعودية

The Crash
02-09-2004, 16:23
السلام عليكم ورحمة الله ...سنتكلم اليوم عن مفهوم في البرمجة وهو مفهوم الجملة if Then ...

الدرس 9 : الجملة الشرطية If...Then

من معنىالجملة فهي تبدو جملية شرطية أي وترجمتها (إذا ......عندها) أي أنه إذا حدث كذا افعل كذا و لهذه الجملة ثلاثة أساسيات لا تتم بدونها وهي:
بداية الشرط :If.
إنهاء الشرط وبداية نتيجة الشرط:Then
إنهاء المجيلة كاملة :End If
و يكون بناء المجلة كما يلي :
If aaa Then
bbbbb
End If
حيث
aaa: الشرط اللازم تحققه .
bbbb: العملية التي ستنفذ عند تحقق الشرط ..
و لكي نفهم الجملية الغامضة إلى الآن يجب ان نأخذ مثال...
مثلا ليكن لدينا Text وCommandنريد أنه عند الضغط على الCommand إذا كان الرقم الموجود في الText يساوي الواحد يظهر صندوق نص ...تعالوا لنجرب هذه العملية..
في الCommand ضعوا الكود التالي:


If Text1.Text = "1" Then
MsgBox "الرقم هو الواحد"
Else
MsgBox "الرقــم ليس الواحد"
End If


ويمتاز هذا الشرط بالقدرة على التعددية ...فمثلا تستيطيع أن تكتب عدد كبير جدا من الشروط المتتالية:
فمثلا لو كنت تريد أنه إذا كان الرقم واحد يظهر رسالة (الرقم واحد) و إذا كان الرقم اثنين تظهر رسالة (الرقم اثنين )
إذا كان الرقم ثلاثة تظهر رسالة (الرقم ثلاثة) ...فلنجرب..


If Text1.Text = "1" Then
MsgBox "الرقم هو واحد"
End If
If Text1.Text = "2" Then
MsgBox "الرقم هو اثنين"
End If
If Text1.Text = "3" Then
MsgBox "الرقم هو ثلاثة"
End If

والآن جربوا البرنامج و جربوا إدخال أحد الأرقام 1 -2 -3..و لاحظوا كيف يظهر الMsgbox.

استخدام Or:
من معنى الكلمة تبدو أنها (أو) و نستخدمها مع الجملة الشرطية للتخيير
إذا كان النص =1 أو النص=2 عندها
صندوق نص "الشرط محقق"
و إلا
صندوق نص "الشرط غير محقق"
إنهاء الشرط
كانت الجملة السابقة ترجمة حرفية لماسأكتبه الآن


If Text3.Text = "1" Or Text3.Text = "2" Then
MsgBox "الشرط محقق الرقم واحد أو اثنين"
Else
MsgBox "الشرط غير محقق"
End If

و هكذا نكون قد تعرفنا جيدا على الجملة if مع or. وهنا لن أتكلم عن الجملة AND وهي ابضا تابعة لiF.
و شكرا.

أخوكم : إيــاس نبهان
eiasnabhan@hotmail.com
جربو المثال مع الدرس
أخي الكريم حسام الحقيقة أنا الماسنجر عندي يعمل 30 ثانية و يسجل خروج وحده لذلك لو ترسل لي بريد بما تريد أفضل وتوقيتكم يختلف عن توقيتنا بساعة لأنكم لاتغيرون الساعة عند التوقيت الصيفي و الشتوي. و شكرا

The Crash
03-09-2004, 13:41
السلام عليكم ورحمه الله...في بعض البرامج قد نحتاج لاستيراد ملفات من الخارج صور أو ملفات نص او ماشابه و لما كان موقع البرنامج غير ثابت أي أنه ربما قام بتحميله المشتخدم في القسم c أو ربما في القسم d أو في مجلدات أخرى مثلD:\program لكان لا بد من أن يعرف البرنامج موقعه وموقع الملفات التي معه وهو ما يدعلى بال App Path وهو الدرس لهذا اليوم
ملاحظة: تفاديا للتكرار من غير فائدة فقررت أنه إذا وجد درس كتبه غيري بنفس المعلومات سأنقله إلى هنا ..و هذا الدرس من كتابة أخونا عضو نادي فيجوال بيسك للعرب العضو فتى فيجوال و له الشكر.

الدرس 10 : التعامل مع المسارApp Path :
App.path تعني مسار البرنامج ، وهي تستخدم للحصول على مسار المجلد الذي يوجد فيه البرنامج .
فمثلاً إذا كان لدينا برنامج في C:\New فهذا هو مسار البرنامج والذي يمكننا الحصول عليه باستخدام App.path
وللتجربة يمكنك الحصول على مسار برنامجك بواسطة أمر هكذا :



Msgbox App.path


وسترى أنه يعطيك مسار المجلد الذي تحفظ فيه المشروع .

الفائدة من ذلك هو تلافي مشكلة تغير المسارات من جهاز لآخر ، فمثلاً في برنامج للصور ضع جميع الصور في نفس مجلد البرنامج ، ولتحميل صورة مثلاً اسمها PP1 وامتدادها Bmp اكتب :


Picture1.Picture = Loadpicture(App.path & "\PP1.Bmp")


ويمكنك أيضاً إنشاء مجلد جديد في نفس مجلد البرنامج وتسميه مثلاً Image وتضع فيه الصور ، وبذلك يصبح أمر تحميل الصور بالشكل التالي :


Picture1.Picture = Loadpicture(App.path & "\Image\PP1.Bmp")

وليست الصور هي كل ما نستخدم فيها App.path بل كل شيء ، فمثلاً لتشغيل ملف مفكرة ملحق بالبرنامج نضعه في مجلد البرنامج ونكتب :


Shell "notepad.exe" & " " & App.path & "\RedMe.txt", vbNormalFocus



ولنسخ نفس البرنامج نستخدم الأمر التالي :


Filecopy App.path & App.EXEName , "C:\Ahmed"



وهكذا ، وتوجد لـ App العديد من الفوائد التي لا يتسع المجال لذكرها ، ومنها مثلاً إنهاء البرنامج إذا لم يكن يعمل من القرص المدمج ، واستخدامها في أوامر حفظ البيانات واسترجاعها ، ومنع تشغيل أكثر من نسخة .... الخ

لكن ينبغي التنبه إلى أن App.path قد تعطينا C:\Ahmed أو C:\Ahmed\ ولتلافي هذه المشكلة نقوم بالتالي :




Dim Folder
Folder = App.path
If Right(Folder,1) <> "\" then Folder = Folder & "\"



هنا قمنا بتعريف متغير وخزنا فيه مسار البرنامج ، واختبرناه ، فإذا كان آخر حرف من اليمين لا يساوي \ فإننا نقوم باضافتها إليه .

وهكذا نتعامل مع الناتج والمخزن في المتغير Folder كأنه يحتوي على \ مباشرة ، ولذا لا حاجة لكتابتها قبل كتابة اسم الملف .
أما المتغييرات فسنتكلم عنها لاحقا
كاتب الدرس: فتى فيجوال

مع تحيات إخوكم :إيــاس نبهان
قوموا بتجريب المثال...إلى متى ستبقون صامتين هكذا..http://maxforums.net/images/smilies/bawlingmsn.gif

The Crash
04-09-2004, 15:54
السلام عليكم...قد قد أتينا بالحديث على المتغير و بالإضافة إلى المتغير هناك ثابت و هذه المفاهيم كان لا بد من فهما .و كما قلت سابقا إذا كان الدرس متشابها مع الفكرة التي كنت ساكتبها فإنني سانقله بحرفيته..و هذا الدرس ليس من كتابتي إنما من كتابة عضو نادي فيجوال بيسك للعرب الأخ Taf Taf

الدرس11: المتغيرات و الثوابت و المعاملات :القسم الأول
مقدمــــــــــــــة :

البيانات في أي لغة من لغات البرمجة بما فيها فيجول بيسك أما أن تكون متغيرات Variables أو ثوابت Constants و المتغير هو مكان في الذاكرة يتم تخصيصه لك لتقوم بوضع عنوان له ويخزن المعلومة التي تريدها بداخلة كما يمكنك تغير هذه المعلومة بمعلومة أخري في نفس المكان ويظل عنوانه ثابت .
أما الثابت فمثله مثل المتغير تماما إلا انك لن تحتاج لتغير هذه المعلومة . وكما هو واضح من الاسم عبارة عن اسم يحمل قيمة ثابتة لا تتغير أثناء تنفيذ البرنامج .

ولكي هذان المثالين ليوضح لك وظيفة كل من المتغيرات والثوابت ..


مثال علي المتغيرات والثوابت :
المتغيرات . إذا أردت أن تسال عن اسم العميل الذي سيدخله المستخدم فان اسم العميل قيمة متغيرة لأنك لا تعرف من هو هذا العميل الذي سيقع عليه اختيار المستخدم في هذه الحالة تستخدم متغير لتضع فيه اسم العميل انظر المثال التالي :



HisName$=InputBox$("اكتب اسم العميل")


في هذا المثال سيعرض فيجول بيسك علي المستخدم مربع حوار نتيجة لتنفيذ أمر InputBox$ يطالبه فيه بكتابه اسم العميل ويقوم بحفظ اسم العميل الذي يدخله المستخدم في المتغير HisName$ ويبقي المتغير HisName$ يحمل هذا الاسم حتى يقوم المستخدم بتغيره ويتم تغير القيمة التي يحملها المتغير HisName$ بوضع قيمة أخري داخلة فيقوم الفيجول بيسك باستبدال القيمة القديمة بالقيمة الجديدة .
الثوابت . إذا كان عملك يتطلب مجموعة من العمليات الحسابية ترتبط بوحدة ثابتة مثل وحدة القياس المتر وهو يساوي مائه سنتمتر فيمكن الإعلان عن ذلك بالأمر التالي:


Const Meter=100

(مداخلة : التعريف يتم في القسم General).

وهذه يفيدك عندما تكون جميع حساباتك بالنسبة للوحدة سنتمتر فبدلا من قيمة المتر وكتابة الرقم ( 100 ) في كل مرة سيتم كتابه الثابت Meter في جميع التعليمات المطلوبة داخل البرنامج وهي فائدة كبيرة تجعل برنامجك سهلا وبسيطا.
فائدة أخري يمكن الحصول عليها من استخدام الثوابت ، فمثلاً في حالة تعديل كل حساباتك لتصبح منسوبة لوحدة الملليمتر بدلا من السنتمتر ( والمعروف أن المتر = 1000 ملليمتر ) فبدلا من إجراء هذا التعديل في جميع إجراءات برنامجك ( وهو كتابة الرقم 1000 بدلا من الرقم 100 ) يكفي أن تعدل الرقم 100 ليصبح 1000 في نفس الأمر كآلاتي .


Const Meter=1000



وبذلك تتم عملية التعديل مرة واحدة فقط لتعطي النتيجة المطلوبة .
و ألان وقد تعرفنا علي وظيفة كل من المتغيرات و الثوابت و الفائدة المرجوة من استخدامهم ولكن بقي لنا أن نوضح كيفية التعامل مع المتغيرات و الثوابت ليمكننا استخدامهم بصورة صحيحة وبشكل أفضل .
ولعدم التشتت سنترك الثوابت قليلا وسنتكلم عن المتغيرات بشكلا من التفصيل .
لعلك يا أخي تتسأل عن الكثير من النقاط الغامضة التي لم يكشف عنها بعد ولعلك حاولت تطبيق الدرس السابق ولم تعمل معك المتغيرات أو الثوابت بشكل صحيح فمهلا يا أخي و لا تتعجل فهناك الكثير لكي تعرفه عن المتغيرات و الثوابت و سنبدأ بأنواع المتغيرات .

أنواع المتغيرات :
يوجد في الفيجول بيسك أنواع كثيرة للمتغيرات نوضح منها ما يلي .
نوع المتغير Integer : عدد صحيح صغير نسبيا ــ حجمه 2 Byte ــ مداه من 32768- إلي 32767
نوع المتغير Long : عدد صحيح كبر نسبيا ــ حجمه 4 Byte ــ مداه من 2147483648- إلي 214783674
نوع المتغير Single : عدد حقيقي صغير نسبيا ( يحتوي علي علامة عشرية عائمة Floating Point ) ــ حجمه 4 Byte ــ مداه من 3.402823E38- إلي -1.401298E-45 (قيم سالبة) و من 1.401298E-45 إلي 3.402823E38 (قيم موجبة)
نوع المتغير Double : عدد حقيقي كبير نسبيا (يحتوي علي علامة عشرية عائمة) ــ حجمه 8 Byte ــ مداه رقم هائل
نوع المتغير Currency : عدد حقيقي كبير نسبيا (يحتوي علي علامة عشرية ثابتة ) ــ حجمه 8 Byte ــ مداه رقم هائل
نوع المتغير Byte : عدد صغير جدا أو بيانات ثنائية ــ حجمه 1 Byte ــ مداه من الصفر إلي 255
نوع المتغير Boolean : متغير منطقي يحمل قيمتان فقط صفر أو واحد . أو True or False ــ حجمه 2 Byte
نوع المتغير Data : يحمل قيم تاريخه و وقت وهو من نفس نوع المتغير Double ــ حجمه 8 Byte ــ مداه من التاريخ 1 يناير 100 إلي 31 ديسمبر 9999 ومن الساعة 00:00:00 إلي 23:59:59
نوع المتغير Object : كائنات أو فئات Classes
نوع المتغير String : سلسلة من الحروف ــ مداه من صفر إلي 65500 حرف تقريبا
نوع المتغير Variant : الوقت/التاريخ أو عدد ذو علامة عشرية عائمة أو سلسة حروف ــ حجمه 16 Byte ــ مداه التاريخ من 1 يناير 0000 إلي 31 ديسمبر 9999 وفي الأعداد مثل Double وفي الحروف مثل String

و الآن وقد تعرفنا علي أنواع المتغيرات( ارجع إلي كتاب الأستاذ تركي العسيري فيه شرح لأنواع المتغيرات بشكل من التفصيل ).
ولكن بقي لنا شئ آخر وهو كيف نعلن عن هذه المتغيرات في فيجول بيسك . ومعني الإعلان عن المتغير عبارة عن أمر يخبر فيجول بيسك باسم المتغير ونوعه ليتمكن الفيجول بيسك من حجز المساحة اللازمة من ذاكرة الحاسب لهذا المتغير وتهيئته . وقبل الإعلان عن أي متغير يجب إن نعرف شئ مهم جدا وهي ..

الشروط الواجب توافرها عند اختيار اسم للمتغير ..
يجب أن يبدأ اسم المتغير بحرف أبجدي وليس رقما .
ألا يزيد عدد حروف اسم المتغير عن 40 حرفا .
ويجب ألا يحتوي علي أي مسافات أو نقاط وإذا كان اسم المتغير يحتوي علي كلمتين فأنصحك باستخدام (_) Under Score للفصل بينهما ..
و يجب أيضا إلا يتضمن كلمة من الكلمات المحجوزة وهي الكلمات التي تستخدم في الأوامر و العبارات التي يستخدمها فيجول بيسك فمثلا لا يسمح باستخدام كلمة Print كاسم للمتغير فإذا احتجت لتسمية متغير مثل كلمة Print فيمكنك أن تكتب الكلمة كجزء من اسم المتغير PrintText مثلا .
فائدة (1) :
يفضل الإعلان عن نوع المتغير لزيادة سرعة التعامل معه .المتغيرات التي لم تحدد نوعها يعمل فيجول بيسك علي الإعلان عنها تلقائيا من النوع Variant وهو أبطأ أنواع المتغيرات .

فائدة (2) :
يوجد نوعان من المتغير من النوع String وهي متغيرات ثابتة الطول Fixed Length و متغيرات متغيرة الطوال Variable Length . و المتغيرات الحرفية ثابتة الطوال وكما واضح من اسمها هي متغيرات محدد لها عدد الحروف في أثناء التصريح عنها ولا يمكن أن يتغير طولها وتكون بصورة التالية :




Dim TafTaf As String * 10



و المتغيرات الحرفية متغيرة الطول تستخدم في حالة عدم معرفتك بطول المتغير المار إليها ومن عيوبها إنها تلتهم حجم كبير جدا من الذاكرة .

كيفية الإعلان عن المتغيرات :
عند استخدام المتغير في فيجول بيسك فأن فيجول بيسك تتعرف علي المتغير بمجرد استخدامه في الكود وهذه الطريقة مريحة لأنك لان تحتاج إلي تعريف كل متغير قبل استخدامه ألا إنها يعاب عليها شئ خطير جدا وهو انك إذا أخطأت في كتابة اسم المتغير فأن فيجول بيسك سيعتبره متغيرا جديدا فمثلا إذا أنشأنا متغيرا مثل هذا ..


Value = 10 ' قيمة = 10Value هنا أعطينا المتغير
Text1.Text = Valu 'و هنا أخطأنا في كتابة اسم المتغير



و لحل هذه المشكلة الإعلان عن المتغير بأمر Dim مثلا . ( سنتكلم عن أوامر الإعلان عن المتغيرات لاحقا )



Dim Value As Integer


ولجعل فيجول بيسك لا يستخدم متغيرا إلا قبل الإعلان عنه أو بمعني اصح يجبرك للإعلان عن كل متغير تستخدمه بكتابة هذه العبارة في قسم التصاريح العامة General Declaration . بإظهار رسالة خطأ ..


Option Explicit


ولجعل هذه العبارة تكتب تلقائيا . من قائمة Tools اختر أمر Options وضع علامة صح في صندوق الاختيار أمام عبارة Require Variable Declarations من صفحة Editor أي طلب الإعلان عن أي متغير قبل استخدامه ..


تعلمنا ألان فائدة الإعلان عن المتغيرات و المشاكل التي تترتب عليها إذا لم نعلن عن أي متغير نضيفه في برنامجنا ولكن السؤال هنا الذي يطرح نفسه هو كيف نعلن عن المتغيرات وما هي أوامر الإعلان وهذا يذكرني بمن تعلم القيادة ولكنه لا يعلم شئ عن قواعد المرور التي سترشده إلي الطريق الصحيح .
و لكي نتحكم في المتغيرات بشيئا من الفاعلية أكثر يجب نتعرف علي أوامر الإعلان حتى يمكننا الإعلان عن المتغير بشكل سليم واستغلال الذاكرة بشكل أفضل ..
التتمة سنكمله في درس لاحق...إنشاء الله...و الحقيقة أنتم تعرفون غدا المدارس تفتح ..و قد يخف نشاطي قليلا في كتابة الدروس لذلك سأحاول أن أكتب أهم الدروس لتبقى و ربما أغيب عام كامل عن النادي..

أخوكم : إيــاس نبهان

أبطال الديجيتال
04-09-2004, 22:17
أخي اياس عذرا يمكن لن استطيع ان اكمل بسبب انني السنة القادمة

عندي ثالث ثانوي وتعرف بدها شدة حيل إذا ممكنتحط الدروس الحالية ال 11 في ملف واحد وتعطيني اياه

والله مو ملل منك بس تعرف الوالد فوق راسي يقولي اترك الكمبيوتر لانو السنة هذه سنة مصيرية بالنسبة لي

كطالب مقبل على الجامعة

وشكرا على اجتهادك وجهدك في انجاح الدورة

The Crash
05-09-2004, 16:15
أخي الكريم حســام الحقيقة مصيبتي أكبر من مصيبتك أنا بدأت من اليوم بالثالث الثانوي العلمي و الحمد لله بدأنا من أول يوم بالدروس المرعبة والحقيقة أنا مرتبك جدا...على الرغم من أنن عدت الدروس 100 مرة.
الحقيقة أنا ما فهمت قصد هل تريد الدروس في كتاب الكتروني ..انشاء الله هي خطوة قادمة سأنشر 3كتب بالنادي و لمصلحتك لن اعطيك شيء الآن اذهب و ادرس و العام القادم نلتقي أنا و أنت بعد أن ننهي هذه المصيبة التي و قعت علينا..
ربما لا تروني بعد الآن كثيرا للعام القادم أرجو أن يبقى الموضوع..

The Crash
06-09-2004, 15:27
السلام عليكم ورحمه الله ..نتابع الدرس السابق
الدرس11: المتغيرات و الثوابت و المعاملات : (الجزء الثاني)
أوامر الإعلان عن المتغيرات :
أمر الإعلان Dim : يستخدم لتعريف متغير ديناميكي Dynamic Variables ضمن الأجراء ويكون مجال رؤية هذا المتغير داخل الأجراء فقط وعمرة من عمر الأجراء أي أن عندما ينتهي الأجراء ينتهي معه مفعول المتغير المحلي ويصبح لا قيمة له أو صفر ولهذا سمي أمر الإعلان هذا بديناميكية لأنه يوفر في الذاكرة بشكل جيد .
أمر الإعلان Redim : تستخدم لتعريف مصفوفة ديناميكية Dynamic Array غير معرفة لعدد العناصر أي يمكنك تغير أبعادها أثناء عمل البرنامج ويعمل أمر الإعلان Redim عندما ترغب في تحديد حجم المصفوفة وتظهر الفائدة من أمر الإعلان Redim في استغلال الجزء المطلوب فقط من الذاكرة دون زيادة . وأمر الإعلان هذا يجعلنا ندخل إلي عالم آخر وهو عالم المصفوفات وإذا تكلمنا عن المصفوفات في هذا الجزء الصغير فبذلك نكون قد لا نوفيها حق قدرها . ولكن من يعلم قد يأتي يوم الأيام ونتكلم عن المصفوفات إنشاء الله .

فائدة (3) :
أن أمر الإعلان Redim لا يستخدم ألا داخل أجراء فقط أي لا يستخدم في قسم الإعلانات مثل الأمر Dim
أمر الإعلان Static : يستخدم لتعريف متغير ستاتيكي Static Variables ضمن الأجراء ويكون مجال رؤية هذا المتغير داخل الأجراء فقط وعمرة من عمر الوحدة التي بداخلها الأجراء سواء كانت الوحدة هذه Form أو Module أو Class أي أن عندما ينتهي الأجراء يظل المتغير ساكن في الذاكرة وكذلك قيمته موجودة ولكنك لا يمكنك الوصول إلية ألا من داخل الأجراء التابع له .

نصيحة (1) :
حاول أن لا تكثر من استخدام أمر الإعلان Static ألا في أضيق الحدود لأنه يستغل الذاكرة طوال فترة عمل البرنامج .
أمر الإعلان Private : : يستخدم لتعريف متغير عام General Variables ولكنه يكون علي مستوي الوحدة سواء كانت Form أو ملف برمجة BAS أو فئة Class وبالطبع عمرة يكون من عمر الوحدة .
أمر الإعلان Public : يستخدم لتعريف متغير عام General Variables ولكنه يكون علي مستوي المشروع ككل ويمكن الوصول إليه من جميع الوحدات الموجودة في المشروع وعمرة من عمر البرنامج ككل ويظل في الذاكرة حتى ينتهي البرنامج .
أمر الإعلان Global : أمر الإعلان أو الكلمة المحجوزة Global كانت تستخدم في الإصدارات القديمة للفيجول بيسك ومازالت حتى الآن تستخدم وهي تؤدي نفس وظيفة أمر الإعلان Public ولكنك لن تستطيع التصريح عنها ألا في الوحدات النمطية فقط .

الإعلان بإضافة رمز مميز :

تستخدم هذه الطريقة في نوع أي متغير وذلك بإضافة حرف معين إلي اسم المتغير و هذه الطريقة تسهل عليك معرفة نوع المتغير المستخدم مع اسم المتغير و الجدول التالي يبين شكل هذه الأحرف و النوع المقابل لها ..
نوع المتغير Integer : الرمز المستخدم " % "
نوع المتغير Long : الرمز المستخدم " & "
نوع المتغير Single : الرمز المستخدم " ! "
نوع المتغير Currency : الرمز المستخدم " # "
نوع المتغير Double : الرمز المستخدم " @ "
نوع المتغير String : الرمز المستخدم " $ "
فمثلا الأمر ..


MyName$="TafTaf"

يعلن عن متغير من نوع String ( سلسة من الحروف )
الإعلان باستخدام الوظيفة AS :

وهنا تفيد الوظيفة AS في تميز نوع المتغير الذي يأتي بعد الوظيفة AS مع أحد الأوامر Redim. Dim. Static. Global Private. Public حيث يتم كتابة الأمر ثم اسم المتغير ثم كتابة الوظيفة AS ثم كتابة نوع المتغير . انظر المثال التالي .



Dim TafTaf AS String


فائدة (4) :
أوامر الإعلان السابق ذكرها هي تعتبر ضمن الكلمات المحجوزة مثل الجملة Option Explicit أو أمر Print والكلمات المحجوزة هي الكلمات التي يحتفظ بها الفيجول بيسك لنفسه ولا يمكنك استخدامها كاسم للمتغير أو للثابت .

الإعلان باستخدام أمر تعريف دالة :

في هذه الطريقة يتم استخدام أحد الأوامر التالية :
( CCur , CLng , CDbl , Clnt, CStr , CSng, Cvar)
للأنواع الآتية علي التوالي.
Currency , Long , Double , Integer , String , Single , Variant
وعند كتابة أي حرف بعد أي من هذه الأوامر تتحول كل المتغيرات التي تبدأ بهذه الأحرف إلي نفس النوع المعلن عنه في الأوامر المستخدم ، وفي المثال التالي نستخدم الأمر Clnt للإعلان عن جميع المتغيرات الموجودة في البرامج والتي تبدأ بحرف A علي إنها من النوع Integer .


Clnt A


أما في المثال التالي فيتم الإعلان عن التغيرات الموجودة في البرامج و التي تبدأ بأحد الأحرف التالية B أو C أو D علي أنها من النوع String .


Cstr B-D



لاحظ أنه لا ينبغي كتابة أكثر من حرفين متصلين بدون العلامة ( - ) بعد الأمر .
للإعلان عن أي متغير يبدأ بالحرف (A ) أو بأحد الحروف من ( D ) إلي ( F ) أو من ( X ) إلي ( Z ) علي أنه من النوع Double اكتب الأمر بالصورة التالية :


CDbl A, D-F , X-Z


علاقة المصفوفات بالمتغيرات :

المصفوفات هي في حد ذاتها عبارة عن سلسلة من المتغيرات لها نفس الاسم ولكن يكون لها رقم وهنا تختلف عن المتغيرات بوجود هذا الرقم الذي يوفر لك الوقت و الجهد .
إليك توضيح أكثر .. إذا أردت تصميم برنامج لشئون الموظفين بشركتك بدون استخدام المصفوفات وبفرض أن عدد الموظفين في شركتك 100 موظف فان الحل باستخدام المتغيرات العادية يتطلب الإعلان عن 100 متغير ثم تكرار الأوامر التي تتعامل مع الموظفين المائة ولا شك أن هذه مسألة شاقة ومطولة .
أما الحل الامثل في هذه الحالة فهو استخدام مصفوفة تتكون من 100 عنصر و الصيغة التي تحقق هذا الغرض لهذه المصفوفة كما يلي :



Private Names(99) As String

مدي استخدام المتغير وعمرة Lifetime and Scope of Variable :

ويقصد بمدي استخدام المتغير Scope Of Variable والإجراءات و الوحدات النمطية التي ستتأثر به أي الأماكن التي أن يستخدم فيها هذا المتغير داخل البرنامج أما عمر المتغير Lifetime Of Variable فيقصد به المدة التي سيبقي المتغير خلالها محتفظا بقيمته الحالية داخل الذاكرة دون أن يفقدها وتنقسم المتغيرات من حيث مدة بقائها في الذاكرة ومداها إلي متغيرات عامة ومتغيرات علي مستوي الوحدة النمطية ومتغيرات علي مستوي الأجراء وفيما يلي نوضح كل نوع من هذه الأنواع الثلاثة والأمر الذي يستخدم للإعلان عنه ..

1. المتغيرات العامة ..
هي المتغيرات التي يمكنك استخدامها من أي مكان داخل البرنامج أو التطبيق وتبقي في الذاكرة الحاسب طوال فترة عمل البرنامج فإذا انتهي البرنامج تحذف من الذاكرة ولذلك يجب أن يعلن عن المتغير العام من خلال الوحدة النمطية لكي تتعرف عليه جميع الإجراءات الموجودة في جميع الوحدات النمطية بالبرنامج أو التطبيق .
يستخدم الأمر Public للإعلان عن المتغيرات العامة في المثال التالي يتم الإعلان عن متغير عام لكي تستخدمه جميع الإجراءات في جميع الوحدات النمطية من نوع Integer واسمه ABC .


Public ABC AS Integer


3. متغيرات علي مستوي الأجراء ..
يقتصر مدي هذه المتغيرات علي الأجراء الموجودة به فقط ولا يمكن استخدامه في أي مكان غيرة وهي بهذا تعتبر اقل المتغيرات مدي من حيث عمرها فهي تبقي موجودة بالذاكرة حتى بعد أن ينتهي الأجراء الذي أعلن فيه عنها وبهذا يتضح أن الفرق بين هذه المتغيرات و المتغيرات العامة أو المتغيرات علي مستوي الوحدة النمطية في مداها فقط حيث لا يتعدى مداها الأجراء الذي أعلن عنها فيه . يستخدم لهذا الغرض الأمر Static ويتضح ذلك من المثالين التالين في المثال الأول يظهر المتغير S1 محتفظا بقيمته فترة تنفيذ الأجراء Load Form وبمجرد الخروج من الأجراء ستكون قيمته تساوي صفر بينما في حالة استخدام المثال الثاني فإن المتغير سيحتفظ بقيمته بعد تنفيذ نفس الأجراء السابق .
المثال الأول :


Private Sub Form_Load (Cancel As Integer)
Dim S1 As Integer
S1 = 5
End Sub


المثال الثاني :


Private Sub Form_Load (Cancel As Integer)
Static S1 As Integer
S1 = 5
End Sub


فائدة (5) :

The Crash
06-09-2004, 15:40
(آسف على الانقطاع ..تابع فورا )
يوفر عليك مدي المتغيرات وعمرها استهلاك مساحة من الذاكرة بدون داع فمثلا إذا كنت تريد استخدام متغير في أكثر من وحدة نمطية فيجب أن تعلن عنه كمتغير عام بالأمر Public وإذا كنت تحتاج للمتغير في وحدة نمطية واحدة فقط استخدم الأمر Private للإعلان عنه أما إذا كنت تحتاج للمتغير مؤقتا في هذا الأجراء فقط استخدم أمر Static ليبقي مداه داخل الأجراء فقط .

.مستويات الإعلان عن المتغيرات : ( هذا الجزء منقول عن موضوع العقل الصناعي : الثوابت و المتغيرات للأخ BSC )
في القسم العام لملفات البرمجة Dim عام ، Private عام ، Public شامل ، Global شامل
في القسم العام للنوافذ Dim عام ، Private عام ، Public عام
داخل إجراءات الملفات Dim ساكن
داخل إجراءات النوافذ Dim محلي ، Static ساكن

المصطلحات :
- شامل : عام لجميع نوافذ البرنامج وملفاته
2- عام : عام لجميع إجراءات النافذة أو الملف الذي تم الإعلان داخلها ( الشامل أعم )
3- المحلي والساكن : كلا منهما خاص بالإجراء الذي تم الإعلان داخله

الفرق بين المحلي والساكن :
- المتغير المحلي يفقد قيمته عند الخروج النهائي من الإجراء
2- الساكن يحتفظ بقيمته طوال مدة تشغيل البرنامج

ذكرنا من قبل أن الثوابت مثل المتغيرات تماما ألا أنها وكما واضح من اسمها ثابتة أي لا يمكن تغير محتوها أو القيمة المضافة إليها إثناء تنفيذ البرنامج عكس المتغير الذي يمكننا تغير قيمته كما نريد تبعا للمدخلات ومع ذلك فالثوابت تتشابه مع المتغيرات في أمرين هما اسم الثابت ومداه .

تسمية الثابت :
يخضع اسم الثابت لنفس الشروط التي شرحناها عند اختيار اسم المتغير وهي ألا يزيد عدد حروفه عن 40 حرفا، وأن يبدأ بحرف هجائي وألا يستخدم إحدى الكلمات المحجوزة للفيجول بيسك .

مدي الثوابت :
تتبع الثوابت نفس القواعد التي تحدد مدي المتغيرات حيث يحدد مدي الثابت بالمكان الذي تعلن فيه عن هذا الثابت . وتوضيح ذلك كما يلي .

ثوابت عامة : إذا أردت أن يكون الثابت عاما أي يمكن استخدامه من أي مكان في البرنامج فيجب أن تعلن عنه في الوحدة النمطية بشرط أن يسبق الإعلان عنه كلمة Public هكذا.


Public Const My_Name As String = "TafTaf"


ثوابت علي مستوي الوحدة النمطية : لكي تستخدم الثابت في وحدة نمطية فقط يجب أن تعلن عنه في قسم الإعلانات في هذه الوحدة النمطية تسبقه كلمه Private هكذا.


Private Const My_Age As Integer = 25



ثوابت علي مستوي الأجراء : : لكي تستخدم الثابت مؤقتا داخل إجراء معين أعلن عن الثابت داخل هذا الإجراء بنفس الطريقة السابقة.
و نكتشف من الكلام السابق أن الثوابت مشابه إلي حد كبير للمتغيرات في طريقة الإعلان عنها بأمر الإعلان Const أو حتى الإعلان عن نوع الثابت لزيادة سرعة التعامل معه وأيضا مجال رؤية الثابت وعمرة .
وللثوابت أنواع منها ثوابت عددية وثوابت حرفيه String وللإعلان عن ثابت حرفي يجب وضعة بين علامتي تنصيص " " .

الإعلان عن الثوابت : ( هذا الجزء منقول عن موضوع العقل الصناعي : الثوابت و المتغيرات للأخ BSC )
يتم الإعلان عن الثوابت باستخدام( Const ) أو ( Public Const )
مستوى الإعلان :

1- إذا تم الإعلان داخل إجراء يعتبر الثابت المعلن عنه محليا Const a=5


2- وإذا تم الإعلان في القسم العام للنافذة يصبح عاما لجميع إجراءات تلك النافذة Const a=5


3- وإذا تم الإعلان في القسم العام للملف يصبح عاما لجميع إجراءات ذلك الملف Const a=5


4- أما إذا تم الإعلان في القسم العام للملف - كما سبق - لكن سبقت كلمة Const بكلمة Public فسيصبح الثابت شاملا لجميع ملفات البرنامج ونوافذه

يتم الإعلان عن الثابت الشامل هكذا ( Public Const a=5 )

الثوابت و API :

كلنا نعرف مكتبات الربط الديناميكي Dynamic Link Libraries ( DLL ) و الفائدة الكبيرة التي نستفيد منها في برامجنا من التوابع ( الدوال ) و التي يطلق عليها واجهة برمجة التطبيقات Application Programming Interface ( API ) .
ولكن عند استخدام هذه التوابع يوجد بعض الثوابت التي يجب تمريرها لهذه التوابع لتقوم بعملها المطلوب منها علي أكمل وجهه لان الكل يعرف القاعدة الذهبية تقول أن لكل دالة من دوال API لها ثوابت خاصة بها . انظر المثالي التالي :
يصرح بهذه الدالة في قسم التصاريح العامةGeneral:


Private Declare Function MessageBox Lib "user32" _
Alias "MessageBoxA" (ByVal hwnd As Long, ByVal _
lpText As String, ByVal lpCaption As String, ByVal _
wType As Long) As Long
Const MB_OK = 0

اكتب هذا الكود في حدث Click للـ CommandButton :


Private Sub Command1_Click()
MessageBox Me.hwnd, "Hallow", "Example", MB_OK
End Sub


الكود السابق هو كود بسيط لعرض رسالة عن طريق توابع الــ API .
في البداية عملنا علي التصريح بالدالة في قسم التصاريح العامة بأمر الإعلان Private وبعد ذلك صرحنا عن ثابت وهو ثابت معرف مسبقا و موجود في الفيجول بيسك واسم الثابت MB_Ok وبالطبع لك مطلق الحرية في تسمية الثابت كما تعلمنا سابقا .
والخطوة الثانية العمل علي تمرير الثابت ليؤدي وظيفته المطلوبة منه في حدث Click للـ CommandButton أو في أي حدث تريده . ووظيفة هذا الثابت هي إظهار الزر موافق vbOkOnly للرسالة .

فائدة (6) :
من الممكن الاستغناء عن أمر الإعلان Private إذا كان الإعلان علي مستوي الوحدة أو الأجراء


Private Const MB_OK = 0
Const MB_OK = 0


يؤديان نفس الوظيفة ..

شكرا لصديقنا مصطفى Taf Taf على الدرس الرائع...

أخوكم: إيــاس نبهان

يا جماعة أرجو أن لاتعتبوا علي أن كنت سأقصر جدا في كتابة الدروس القادمة بسبب الثالث الثانوي و بالكاد سأقدر على الدخول أيــام العطل لذلك أرجو من الأخ الكريم Animeان يحافظ على الموضوع ريثما اعود بشكل كامل تقريبا في
2005/6/25
و أعرف أنه لن يخذلني الله يوفقنا جميعاُ.

أبطال الديجيتال
16-09-2004, 19:15
شكرا يا إياس

Anime
17-09-2004, 03:12
جزاك الله خير اخي اياس تسلم ايدك الشرح تعبت معانا ولله ^د^
وان شاء الله سأحافظ عالموضوع كما اوصيتني الى حين رجعتك

Caroline
27-09-2004, 16:26
مشكووووووووووووووور اياس صراحة مواضيعك مرررررررررررررة مفيدة لكل اعضاء المنتدى



والله بينجح المنتدى لو كان الاعضاء مثلك يا the crush



تحياتي

اختك ماندي ::جيد:: ::جيد::

The Crash
14-11-2004, 07:37
بسم الله الرحمن الرحيم
السلام عليكم ...اولا كل عام و أنتــم بخيــر بمناسبة العيد الذي كان فرصة جيدة للدخول للنادي ...
ثانــيا :أردت بما أنها مناسبة للدخول للانترنت متابعة كتابة الدروس في هاليومين ..و الدرس اليوم عن طرق استخراج الألوان و التعامل معها..لأخونــا فتى فيجوال أيضا..

الدرس12 :طرق استخراج الألوان وعمل التدرجات المختلفة

أولاً : الألوان باستخدام QBColor :
تضم هذه الطريقة خمسة عشر لوناً تبدأ من الصفر وحتى 15 ولكل رقم لون معين ، ويمكن الحصول على الألوان من هذه القائمة بالطريقة التالية :

Picture1.BackColor = QBColor(Number)
حيث Number هو رقم بين 0 و 15 .

ثانياً : اختيار الألوان من مربعات الحوار .
مربعات الحوار أو CommonDialog تحتوي على أكثر من شاشة مثل شاشة حفظ وفتح والخطوط وغيرها ، ومن ضمنها لوح الألوان ، ويمكن الإستفادة من هذه الأداة في الألوان بالطريقة التالية :
أضف الأداة إلى النموذج ثم اكتب الكود التالي :


ملاحظة هامة: هذه الطرريقة تحتاج إلى إضافة اداة من اللوحة Components التي تحدثنا عنها سابقا اسم الأداة CommonDialog أضفها لبرنامجك ..لم يتكلم عنها الكاتب لأنها ربما معروفة عند الجميع لذلك سنتكلم عنها بدرس آخر..


' لتغيير عنوان مربع الحوار
CommonDialog1.DialogTitle = "اختر اللون الذي تريد"
' لعرض مربع ( لوحة الألوان )
CommonDialog1.ShowColor
' لعرض رقم اللون في رسالة
MsgBox CommonDialog1.Color
' وتغيير لون الفورم حسب اللون المختار .
Form1.BackColor =

CommonDialog1.Color


ثالثاً : معرفة رمز اللون .
بفرض أن لدينا لون هو خلفية الفورم فيمكن معرفة رمز اللون ( غير رقمه ) بالشكل التالي :



Dim MyColor
MyColor = Form1.BackColor

Dim Red_C, Green_C, Blue_C

Red_C = (MyColor And &HFF&)
Green_C = (MyColor And &HFF00&) \ 256
Blue_C = (MyColor And &HFF0000) \ 65536

Dim Color_1
Color_1 = Format(Hex(Red_C) &

Hex(Green_C) & Hex(Blue_C), "000000")

MsgBox Color_1



رابعاً : تكوين لون من تغير تركيز الألوان الأساسية ( أحمر + أخضر + أزرق ) .
اضف ثلاثة من أدوات HScrollBar واجعل خاصية Max لها = 255 ( واحدة لتغيير تركيز كل لون ) .
ثم ضع الكود التالي في حدث HScroll_Change



Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)

وهكذا ستجد أن لون الفورم يتغير بتغير نسبة الألوان الأساسية فيه .




TextRed.Text = (Form1.BackColor And &HFF&)
TextGreen.Text = (Form1.BackColor And &HFF00&) \ 256
TextBlue.Text = (Form1.BackColor And &HFF0000) \ 65536


خامساً : معرفة تركيز الألوان الأساسية في أي لون ، وهي عملية عكسية للعملية السابقة :
ضع الكود التالي لمعرفة تركيز الألوان في خلفية الفورم

سادساً : معرفة لون النقطة التي يمر بها الماوس . اكتب أولاً الأوامر التالية في الجينرال :




' لمعرفة نقطة الماوس
Option Explicit
Private Type POINTAPI
x As Long
y As Long
End Type
' =========================================
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Declare Function GetWindowDC Lib "user32" (ByVal hwnd As Long) As Long

ومن ثم اكتب الأمر التالي في تايمر :
Dim tPOS As POINTAPI
Dim sTmp As String
Dim lColor As Long
Dim lDC As Long
Dim thecolor
lDC = GetWindowDC(0)
Call GetCursorPos(tPOS)
lColor = GetPixel(lDC, tPOS.x, tPOS.y)
Form1.BackColor = lColor

أكواد متنوعة تتعلق بالألوان :

* لعمل خلفية متدرجة بالأزرق مثل برامج التنصيب :


Sub Fade(vForm As Form)
Dim intLoop As Integer
vForm.DrawStyle = vbInsideSolid
vForm.DrawMode = vbCopyPen
vForm.ScaleMode = vbPixels
vForm.DrawWidth = 2
vForm.ScaleHeight = 256
For intLoop = 0 To 255
vForm.Line (0, intLoop)-(Screen.Width, intLoop - 1), RGB(0, 0, 255 - intLoop), B
Next intLoop
End Sub
Private Sub Form_Activate()
Fade Me
End Sub


* لعمل فورم بلون قوس المطر :




Option Explicit
Private Sub Form_Load()
Me.AutoRedraw = True
Me.ScaleMode = vbTwips
Me.Caption = "Rainbow Generator by " & _
"K. O. Thaha Hussain"
End Sub


Private Sub Form_Resize()
Call Rainbow
End Sub


Private Sub Rainbow()
On Error Resume Next
Dim Position As Integer, Red As Integer, Green As _
Integer, Blue As Integer
Dim ScaleFactor As Double, Length As Integer
ScaleFactor = Me.ScaleWidth / (255 * 6)
Length = Int(ScaleFactor * 255)
Position = 0
Red = 255
Blue = 1
'Purposfully avoided nested loops
'------------- 1


For Green = 1 To Length
Me.Line (Position, 0)-(Position, Me.ScaleHeight), _
RGB(Red, Green \ ScaleFactor, Blue)
Position = Position + 1
Next Green
'--------------- 2


For Red = Length To 1 Step -1
Me.Line (Position, 0)-(Position, Me.ScaleHeight), _
RGB(Red \ ScaleFactor, Green, Blue)
Position = Position + 1
Next Red
'---------------- 3


For Blue = 0 To Length
Me.Line (Position, 0)-(Position, Me.ScaleHeight), _
RGB(Red, Green, Blue \ ScaleFactor)
Position = Position + 1
Next Blue

'----------------- 4


For Green = Length To 1 Step -1
Me.Line (Position, 0)-(Position, Me.ScaleHeight), _
RGB(Red, Green \ ScaleFactor, Blue)
Position = Position + 1
Next Green

'------------------ 5


For Red = 1 To Length
Me.Line (Position, 0)-(Position, Me.ScaleHeight), _
RGB(Red \ ScaleFactor, Green, Blue)
Position = Position + 1
Next Red
'------------------- 6


For Blue = Length To 1 Step -1
Me.Line (Position, 0)-(Position, Me.ScaleHeight), _
RGB(Red, Green, Blue \ ScaleFactor)
Position = Position + 1
Next Blue
End Sub


كل اجراء من الإجراءات السابقة يعطينا تدرجاً معينا كما يلي :

لتدرج من أزرق إلى أسود :
Call XFormBlueFade(Me) 'Makes it Fade Blue

لتدرج من الأصفر إلى الاحمر :
Call XFormFireFade(Me) 'Makes it FIRE!! My FAV

لتدرج من أخضر فاتح إلى أخضر غامق :
Call XFormGreenFade(Me) 'Makes it Fade Green

لتدرج من بني إلى أزرق
Call XFormIceFade(Me) 'Makes it Fade ICE

لتدرج من بنفسجي لامع إلى أسود :
Call XFormPurpleFade(Me) 'Makes it Fade Purple

لتدرج من الأحمر إلى الأسود
Call XFormRedFade(Me) 'Makes it Fade Red

لتدرج من الأبيض إلى الأسود :
Call XFormSilverFade(Me) 'Makes it Fade Silver

عسى أن يكون في هذا الدرس المتعة و الفائدة ...و عذرا لأنني من مدة لم أكتب درس بنفسي و لكن أعدكم بدرس هــام هو درس قواعد البيانات ..و شكرا
أريد أن أقول هنا شكرا لك أختي ماندي ...الحقيقة انا لاحظت أن الموضوع لم يعد بالقامئة الاولى هل هذا صحيح أم أنا أتخيل أم انكم ظننتم أنني هربت و لن أعود ...الله يسامحكم

The Crash
15-11-2004, 16:28
بسم الله الرحمن الرحيم
السلام عليكم ....سنتكلم اليوم عن الأداة التي أتينا على ذكرها سابقا وهي اداة الCommonDialog تعد هذه الأداة من أهم الأدوات على الإطلاق فهي المسؤولة عن مربع فتح -حفظ باسم- مربع الألوان و غيرها....أما مثالها سيوؤجل للقسم الثاني من الدرسوهو مثال هام جدا.....و الدرس لكاتبه المشرف حســام دمشــق

الدرس 13: التعامل مع الملفات باستخدامCommonDialog:
بداية يجب إضافة الأداة المعنية ويتم إضافتها من قائمة Project ثم Components أو بالضغط على Ctrl+T من لوحة المفاتيح .
عندها ستظهر نافذة التالية .. اختر منها Microsoft Common Dialog Control 6.0 .
عندها سيدرج الرمز الخاص بها في صندوق الأدوات وتكون بشكل مربع.


قم بإدراج الأداة على الـ Form وذلك بالنقر المزدوج عليها أو بالنقر لمرة واحدة ورسم الأداة على الـ Form .

قم بإدراج CommandButton بنفس الأسلوب السابق والذي سنستخدمه لتنفيذ أوامر الأداة .

يتم استدعاء مربعات الحوار بإحدى الطريقتين التاليتين :

1- بالاعتماد على الخاصية Action ويتم ذلك حسب ما يلي :



'الخيار التالي لفتح ملف
CommonDialog1.Action = 1
'الخيار التالي لحفظ ملف
CommonDialog1.Action = 2
'الخيار التالي لاختيار اللون
CommonDialog1.Action = 3
'الخيار التالي لاختيار الخط
CommonDialog1.Action = 4
'الخيار التالي لخيارات الطباعة
CommonDialog1.Action = 5
'الخيار التالي لاستدعاء التعليمات
CommonDialog1.Action = 6



وهذا هو الأسلوب القديم ...

2- بالاعتماد على الخصائص Show ويتم ذلك حسب ما يلي :



'الخيار التالي لفتح ملف
CommonDialog1.ShowOpen
'الخيار التالي لحفظ ملف
CommonDialog1.ShowSave
'الخيار التالي لاختيار اللون
CommonDialog1.ShowColor
'الخيار التالي لاختيار الخط
CommonDialog1.ShowFont
'الخيار التالي لخيارات الطباعة
CommonDialog1.ShowPrinter
'الخيار التالي لاستدعاء التعليمات
CommonDialog1.ShowHelp



طبعا ولا شك الأسلوب الثاني هو الأفضل

خاصية أخرى من خصائص مربعات الحوار هي خاصية DialogTitle والتي تحدد عنوان مربع الحوار الذي ستظهره لاحقاً ، وهي إختيارية لك أن تختارها أو لا .

أيضا يوجد خاصية جميلة وهي CancelError والتي تقوم بإصدار خطأ إذا قام المستخدم بالضغط على زر Cancel ورقم هذا الخطأ هو 32755 ولعل البعض يتساءل ما الفائدة من هذه الخاصية والجواب هو معرفة هل يكمل البرنامج عمله أم لا .

هناك خاصية الـ Filter وهي واحدة من الخصائص الخاصة بمربعي حوار الفتح والحفظ وهي تحدد نوع الملفات التي تود عرضها في مربع الحوار مثل ملفات (txt) وتكتب بهذا الشكل :


'السطر التالي يجعل لك خيارين للفلتر وهي ملفات النصوص وكل الملفات
CommonDialog1.Filter = "Text Files|*.txt|All Files|*.*"



خاصية أخرى من الخصائص الخاصة بمربعي حوار الفتح والحفظ وهي InitDir والي تحدد المجلد (الدليل) الذي سيعرضه مربع الحوار عند ظهوره ويكون استخدام هذه الخاصية بالشكل :


CommonDialog1.InitDir = "C:\Windows"

أيضا لمربعي حوار الفتح والحفظ خاصيتي هما FileName و FileTitle والفرق بينهما أن الأولى تعرض المسار الكامل للملف في حين أن الأخرى لا تعرض سوى اسم الملف


'سيحتوي المتغير التالي على قيمة تشابه
'C:\Windows\Win.ini
MyFile = CommonDialog1.FileName
'سيحتوي المتغير التالي على قيمة تشابه
'Win.ini
MyFile = CommonDialog1.FileTitle


يقابل هذه الخاصية في مربع اختيار اللون خاصية Color وللتعامل مع هذه الخاصية اكتب شيئاً كهذا :


'بهذا تغير لون الـ Form1
Form1.BackColor = CommonDialog1.Color



ويقابها في مربع اختيار الخط مجموعة الخصائص Font وللتعامل مها نكتب :



'أسود عريض
Label1.FontBold = CommonDialog1.FontBold
'مائل
Label1.FontItalic = CommonDialog1.FontItalic
'نوع الخط
Label1.FontName = CommonDialog1.FontName
'حجم الخط
Label1.FontSize = CommonDialog1.FontSize
'يتوسطه خط
Label1.FontStrikethru = CommonDialog1.FontStrikethru
'تحته خط
Label1.FontUnderline = CommonDialog1.FontUnderline

أو


'أسود عريض
Label1.Font.Bold = CommonDialog1.FontBold
'مائل
Label1.Font.Italic = CommonDialog1.FontItalic
'نوع الخط
Label1.Font.Name = CommonDialog1.FontName
'حجم الخط
Label1.Font.Size = CommonDialog1.FontSize
'يتوسطه خط
Label1.Font.Strikethrough = CommonDialog1.FontStrikethru
'تحته خط
Label1.Font.Underline = CommonDialog1.FontUnderline

ويقابلها في مربع حوار خيارات الطباعة مجموعة من الخصائص هي :


'تعيين عدد النسخ
NumberOfCopies = CommonDialog1.Copies
'من الصفحة
StartFromPage = CommonDialog1.FromPage
'إلى الصفحة
StopOnPage = CommonDialog1.ToPage


خاصية جديدة من الخصائص وهي Flags وهي من الخصائص المهمة جداً والتي تستخدم مع كل مربعات الحوار ويستفاد منها في تعيين بعض الخيارات الأساسية لمربع الحوار ...

مربعي الحوار الفتح والحفظ :


'يجب أن يكون الملف موجوداً وإلا تعرض رسالة خطأ
CommonDialog1.Flags = &H1000&
'يعرض مربع الحوار رسالة تحذير إذا اختار المستخدم ملف موجود للحفظ فوقه
CommonDialog1.Flags = &H2&
'يجب أن يكون مسار الملف موجوداً
CommonDialog1.Flags = &H800&

وإذا أردت الجمع بين عدة خيارات فيجب أن تفصل بينها بـ Or كأن تكتب مثلاً :


CommonDialog1.Flags = &H1000& Or &H2& Or &H800&


مربع حوار اللون


'فتح المربع كاملا بما في ذلك الجزء الخاص بتحديد ألوان جديدة
CommonDialog1.Flags = &H2&
'تعطيل الزر الذي يقوم بفتح الجزء الخاص بتعيين ألوان جديدة
CommonDialog1.Flags = &H4&

مربع حوار اختيار الخط


'يعرض مربع الحوار خطوط الشاشة فقط
CommonDialog1.Flags = &H2&
'يعرض مربع الحوار خطوط الطابعة فقط
CommonDialog1.Flags = &H4&
'يعرض مربع الحوار خطوط الشاشة والطابعة معاً
CommonDialog1.Flags = &H2&

انتظروا المثال

King PhotoShop
15-07-2005, 00:31
مشكووووووووووور أخووووي والله يجعلها في موازين حسناتك يا الغالي




والله موضوعك في قمة الروووووووووووووعة . . والله يخليك ويحفظك قول آمين







ولك تحياتي , , ,

The Crash
15-07-2005, 04:54
أهلا أخي الكريم King PhotoShop هو أنا بصراحة ما زلت متردد هل أكمل الموضوع أم ادعه معلق هكذا .

ابن البحر
20-08-2005, 14:35
شكراً على الجهد

الموضوع جيد ::جيد::
و يستحق الثبيت ::جيد::

mido_scientist
20-08-2005, 15:24
طبعا الأول شكرا على الشرح وآحب آخبر الأعضاء الكرام بأن هذا البرنامج "القيجول بيسك " ضخم جدا وبه الكثير من الأشياء المفيدة حيث يمكنك من تصميم برامج كثيرة ومتنوعة وانا انشاء الله هاحاول مساعدة The Crash فى تقديم الكثير من الشروحات الأخرى وتصميمات الكثير من البرامج فى موضوع آخر انشاء الله .. وآكد شكرى للأخ The Crash على هذا الموضوع الرائع ::جيد::

The Crash
20-08-2005, 20:34
شكرا للإخوة ابن البحر و mido_scientist و الله أنا بانتظاركم بدكم نعمل مشاريع كبيرة نعمل بس بدنا الدعم.

mido_scientist
23-08-2005, 02:28
شكرا للإخوة ابن البحر و mido_scientist و الله أنا بانتظاركم بدكم نعمل مشاريع كبيرة نعمل بس بدنا الدعم.

آخي إياس يمكنك تصميم كل ماتريد من مشاريع وإيضا يمكن إستشارتي فى آى شي تريده وانا موجود دائما ومستعد لأي آمدادات تريدها مني .. ::جيد::

The Crash
23-08-2005, 11:51
طيب شو رأيك نعمل لعبة باستخدام مكتبة الDirect x ..

هزيـم الرعـد
12-10-2005, 03:37
أخوي اشكرك جزيل الشكر على موضوعك الجميل هذا بس بصراحة انا بودي اتعلمه هو وبرنامج الفرونت بيج

بس الفيجول بيسك ما عندي وحاولت احمله بس ما طلع عندي الا في السي حتى في البروغرام فليس ما طلع يعني في مشكلة في التحميل واللا هو كذا طبيعي

ثانياً بخصوص الدروس اللي قمت بها (( ما قريتها كلها )))) << بس ان شاء الله قريب أقراها >>> أنا اللي حصلته من دروس في المدرسة وفي الجهاز عن كيف تسوي اله حاسبة بس

أبغا اسوي برامج اكثر

وثالثاً

هل ينطبق الأكسس قواعد البيانات على الفيجول بيسك

لأني عندما سألت التيتشر ( الاستاذ ) قال أنا ما اعرف بس يمك ايوة !!!

بس احس انه (( ؟؟ لا تعليق ؟؟ ))

ورابعاً وأخيراً

أشكرك على مجهودك اللي بذلته ولا أحد قدر يفهمك يعني ما فيه جادين الا انمي يمكن

وانا ما جاد اللي اذا حملته ممكن البرنامج وياليت أسهل أو افضل نسخة تنصحني بها انت كمبتدئ ومتوسط واحترافي

تحياتي

أخوك القنــ قون ــاص

The Crash
12-10-2005, 05:27
السلام عليكم:
أخي الكريم الVisual Basic لاينزل مع الOffice هو شيء مستقل له أقراصه الخاصة..و عندما تنزله يحتاج وقت ليس قصير و يظهر بعدها بوضوح (أين سيضيع وهو بهذه الضخامة ^.^)
بالنسبة للآلة الحاسبة هو أبسط برنامج يمكن برمجته و تستطيع التقدم لبرمجة برامج تضاهي البرامج العالمية (ما عدا في السرعة لان هذا من عمل ++C)
طبعا يمكن ربط قواعد الأكسس و غيرها من القواعد مثل Oracle و SQL بالبرنامج ...وهذا شيء يعرفه كل مبرمجي العالم ..
ولكن هناك شيء بسيط بصراحة ال فيجوال بيسك6 تقريبا لم يعد أحد يعمل عليه ..الغالبية انتقلوا للغة الحديثة فيجوال.نيت..
يعني صحيح أنت لو قرأت هذه الدروس ستستطيع أن تعمل على .نيت ولكن يوجد شيء من الاختلاف.. وهو القوة
فأنا عندي روابط تحميل .نيت
ولكنه ضخم جدا يعني 9 CD هل انت مستعد تنزل يوم كامل ..حجمة بال 2 غيغا..

FLASH MIX
12-10-2005, 19:42
راح أرجع معك تفصيليآ يا مبدع يا بطل ^_^


ماشاء الله عليك يا مبدع ما خليت شي الا وذكرته بصراحه موضوعك كنز ^_^

الفيجوال بيسك استخدمته سابقآ وصممت برنامج إله حاسبه :d وضيفتها الجمع والطرح والقسمه والضرب فقط :d :d

على أخر الموضوع اشوفك تتكلم عن دوال الـ Vb وهذا شي جدى رائع لأنها ياخي معقدتني جدآ :(

على العموم راح أرجع لك وأناقشك بهالخصوص يا ألياس

ولك خالص تحياتي وعميق شكري ::جيد::

FLASH MIX
12-10-2005, 19:45
ولكن هناك شيء بسيط بصراحة ال فيجوال بيسك6 تقريبا لم يعد أحد يعمل عليه ..الغالبية انتقلوا للغة الحديثة فيجوال.نيت..

وأزيدك ترا نزل اصدار احدث وهو فيجوال أستيديو نيت ^_^

مشكلة الفجوال بيسك السادس أنه مشواار يعني مثل ما لاحظت أن البتل يحتاج لأمر طويل لأخراجه بينما الفيجوال أستديو تنفذ هذا الأمر بكبست زر ^_^


والأمر الأخر يا عزيزي الفجوال يأتي بـ7 سيديات وليس بـ9

The Crash
12-10-2005, 20:15
أهلا أخي الكريم ..DENIED يبدو أنك مهتم بالبرمجة.. ^.^
أخي الكريم طبعا كل البيئة اسمها Visula Studio.net لقد كان اسمها كذلك ولم يختلق(لاحظ الصورة في توقيعي)..و هي تضم كل لغات البرمجة من ++C و حتى الJAFA ولكن الذي يختلف هو العام
يعني هناك 2002 و 2003 و الآن 2005
أخي الكريم الحقيقة لم أفهم عليك ما هذه البتل هل لها كتابة بالأنكليزية ..
الحقيقة أنت تتكلم عن الإصدار القديم وهو 7 أقراص ولكن ال2003 هو 9 و أنا أملك الاثنين أما 2005 لا أعرف

Wakashimazu
18-02-2007, 11:18
::جيد:: ::جيد:: :cool: يسلموووووووووووووووووووووووووووو على الموضوع الحلوووو واتمنىى المزيد

Dobi_Doribi
31-03-2007, 20:24
هااي ^^

أذكر أبوي غصبني أدخل دوره عن البرمجه بس ما فلحت :rolleyes:

بس الحين عندي رغبه ومتفائل بالدروس اللي تعطيها أتمنى نستفيد منها ::جيد::

مشكووووور على الموضوع القيم ..::سخرية:: ..

وليد العربى
09-04-2007, 01:51
الشرح فى منتها الجمال ونرحو لك التوفيق
::جيد:: ::جيد:: ::جيد:: ::جيد::

Akram113
16-04-2007, 12:42
جزاك الله خيرا يا أخي الغالي

و الله من زمان على فيجوال بيسك

أنا الأن في دلفي 5 ( Delphi )

شكرا على الدروس

تقبل إحترامي و سلامي

أخوك أكرم

mosami
22-04-2007, 21:21
اا في المرحلة الاخيرة وهي التوزيع
و لدي مشكلة في الpackage حيث يقول لي ان ملف المشروع exe غير موجود او ماشابة وعلي ضغط استعراض والبحث عنه وفتحه
انا حفظت المشروع كاملا ولا اعرف عما يتحدث ؟

mosami
25-04-2007, 15:02
--------------------------------------------------------------------------------
وجدت الحل وجدت الحل------>

الحل بسيط .........!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
قبل عملية التحزيم نقوم بإنشاء الملف Exe من قائمة File\Make____________ .EXE

انا استحق جائزة نوبل في الغباء

The Crash
25-04-2007, 15:15
جيد إنك وجدتي الحل يا أختي كنت سأكتبه لكي لكن صدقني ما لقيت وقت لحد الآن ^^

سنكمل الدروس في وقت قصير ^^

mosami
27-04-2007, 10:26
بما اني مصصمة على تصميم ا ول برنامج لي قبل ا لجامعه فعليك ان تتحملنيييييييي:مرتبك:

عندما اقوم بإنشاء ملف exe يقوم بالاشارة الى مسألة مهمة وهي MSDN collection

فماهي هذه المجموعه ؟وهل هي مهمة لعمل باكيج للبرنامج ؟ وهل يمكننني تنزيلها من النت
وكيف ا قوم بتركيبها
لدي في السيدي install msdn لكنها يطالبني بفتح open لاحدى drivers ولم تفلح محاولتي كلها في فتح
الدرايف المناسب!!
ساصاب بخيبة امل :ميت:

The Crash
27-04-2007, 11:50
بما اني مصصمة على تصميم ا ول برنامج لي قبل ا لجامعه فعليك ان تتحملنيييييييي

عندما اقوم بإنشاء ملف exe يقوم بالاشارة الى مسألة مهمة وهي MSDN collection

فماهي هذه المجموعه ؟وهل هي مهمة لعمل باكيج للبرنامج ؟ وهل يمكننني تنزيلها من النت
وكيف ا قوم بتركيبها
لدي في السيدي install msdn لكنها يطالبني بفتح open لاحدى drivers ولم تفلح محاولتي كلها في فتح
الدرايف المناسب!!
ساصاب بخيبة امل
ولا يهمك ولو أهلاً و سهلاً و لكني حابب أطلب منك طلب و خجلان منك...في الحقيقة الموضوع هذا بشكل

أساسي للدروس و ليس للأسئلة بتقدري تسأليني متل ما بدك خارج هالموضوع :o

بالنسبة لسؤالك فالMSDN هي المكتبة الملحقة بلغة البرمجه و هي مكتبة ضخمة جداً من الدروس و الأمثلة

باللغة الإنكليزية طبعاً و هي الساعد الأيمن لكل مبرمج محترف أو مبتدىء...يعني أستاذ خصوصي لو عرفتي

تستخدميها..و في منها قسم ONline..



؟وهل هي مهمة لعمل باكيج للبرنامج ؟ وهل يمكننني تنزيلها من النت
وكيف ا قوم بتركيبها
لا ليست مهمة هي مجرد ملف تعليمات..و يمكنك رؤيتها على الانترنت و لكن تنزيلها صعب فهي ضخمة جداً جداً

...عندي وحده عباره عن 3 أقراص ليزرية...و الموجدة على الانترنت أكبر منها بكثير..
لكي تقومي بتركيبها

لدي في السيدي install msdn لكنها يطالبني بفتح open لاحدى drivers
حددي السواقة الحاوية على CD ال msdn و عندها سيقوم بتنصيبها وحده :o

علي_بابا
17-05-2007, 10:35
روووووووووووعة يعطيكم العافية

الأمير الهاوي
20-05-2007, 14:39
[أبغى برنامج فيجوال بيسك 6 فين ألقاه::سعادة:: :رامبو:

mina_007
17-06-2007, 10:24
الــــــــــــف شكـــــــــــــــــر علـــــــــــــــــي المــــــــــــــوضوع الرائـــــــــع
واحلي كلام قبل السلام
وسلام

ويروس
07-07-2007, 23:36
السلام عليكم
تسلم اخى على الموضوع المفيد
بس اذا تعطى رابط مباشر لتحميل البرنامج Visual Basic الموضوع بعد يكمل ^_^



تحياتى ويروس

Star Anime
20-08-2007, 07:31
Thaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanks

lover blue
21-08-2007, 07:01
مشكووووووووووووورة أخوي على الشرح الرائع ...

تحياتي . ::جيد::

غنوجه و تويتي
24-08-2007, 23:52
والله ماقصرت ابدا
كفيت وزيت وعشان الاسلوب الحلو نقول : هل من مزيد
تسم

عذبـ الصفااتـ
03-12-2007, 19:22
مشكور على الدروس
لكن أنا عندى سؤال
الدكتور طالب علينا
نسوى ساعة رقمية يعنى يكون فيها الوقت والتاريخ واليوم والساعة والدقيقة
والثانية
لكن وشى الأكواد الى اكتبها على timer
تحياتى

غزالة الجنوب
21-12-2007, 10:36
السلام عليكم و رحمة الله و بركاته
انا عضوة جديدة بالمنتدى اتمنى ان استفيد معكم و ان افيدكم
اخي الكريم The Crash
لقد استفدت كثيرا من الدروس التي قدمتها في vb
اشكرك كثيرا على هذه الافادة القيمة
جزاك الله كل خير و جعلها في ميزان حسناتك ان شاء الله
لدي سؤال لك اتمنى ان تفيدني فيه

لدي مشكلة
عندما اضغط قائمة فايل file لا اجد make projet.exe مفعلة اجدها مضللة باللون الرمادي فهل لك ان تفيدني كيف اتخلص من هذا المشكل؟


http://www.21za.com/pic/decoration001_files/8.gif

مُجمع الخبرات
27-03-2008, 06:24
السلام عليكم ورحمة الله وبركاته

يسرني أن يكون أول رد لي في المنتدى الرد على موضوعك الأكثر من رائع

يعجز قلمي عن وصف شكري لك
وإلى الأمام يا أخ : the crash

وجزاك الله ألف ألف خير

أرْوَة
07-04-2008, 20:34
أولا أنا استفدت كثيير كثير من دروس الاخ الكريم
و البرمجة شيء جميل بالنسبة لي و لدي رغبة كبيرة في تعلم المزيد
و ثانيا أبغى المزيد أيضا من الاخ the crush و طلبي به بالمواصلة
لأانه هذي الدروس جد قيمة و لدي استفسارات كثيرة
لاني ما بفهم عالأنجليزي منيح و البرنامج عندي بالفرنسي
منشان هيك بتلخبط شوي
أتمنى تقبلوني معكم عضوة جديدة
و تقديري لصاحب الموضوع

The Crash
10-04-2008, 06:09
السلام عليكم..
أخواني الكرام عذراً على قلة ردودي على هذا الموضوع و السبب في ذلك هو أنني كما كل المبرمجين اتخذنا طريق آخر للبرمجه مع بيئة .Net و لم أعد أهتم بالفيجوال 6 القديمه لأنها اصبحت قاصره على البرامج الكبيرة و لكني سأحاول الرد على عدد من التسائلات


بس اذا تعطى رابط مباشر لتحميل البرنامج Visual Basic الموضوع بعد يكمل ^_^
راجع الفهرس المثبت في القسم


كفيت وزيت وعشان الاسلوب الحلو نقول : هل من مزيد
والله يا أختي الكريمة كما قلت اللغة أصبحت الكتابه فيها كالصيد في الماء المالح لا فائده مرجوة..و بالإضافة إلى انشغالي بمشاريع برمجية مع فرق برمجة أخرى.


لكن وشى الأكواد الى اكتبها على timer
والله يا أخي هالحكي بده كتير اذا لقيت وقت برجعله


لدي مشكلة
عندما اضغط قائمة فايل file لا اجد make projet.exe مفعلة اجدها مضللة باللون الرمادي فهل لك ان تفيدني كيف اتخلص من هذا المشكل؟
هذا يعني أختي بأن نسختك تحتاج إلى تفعيل غيريها و جيبي نسخة كاملة

أهلاً و سهلاً بالجميع:o

Gon405
12-04-2008, 08:21
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

مرحباااا ^^

كيف الحال ؟؟

ماشاء الله تبارك الله ^^ ،،
موووضوووع متعوووووب عليه مرررررة لشرح هذا البرنامج الجميل ::جيد:: ،،
بذلت اخي جهد يستحق الثناء و الشكر و التقدير ..

شكرااا لك اخي ::جيد:: ،،

و تقبل فااائق احترامي و تقديري ..

تحياتي ... :رامبو:

>!!< ميشوو >!!<
21-04-2008, 15:45
©§¤°يسلموو°¤§©¤

بردوك
25-04-2008, 10:36
مشكور ع الدرس

ZOX
12-06-2008, 22:57
مشكور على الدرس ^_^

Trunks.
06-08-2008, 07:00
شكرا على الدرس ::جيد::

الدغيشر
14-08-2008, 18:26
السلام عليكم
الشكر الجزيل اخي اياس نبهان على المعلمومات
انا مبتدى في تعلم لغه البرمجه
والله اصبحت احب الفجيول بيسك والسبب انت
والله اصحابي طلاب قالو صعب
وانت بفضل الله اصبحت تسهل الموضيع فشكرا لك

ombre blanc
31-08-2008, 13:25
مســــــــــــاء الورد
أولا رمضـــــــــــان مبارك للجميع
أخــــي إيـــــاس موضـعك رائــــع ومفصل
بارك الله فيك وألف ألف شكر
::جيد::

Miss esraa
22-09-2008, 21:20
اخوي ممكن سؤال غبي شوية؟

وين اطلع برنامج الفيجوال قلبت الويندوز فوق تحت و ما لقيته؟

ملك الابتسامه
30-11-2008, 16:54
مشكور على الموضوع

The Crash
01-12-2008, 16:45
أهلاً بكم إخواني الكرام

اخوي ممكن سؤال غبي شوية؟

وين اطلع برنامج الفيجوال قلبت الويندوز فوق تحت و ما لقيته؟
أختي الكريمة الفيجوال بيسك لا يأتي مع نسخة النظام و إنما يتحاج لتنصيب كأي برنامج آخر
يمكنك البحث عن النسخة المناسبة لك في الموضوع التالي :

doasbh
06-02-2009, 16:50
مشكور على الدروس
والله يتبتك على العمل الصالح
ومساعدت المتعلمين لهادة اللغة

lolo.toto
09-03-2009, 15:05
جزاك الله خيراً على الدروس المفيدة

Eyes_oF_Hell
05-05-2009, 22:05
Thank You

M D S
18-05-2009, 00:55
اخى العزيز اريد من فضلك التوضيح عن المصفوفه بمثال من فضلك

night2
27-07-2009, 15:05
السلام عليكم
المضوع رائع ما شاء الله والشرح ممتاز
جزاك الله خير على المجهود الرائع
عندي طلب بخصوص فيجوال بيسك
وهو عن طريقة تنصيب البرنامج ياريت تشرحلي الطريقة لاني لم اعرف كيف
اعمل Instal للبرنامج
ارجو ان تذكر خطوات التنصيب بالتفصيل
and thank you very much

ــران موري ــــ
09-08-2009, 14:52
مشكوووور
أخوي أياس
الموضوع جداً روعه
بارك الله فيك

Dark boy22
08-09-2009, 17:15
والله اانصحك تكون مبرمج

makak
16-09-2009, 13:49
مشكور أخوي ،،، جوزيت خيراً

Mark 1
30-09-2009, 03:28
مشكووووووور

حمزة الاحمد
05-10-2009, 16:13
موضوع الفيجوال بيسك موضوع سهل جدا
ولا يحتاج الشرح كله ممكن تعلمه من دون دروس
لأنني تعلمته وحدي وصممت وبرمجة أكثر من مئة برنامج من أبداعي

TiesTo22
15-11-2009, 00:11
مشكوررررررررررررر وجزاك الله الف الف الف خير والله العظيم بدور على الشرح من اكثر من شهر والحمد لله تم فهم دروسك لكن لم اكملها للان لاني اقوم بفهم الدرس وبتطبيقه

المعذب1
18-11-2009, 15:43
موضوع رووووووووووووووووووعة بكل معنى الكلمة ومتعوب عليه ويوفر الجهد عالواحد والوقت
مهما قلت فهو موضوع لا يمكن وصفه رائع فعلا ولي عودة مرة تانية انشا الله

عاطف مهند
23-11-2009, 13:13
شكرا على تعليم

انا فهمت اكتير ياريت كل اعضاء المنتدى يفوتو على هاد الموضوع

شكرا كتير

abulkhair
11-12-2009, 13:54
مشكور وجزاك الله خير

وكل عا وانتم بخير .. بمناسبة اخر جمعة في هذا العام

انثى تعشق الفرح
24-12-2009, 12:42
يعطيك العافيه

BADER77
31-01-2010, 09:34
بارك الله فيك يا عزيزي

كفيت ووفيت

naq
15-03-2010, 12:53
good lessons thanks alot

I will follw them to the END

حنين عبادي
11-04-2010, 19:40
الف شكر على الشرح الاكثر من رائع
انا عندي امتحان برمجية v.b وما افهمتها الا الشرح هاد
الف شكر ويعطيك العافية

_Alinw15
24-04-2010, 12:52
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
شُكراً لك عَلى المَوضوع الجَميل
ننتظر جَديدكـ

Elegant Knight
25-04-2010, 16:10
السلام عليكم و رحمة الله و بركاته

جزاك الله كل خير اخى The Crash

جذبنى عنوان الموضوع و ان الشرح من البداية

بالرغم من انه فاتنى الكثير ان شاء الله سأحاول المتابعة

جزيت كل خير و جعل هذا العلم بموازين حسناتك

أحــ moonـــلى
11-05-2010, 14:40
مشكور على الدروس...... سبحان الله أناعندي هالكورس ....فجيول بيسكـ <<<<<

بس عندي سوال ...

أنت شرح فيجول بسيكـ ..أس أصدار ....إلا البرنامج بشكل عــــــــــــــام ؟

flavia
15-05-2010, 11:43
يسلموووو على الشرح الرائع

بس انا اداة Command دية مش لقياها عندى ؟

انا باستخدم vb 2005 express edition

يسلموو مرة تانية على الشرح الرائع

.kakarot.
14-06-2010, 12:53
شكراً جزيلاً لك

مهند سعيد باحوي
23-07-2010, 21:14
أشكرك على أول دروسك شكرا جزيلا

مهند سعيد باحوي
23-07-2010, 21:19
:dلو كان لي ثلاث أقدام لأسرعت بها إليك شاكرا ولكن هي قدمان فقط

مهند سعيد باحوي
23-07-2010, 21:23
أهنيكي توقيعك فل ابشن بس كيف سويتي:d

Ŕ.ĹęỂ
06-08-2010, 05:15
شكـــــــرا

Mystic Trunks
12-09-2010, 17:08
مشكور

RanZ
23-11-2011, 19:33
اخوي تكفا رد بسرعه اوووه توهقت في شي :confused:

انا الحين مسوي 3 فورم وابغا اخلي الفورم 3 اول واحد قبل الاول والتاني كييييف؟؟

يعني ابغا البرنامج يشتغل كذا الفورم الثالث وبعدين الاول والثاني بليز سريع ردلي

الزبدة ابغا اخلي الفورم الثالث هو الاول

وكيف احفظ البرنامج بعدين ؟؟؟

RanZ
23-11-2011, 20:42
اول برنامج لي (تجربة) عبارة عن آله حاسبة xD

هذا الرابط :
لاكن في تقدم مستمر ان شاء الله ^^

ابغا رايكم فيه^^

وكمان حجمو : 44KB

X'D

لاكن مشكلتي الايقونه يقول ان الصورة فيها خطا ><"