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

مشاهدة النسخة كاملة : تعليم فيجوال بيسك


الصفحات : [1] 2

thegust2000
16-04-2006, 09:52 AM
هذا الموضوع قمت بنقله اليكم بعيدا عن موضوع
تعلم البرمجه خطوه بخطوه (http://www.absba.org/vb/showthread.php?t=295172&page=4)
ففى هذا الموضوع نتكلم عن الفيجوال بيسك فقط


ان شاء سوف اقوم برفع الكتاب بعد وضعه على المنتدى وبه اسم صاحبه وبيانته ولكن لن اقوم بكتابتها حفاظا على قوانين المنتدى

daud
16-04-2006, 09:57 AM
اشكرك اخي الكريم وجزاك الله خيرا

thegust2000
16-04-2006, 10:02 AM
المقدمة


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

ماهي لغة الفجوال بيسيك؟؟

الفجوال بيسيك هي لغة برمجة من اهم لغات الحاسب وكان اسمها أولا بيسيك ، ثم طورت لتصبح فجوال بيسيك و كلمة BASIC اختصار لكلمة
Symbolic Instruction Code Beginners All-purpose, و هي لغة مرئية سهلة التعلم, فواجهة الفيجوال بيسيك كما تري مثل اي واجهة برنامج اخر مثل فلاش او ثري دي ستوديو ماكس..الخ
http://www.0zz0.com/2006/04/16/592230786.jpg
نبذة تاريخية عن الفجوال بيسيك..:

أصل لغة فجوال بيسيك هى لغة بيسيك التي ظهرت في كلية دارتماوث Dartmouth علي يد جون كيمني و توماس كيرتز عام 1963م, و قد أصبحت بسرعة فائقة من أشهر و أسهل لغات..

http://www.0zz0.com/2006/04/16/532145100.jpg









الفهرس


البداية مع الفيجوال بيسيك ----------------------------- 1
فتح برنامج الفيجوال بيسيك
واجهة الفيجوال بيسيك
عناصر شريط الادوات
قوائم الفيجوال بيسيك
شرح اول الكود
مصطلحات هامة

التعامل مع الفورم -------------------------------------- 2
النماذج Forms
فتح و اظهار النموذج
خصائص الفورم
الاحداث الرئيسية للفورم
تغيير حجم الفورم
وحدات القياس

التعامل مع ادوات التحكم ------------------------------- 3
ما هي ادوات التحكم؟
التعامل مع ادوات التحكم
تحرير ادوات التحكم
استخدام بعض الادوات
الاداهPictureBox
الاداه CheckBox
الاداه OptionButton
الادتين ComboBox و ListBox
الادتين ScrollBars
ادوات المسارات | DriveListBox | DirListBox FileListBox
اداه الصورة Image
الاداه OLEObject
الاداه RichText Box
الاداه CommonDialog
اداه الجدول المرن MSFlexGride
اداه الجدول المرن
التحكم في سلوك الجدول
اهم احداث الاداه
التحكم في مظهر الاداه




القوائم في الفيجوال بيسيك --------------------------- 4
انشاء القوائم في الفيجوال بيسيك
انشاء قائمة بالكود
فتح قائمة منسدلة من ليبل او شكل
وضع صورة بجانب القائمة

بعض القواعد الهامة في فيجوال بيسيك --------------- 5
قاعدة If..Then
قاعدة Select Case
قاعدة For..Next
القاعدة While..We
قاعدة Do..Loop

تعلم برمجة الالعاب -------------------------------------- 6
الحركة
الجدران
استخدام لوحة المفاتيح
لعبة سباق السيارات
الفكرة و الكائنات
الكود

المتغيرات و التركيبات و المصفوفات -------------------- 7
المتغيرات
التركيبات
تركيبات Enum
تركيبات UDT

التعامل مع الملفات و المجلدات ------------------------ 8
انشاء و مسح المجلدات
نقل الملفات
مسح الملفات
البحث عن ملفات
خصائص اخري
فتح البرامج

الاخطاء و تفاديها ------------------------------------------ 9
الاخطاء و انواعها
الاخطاء و تفاديها



عمل العمليات الحسابية و معالجة السلاسل النصية ---- 10
السلاسل الحرفية
تغيير حالة الاحرف
دوال النصية
التعامل مع التاريخ
عمليات منطقية
دوال حسابية
انشاء اله حاسبة بسيطة
وضع الكائنات
الفكرة و الكود
معرفة الرموز
انشاء برنامج السلعة و التاريخ
الكائنات
الكود

انشاء برنامج رسوم -------------------------------------- 11
الفكرة
الكود
انواع الرسوم المختلفة
اهم احداث الفورم الخاصة بالرسوم

استخدام الاجرائات و الدوال ----------------------------- 12
تحديد مجال الاجرائات و الدوال
اعادة استخدام الاجرائات و الدوال
الاجرائات
ما هي الاجرائات
انشاء الاجرائات الفرعية و استخدامها
تمرير البيانات من و الي الاجراء
انهاء الاجراء
الدوال
ما هي الدوال
انشاء الدوال
دوال API

قواعد البيانات ------------------------------------------ 13
اقسام المشروع
انشاء قاعدة بيانات
ربط قاعدة بيانات بالفيجوال
الخصائص المهمة لاداه DataControl
بناء السجلات الالي
الاداه DBGride
مجموعة مهام للاداه DataControl
اوامر التنقل
الحذف و الاضافة و التحديث
البحث داخل قاعدة بيانات
فحص حالات معينة

انشاء حافظة الشاشة ---------------------------------- 14
اهمية حافظة الشاشة
بناء البرنامج
اخر خطوة

استخدام داسركت اكس 7 مع الفيجوال بيسيك -------- 15
تعريف دايركت اكس
الكائن DirectDraw
ما هو دايركت درو؟
انشاء كائن دايركت درو
السطح الرئيسي و السطح الخفي
الرسم علي السطح الخفي
الكتابة علي السطح الخفي
رسم السطوح علي السطح الخفي
المستطيل
نظام العرض
تطبيقات علي دايركت درو
التطبيق الاول
التطبيق الثاني
التطبيق الثالث
كائن DirectInput
كائن دايركت انبت
لوحة المفاتيح
الفأرة

انشاء ادوات ActiveX ----------------------------------- 16
انشاء الاداه
مثال علي اداه
احداث الاداه






استخدام الاصناف Classes ----------------------------- 17
انشاء الاصناف في فيجوال بيسيك
اهم الاحداث
انشاء الخصائص
الوظائف Methods
اضافة الاحداث
استخدام الاحداث
التخلص من الحدث

الانترنت ------------------------------------------------- 18
ما هو الانترنت
كيف تعمل شبكة الانترنت
احتياجات اي جهاز ليكون خادم انترنت
انشاء صفحات الويب
برمجةالويب
لغة VBScript
لغة VBScript
مثال
ملاحظات هامة
انشاء الكائنات بكود HTML
صفحات الويب الديناميكية Dynamic HTML
ما هيDHTML
محتويات صفحة DHTML
مثال علي DHTML
نشر صفحات DHTML

صناعة الفيروسات و برامج الاختراق --------------------- 19
الفيروسات
امثلة علي الفيروسات
الفيروس الاول
الفيروس الثاني
برامج الاختراق
اختراق كلمة سر لقاعدة بيانات
معرفة كلمة سر علي شكل نجوم
برنامج اختراق الحاسب
مقدمة
التأكد من ان النفد مفتوح
Client
الكائنات
كتابة الكود
Server
الاكواد الجزء الاول
الاكواد الجزء الثاني
برنامج اختراق البريد
الفكرة و وضع الكائنات
الكود

ملاحظات هامة ------------------------------------------ 20
اغلاق برنامجك
كل شئ عن الرسائل
صناديق الادخال
الخاصية ToolTipText
كائن ClipBoard
الامر With
الامر App
الكائن Shell32
تحسين واجهتك بالخطوط
عمل ستب لبرنامجك

thegust2000
16-04-2006, 10:19 AM
بسم الله الرحمن الرحيم
فتح البرنامج

يمكنك فتح البرنامج من قائمة Start بهذه الطريقة:
Start > Programmes > Microsoft Visual Studio 6.0 > Microsoft Visual Basic 6.0
http://www.0zz0.com/2006/04/16/203948158.jpg
• و يمكنك فتحة من ايقونته علي سطح المكتب و تخلص!

thegust2000
16-04-2006, 10:31 AM
بسم الله الرحمن الرحيم
واجهة الفيجوال بيسيك

• الفورم:
الفورم ستكون هي النافذة الأساسية لمشروعك ... وكذلك ستكون هي الصندوق الذي يحتوي على كل الكائنات الأخرى التي تضيفها للفورم, لذا فيمكن أن نعتبر الفورم هي أهم كائن في المشروع, و هذه هي نافذة الفورم:
http://www.0zz0.com/2006/04/16/57181452.jpg
وهي كما ترى عبارة عن شكل رباعي قائم الزوايا يحتوي في الأعلى على شريط العنوان المكتوب فيه Form1 وبجواره أيقونة الفورم ... ويحتوي على عدد من النقاط الفرق بين كل نقطة وأخرى 120 Twip…
بالضغط بالزر الأيمن من الماوس على الفورم تظهر لك قائمة بعدد من الإمكانيات التي تقدمها لك الفورم مثل ...
View Code: هذا الأمر يقوم بإظهار نافذة الكود ... في هذه النافذة تستطيع كتابة الكود الخاص بالفورم.
Menu Editor: هذا الأمر يقوم بإظهار نافذة محرر القوائم ... وهي النافذة التي تساعدك في إضافة قوائم إلى مشروعك.
Lock Controls: هذا الأمر يجعل جميع الأداوت في الفورم غير قابلة للتحريك ... وذلك إذا كنت قد وضعت الوضع النهائي لهذه الأدوات...
Paste: وهذا للصق شئ علي الفورم.
Properties: يقوم هذا الأمر بنقلك إلى نافذة الخصائص.

• شريط الادوات:
يمكن أن نقول أن شريط الأدوات من الكائنات أو النوافذ الرئيسية في بيئة التطوير Microsoft Visual Basic 6.0 وهو الشريط الذي يحتوي على كل الأدوات التي يمكن أن تضيفها للفورم من صندوق صورة PictureBox أو ميقاتي Timer أو صندوق نص TextBox أو صندوق عنوان Label أو غير ذلك..


http://www.0zz0.com/2006/04/16/62776641.jpg
و يمكن اضافة ادوات اخري لهذا الشريط بالضغط عليه بالزر الايمن و اختيار الامر Components ستظهر لك هذه الشاشة:
http://www.0zz0.com/2006/04/16/302055775.jpg
فقم باختيار الاداه التي تريدها ثم اضغط Apply ثم OK, و اذا اردت ادخال ادوات ActiveX او DLL فقم باختيار Browse ثم اختر الاداه..



• نافذة الفورمات:
http://www.0zz0.com/2006/04/16/718085347.jpg


هذه هي نافذة الفورمات وهي كما ترى تحوي كائنان و احيانا اكثر ... الأول هو كائن فهرس Directory واسمه Forms وهو الفهرس الذي يحتوي على كل الفورم التي ستضيفها للمشروع, و من الممكن وجود Directory اخر عند اضافه Module او Class Module ...الخ
والكائن الآخر هو كائن من نوع فورم Form واسمه Form1...
تمنحك نافذة الفورمات القدرة على عدد من الأشياء التي تراها بمجرد ضغطك بالزر الأيمن بالماوس على أي كائن من الكائنات في مستكشف المشروع مثل الحفظ والإلغاء وغير ذلك..


• نافذة الخصائص:
هذه النافذة تحتوي على خصائص جميع الكائنات والأدوات التي تضيفها لمشروعك, بما فيها خصائص الفورم, و تختلف الخاصائص الخاصة بكل اداه عن الاخري ماعدا بعض الخصائص المشتركة بين بعض الادوات, وهذه هي نافذة الخصائص:

http://www.0zz0.com/2006/04/16/21050721.jpg

وهي كما ترى تحتوي على الخاصية في اليسار ... وقيمتها في اليمين ... فمثلا الخاصية Caption تجد أن قيمتها Form1 وهكذا ...
ومن شكل النافذة تلاحظ أن الخصائص فيها مرتبة تبعا للترتيب الأبجدي من أعلى لأسفل فيما عدا الإستثناء الوحيد وهي الخاصية Name و يمكن ترتيبها خصائصيا عن طريق الضغط علي Categorized بجانب Alphabetic ...
ومن الملاحظ أن كل كائن في البرنامج يحتوي على مجموعة من الخصائص التي تختلف من كائن لآخر وكذلك عدد من الخصائص المشتركة بين الكائنات ... فمثلا كل الكائنات تمتلك الخاصية Name وذلك لأن هذه الخاصية من الخواص اللازمة في الفيجول بيسيك..

thegust2000
16-04-2006, 10:35 AM
بسم الله الرحمن الرحيم
قوائم الفيجوال بيسيك

يحتوي الفيجوال بيسيك علي 13 قائمة, و هم كالتالي:
• القائمة File: تحتوي علي اوامر اساسية, مثل فتح و حفظ مشروح, و فتح مشروع جديد, و تحويل البرنامج الي امتداد Exe.. الخ
• القائمة Edit: تحتوي علي اوامر التحرير العادية بالاضافة الي اوامر اخري..
• القائمة View: تعمل محتويات هذه القائمة علي اظهار بعض الاشياء مثل صفحة كود و فورم و صندوق الادوات...الخ
• القائمة Project: تحتوي هذه القائمة علي اوامر خاصة بمحتويات المشروع مثل اضافة Module او ClassModule او غيرها..
• القائمة Format: بهذه القائمة يمكنك تنسيق برنامجك, مثلا وضع زر في منتصف الشاشة تماما او محاذاته الي اليمين او اليسار او غيره, و بها ايضا الامر LockControls الذي يمكنك من عدم السماح بتحريك او تغغير حجم اي كائن, و يمكنك ازالته بالضغط عليه مرة اخري...
• القائمة Debug: تحتوي هذه القائمة علي معظم اوامر التشغيل, و منها اختيار طريقة تنفيذ البرنامج, مثل تنفيذ سطر واحد منه StepInto, او تنفيذه كله StepOver, او الامر السابق StepOut, او التنفيذ حتي السطر الذي يوجد عليه مؤشر الكتابة RunToCursor, و BreakPoints التي تظهر باللون الاحمر عند كتابة الكود, فعند اختيارها يتم توقف مؤقت للبرنامج اثناء تشغيله...
• القائمة Run: من خلال هذه القائمة يمكنك تشغيل او ايقاف البرنامج, و اعادة تشغيله..
• القائمة Query: تحتاج هذه القائمة الي جمل استعلام SQL..
• القائمة Diagram: تحتاج هذه القائمة الي SQL او ORACLE..

• القائمة Tools: تحتوي هذه القائمة علي اوامر كثيرة مثل AddProcedur الذي يمكنك من كتابة اجراء جديد و لكن يجب ان تكون في صفحة الكود عند اختيار هذا الامر, اما ProcedureAtributes فهو يمكنك تخصيص بعض الاشياء للاجراء الذي انشأته مثل تغيير ID و غيرها..
• القائمة Add-Insert: تحتوي هذه القائمة علي برامج مستقلة توفر خدمات للبرنامج..
• القائمة Window: تنظم هذه القائمة صفحة الكود و الفورم ليكونا ظاهرين مع بعضهما..
• القائمة Help: تحتوي هذه القائمة علي متعليمات خاصة ولا يمكنك فتحها الا اذا تم تحميل MSDN, و بها ايضا الصفحة الخاصة بنبذة عن للفجوال..

thegust2000
16-04-2006, 10:36 AM
بسم الله الرحمن الرحيم
عناصر شريط الأدوا ت

الأداة الأولى : هي أداة Pointer وهي تعيد مؤشر الماوس إلى السهم الطبيعي إذا كان المؤشر على احدى الأداوت أو الأشكال الأخرى غير الوجه الطبيعي.
الأداة الثانية : PictureBox وهي أداة تتيح لك إضافة صورة إلى البرنامج ... وادماج هذه الصورة إلى البرنامج.
الأداة الثالثة : Label وهي أداة تتيح لك إضافة عنوان إلى البرنامج ... أو نص في أي مكان من الفورم ...
الأداة الرابعة : Text Box وهي أداة تتيح لك أن تترك للمستخدم فرصة إدخال بيانات مثل اسمه او…
الأداة الخامسة : Frame وهي أداة تتيح لك صنع Frame إطار وتضمين بعض الأدوات بداخل هذا الإطار.
الأداة السادسة : Command Button وهي أداة زر أمر حيث تتيح لك أن تجعل للمستخدم زرا ليضغط عليه عند تنفيذ أمر معين.
الأداة السابعة : Check Box وهي أداة نقطة إختبار ... وتتيح للمستخدم استخدام خيارات Options التي تضعها في البرنامج.
الأداة الثامنة : Option Button وهي أداة نقطة اختيار ... وفيها يمكنك أن تختار اختيارا ما من عدة إختيارات.
الأداة التاسعة : Compo box وهي أداة تضيف إليها قائمة منسدلة مثل ليختار المستخدم منها إحدى القيم
الأداة العاشرة : ListBox وهي أداة قائمة List تشبه القائمة السابقة ولكن مع الفارق أن هذه الأداة ليست منسدلة.
الأداة الحادية عشر : HScrolBar وهي أداة شريط الإنزلاق العرضي ... وتستخدم في إنزلاق الصور والكائنات الأكبر من اللازم عرضيا.
الأداة الثانية عشر : VScrollBar وهي أداة تشبه السابقة ولكن شريط انزلاق طولي وليس عرضي.
الأداة الثالثة عشر : Timer وهي أداة الميقاتي ووظيفتها أنها تقوم بآداء عمل معين أو عدة اعمال معينة بصفة دورية كلما مر زمن معين تحدده.
الأداة الرابعة عشر : DriveListBox وهي أداة عبارة عن ListBox فيه أقسام القرص الصلب وقسمي القرص المرن والسي دي.
الأداة الخامسة عشر : dirListBox وهي عبارة عن أداة ListBox تقوم بعرض المجلدات Folders في مسار معين تحدده أنت.
الأداة السادسة عشر : FileListbox وهي عبارة عن أداة Listbox تقوم بعرض الملفات Files في مسار معين.
الأداة السابعة عشر : Shape وهي عبارة عن اداة رسم شكل.
الأداة الثامنة عشر : Line وهي أداة رسم خط على الفورم.
الأداة التاسعة عشر : Image وهي أداة إضافة صورة وتختلف بعض الإختلافات عن الأداة Picturebox .
الأداة العشرون :data وهي أداة تستخدم في ربط البرنامج بقاعدة بيانات خارجية.
الأداة الحادية والعشرون : OLE وهي أداة ربط وتضمين ملفات وبرامج خارجية ضمن برنامجك.
معظم هذه الادوات ليست موجودة في صندوق الادوات لذا عليك اضافتها بنفسك..

جدو1
16-04-2006, 10:36 AM
لك الف شكر ياغالى على هذا الموضوع القيم
ونحن فى انتظار الكتاب وتسلم انشاء الله

thegust2000
16-04-2006, 10:37 AM
بسم الله الرحمن الرحيم
مصطلحات هامة
هذه اهم المصطلحات التي يجب معرفتها عند استخدام الفيجوال بيسيك..
• ادوات Controls: هي ادوات تحكم خاصة بالفيجوال تم تصميمها لاستخدامها بأكثر من طريقة...
• حدث Event: هو فعل ما يقوم به الجهاز او المستخدم مثل ضغط زر من لوحة المفاتيح او زر الفأرة..
• الوظائف Methods: هي وظائف محددة يمكن للكائن ان يقوم بها مثل Me.Hide فهي وظيفة خاصة بالفورم فقط..
• كائن Object: و هو كائن (اداه) خاص له مميزاته الخاصة من خصائص و وظائف و احداث يمكن ان ينجزها..
• اجراء Procedure: هي اجراء مقطع او اكثر من التعليمات في البرنامج (الكود) و تكتب عادة لغرض معين, و غالبا تكون متصلة بحدث لذا تسمي "الاجرائات الحدثية Event Procedure ..
• الخصائص Properities: هي مزايا الكائن, مثل حجمه و مكانه في الشاشة و لونه و اسمه.. الخ

thegust2000
16-04-2006, 10:40 AM
بسم الله الرحمن الرحيم
شرح اول الكود

عند فتح نافذة كود لزر مثلا نجد مكتوب الاسطر التالية:
Private Sub Command1_Click()
End Sub

الآن تعال نلاحظ ماذا تعني السطور السابقة:
• الكلمة Private تعني أن الجزء التالي سيعمل من خلال الفورم فقط ولن يعمل من خلال الفورم الأخرى ... ولكي تجعل الإجراء عاما أي يعمل من خلال أي جزء في البرنامج استبدل الكلمة Private.
• الكلمة Sub تعني أن الجزء المحصور بين كلمتي Sub و End Sub عبارة عن مقطع برمجي متكامل ... ولا يتجزأ.
• الكلمة Command1 تعني أن المقطع التالي هو إجراء خاص بالكائن الذي إسمه Command1 وهو زر الأمر الذي أسميـته بهذا الإسم.
• الكلمة Click تعني أن هذا الإجراء سيتم تنفيذه في حالة الحدث Click ومجموع الكلمتين Command1_Click تعني أن هذا الإجراء يعمل من خلال الحدث Click فوق زر الأمرCommand1.
• الكلمة End Sub تعني أن المقطع (الإجراء) قد انتهى.





• لوضع BreakPoint في صفحة الكود, اضغط بجانب السطر من اليسار المراد وضع BreakPoint عنده..
http://www.0zz0.com/2006/04/16/951822768.jpg

لمعرفة ما هي BreakPoint راجع درس قوائم الفيجوال بيسيك الجزء الخاص
ب Debug..

thegust2000
16-04-2006, 10:48 AM
بسم الله الرحمن الرحيم
التعامل مع الاحداث الرئيسية للفورم

هناك خمسة أحداث رئيسية بالنسبة للنموذج يمكن التعامل معها بكتابة اجراء حدثي معين وهي:
Load: يحدث بعد تحميل النموذج في الذاكرة.. Activate : يحدث عند أول ظهور للنموذج ثم بعد ذلك عندما يتحول المستخدم إلى النافذة لتنشيطها .
:Deactivateيحدث عند تنشيط نموذج آخر من نفس البرنامج . :Unloadيحدث قبل افراغ الذاكرة من النافذة . :Initializeيقع مرة واحدة فقط لكل نموذج حتى إذا تم افراغ الذاكرة منه ثم اعادة تحميله لأنه يقع عند تسجيل بيانات النافذة كصنف جديد من النوافذ.

thegust2000
16-04-2006, 10:49 AM
بسم الله الرحمن الرحيم

النماذج Forms


• النموذج عبارة عن كائن يعمل كمكتب للكائنات الأخرى, كالعناوين ومربعات النص ومربعات الرسم التى تتكون منها في النهاية واجهة المستخدم .
• يحتوى النموذج على كل العناصر التى توجد في نوافذ البرنامج حال تشغيله . فهي تحتوي على شريط عنوان وقائمة التحكم وعدة أزرار للتحكم ( تكبير، تصغير، اغلاق ..(
• تظهر أرضية النموذج اثناء التصميم على هيئة شبكة نقطية Grid التى تسمح لك بمحاذاة العناصر على النموذج .

thegust2000
16-04-2006, 10:52 AM
بسم الله الرحمن الرحيم

تغيير حجم الفورم


يمكن تغيير حجم الفورم بأكثر من طريقة:

• عن طريق اماكن التكبير و التصغير, اضغط عليها ثم اسحب ليتم تكبيرها كما تريد ثم حرر زر الفأرة..

http://www.0zz0.com/2006/04/16/729121309.jpg

• عن طريق الخاصية Height و Width..

• عن طريق الكود اي بتغيير الخاصيتين Width و Height عن طريق الكود..

thegust2000
16-04-2006, 10:54 AM
بسم الله الرحمن الرحيم
بعض خصائص الفورم
بعض الخصائص المهمة للفورم:
الخاصية الوظيفة
Name متغير نصي و هو اسم الفورم
Appearance متغير يعبر عن شكل الفورم
AutoRedraw اذا كانت هذه الخاصية True فأن البرنامج يعيد رسم الخطوط و الاشكال اذا محت
BackColor لون خلفية افورم
BorderStyle يعبر هذا المتغير عن الشكل الخارجي للفورم
Caption هذا متغير من نوع نصي يعبر عن عنوان الفورم ... أو القيمة الظاهرية التي تظهر على شريط العنوان بأعلى الفورم
ControlBox بجعل قيمة هذا المتغير = False يختفي صندوق التحكم بأعلى يمين الفورم ... وهو الصندوق الذي يحتوي على زر التكبير والتصغير والإغلاق
Enabled بجعل قيمة هذا المتغير False تكون الفورم غير فعالة أو نشطة ... أي أنك لن تستطيع التحكم فيها أو في جميع الأداوت بداخلها
Font تستخدم هذه الخاصية في تحديد نوع وحجم الخط الذي ستكتب به على الفورم
ForeColor لون خط الكتابة على الفورم
Height متغير رقمي يعبر عن قيمة ارتفاع الفورم
Left متغير رقمي يعبر عن قيمة بعد الفورم عن أقصى يسار الشاشة
MaxButton هل زر التكبير بأعلى الفورم ظاهر أم لا
MinButton هل زر التصغير بأعلى الفورم ظاهر أم لا
MouseIcon شكل أيقونة الماوس من الأشكال الرئيسية
MousePointer تحميل أيقونة الماوس من مكان خارجي
Movable هل سيتمكن المستخدم من تحريك الفورم أم لا
Picture الصورة التي ستوضع كخلفية للفورم
RightToLeft
هل الكتابة على الفورم ستكون من اليمين إلى اليسار أم العكس
ShowInTaskBar هل الفورم ظاهرة في شريط المهام بالأسفل أم لا
StartUpPositio مكان بدئ التحميل ... هل سيبدأ في منتصف الشاشة أم تخصيص مكان البدء
Top قيمة بعد الفورم عن أعلى نقطة في الشاشة حيث أن أعلى نقطة في الفورم تساوي 0
Visible هل الفورم ظاهرة أم مخفية
Width قيمة عرض الفورم
Window State تكبير الفورم إلى حجم الشاشة أو تصغيرها لتكون في التاسك بار أو جعلها في وضع طبيعي

معظم هذه الخصائص موجودة بكائنات اخري و لها نفس الوظيفة ايضا.

يمكن التحكم بأي من هذه الخصائص عن طريق الاكواد بالطريقة التالية:
Object.Property = Style
حيث انObject هي اسم الكائن, و Property هي اسم الخاصية, و Style هي حالة الخاصية..

thegust2000
16-04-2006, 11:01 AM
بسم الله الرحمن الرحيم
فتح و اظهار نموذج اخر

اولا: فتح نموذج اخر:
• اضغط بالزر الايمن علي نافذة الفورمات ثم اختر Add > Form..
• اضغط Project ثم AddForm..
اذا استخدمت ايا من الحالتين سيظهر لك الصندوق التالي:


http://www.0zz0.com/2006/04/16/675207257.jpg
عادة ما نستخدم الفورم العادية, ولكن علينا معرفة باقي هذه الاشياء:
• Form: هذه هي الفورم العادية الخالية..
• About Dialog: و هي فورم عادية, ولكن مخصصة لتكون مثل نبذة عن للبرنامج..
• Web Browser: هذه فورم جاهزة بها الكائنات الخاصة بمتصفح الانترنت..
• Dialog: هي فورم علي شكل Dialog Box..
• Log In Dialog: فورم مخصصة لتكون باسورد للبرنامج..
• Splash Screen: وهي نافذة بدء البرنامج..
• Tip of the Day: و هي فورم مخصصة لتكون Tip of The Day, و طريقة استخدامها مكتوبة بالفورم..
• Option Dialog: فورم بها Option Dialog مقسم الي 4 اجزاء..

ثانيا: اظهار (تنشيط) النموذج:
يمكنك اظهار النموذج بالضغط علي ايقونة الفورم في نافذة الفورمات ضغطا مزدوجا..

thegust2000
16-04-2006, 11:03 AM
بسم الله الرحمن الرحيم

وحدات القياس في فيجوال بيسيك


وحدة القياس الرئيسية في الفيجوال بيسيك هي Twip, و هي من افضل وحدات القياس لانها دقيقة جدا..

و يمكنك تغيير وحدة قياس بتغيير الخاصية ScaleMode في خصائص الفورم الي اي وحدة قياس تريدها و هم كالاتي:

• User..
• Twip..
• Point..
• Pixel..
• Character..
• Inch..
• Millimeter..
• Centimeter..

thegust2000
16-04-2006, 11:04 AM
بسم الله الرحمن الرحيم
ما هي ادوات التحكم

ادوات التحكم هي كائنات معدة لوظائف خاصته ولها مجموعة خصائص ووظائف وأحداث تمامًا كالنوافذ يأتي Visual Basic6 بفئة اساسية من أدوات التحكم وتجتمع هذه الأدوات داخل مربع واحد يسمي مربع الأدوات وتظل أمامك فترة تصميم البرامج . تشترك معظم الأدوات في مجموعة من الخصائص بينما تتميز كل اداة بمجموعة من الخصائص التى ترشحها للقيام بوظيفة معينة داخل الواجهة حيث انها الانسب في الاستعمال...

thegust2000
16-04-2006, 11:07 AM
بسم الله الرحمن الرحيم

التعامل مع ادوات التحكم


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

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



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

تغيير حجم الأداة: لتغيير حجم الأداة اتبع الآتي : انقر الأداة لتنشيطها. انقل المؤشر إلى أحد مقابض التحجيم الموجودة على اضلاع أو جوانب المستطيل الذى يحيط بالاداة ، سيتغير شكل المؤشر إلى سهم ذو رأسين . اسحب المقابض بالضغط على زر الفأرة الأيسر ولاحظ تغير حجم المستطيل مع حركة الفأرة وعندما تحصل على الحجم المطلوب اترك زر الفأرة .

thegust2000
16-04-2006, 11:10 AM
بسم الله الرحمن الرحيم
تحرير الادوات

النسخ: اضغط مفتاحي Control + C, او افتح قائمة Edit ثم Copy...
القص: اضغط مفتاحي Control + X, او افتح قائمة Edit ثم Cut...
القص: اضغط مفتاحي Control + V, او افتح قائمة Edit ثم Paste...
حذف الاداه: اضغط مفتاح Delete, او افتح قائمة Edit ثم Delete

thegust2000
16-04-2006, 11:19 AM
هذه الاداه سهلة و مهمة في نفس الوقت, و في هذا المثال سأشرح كيفية استخدامها..
• الفكرة: سنضع CheckBox و Image و عند الضغط علي CheckBox تتغير قيمته و تظهر الصورة حسب القيمة..
• اكتب هذا الكود في CheckBox:
Private Sub Check1_Click()
If Check1.Value = 1 Then
Image1.Visible = True
End If
End Sub

• بالنسبة الي رقم واحد بجانب Check1.Value فهو قيمة الصندوق و تكون كالتالي:
0  Unchecked http://www.0zz0.com/2006/04/16/538949979.jpg
1  Checked http://www.0zz0.com/2006/04/16/66639936.jpg
2  Grayed http://www.0zz0.com/2006/04/16/301546822.jpg

thegust2000
16-04-2006, 11:24 AM
بسم الله الرحمن الرحيم

Combo & List Box



اولا: Combo Box:

• لوضع اختيارات في هذا الصندوق نكتب الكود التالي في الفورم:

Private Sub Form1_Load()
Combo1.AddItem “Ehab”
Combo1.AddItem “Ahmed”
End Sub

و بهذه الكود يتزود الصندوق بكلمتي Ehab و Ahmed و اذا اردت اضافة اسماء اخري فاستخدم نفس الكود ولكن مع تغيير الاسماء..

2) لكتابة الكود عليك اولا تغييرالاجراء Change الموجودة بصفحة الكود الخاصة بالصندوق الي Click ثم اكتب الكود التالي:

Private Sub Combo1_Click()
Select Case Combo1.ListIndex
Case 0
Expression
Case 1
Expression
End Select
End Sub












الشرح:
لاحظ اني استخدمت قاعدة Select Case و قد بدأت بCase 0 و ليس Case 1 فCase 0 مسئولة عن الاسم Ehab اما Case 1 فمسئولة عن الاسم Ahmed, اما بالنسبة الي Combo1.ListIndex فتعني انه سيقوم التحكم في عناصر الصندوق, و كلمة Expression قصدت بها انه يمكن كتابة اي حدث مثل Image1.Visible = True او Label1.Caption = Ehab ..الخ, اما نهاية الكود End Select تنهي قاعدة Select Case.


ثانيا: List Box:

• لوضع اختيارات في هذا الصندوق نكتب الكود التالي في الفورم:

Private Sub Form1_Load()
List1.AddItem “Ehab”
List1.AddItem “Ahmed”
End Sub

و بهذه الكود تتزود القائمة بكلمتي Ehab و Ahmed و اذا اردت اضافة اسماء اخري فاستخدم نفس الكود ولكن مع تغيير الاسماء..

2) لكتابة الكود عليك اولا تغييرالاجراء Change الموجودة بصفحة الكود الخاصة بها الي Click ثم اكتب الكود التالي:

Private Sub Combo1_Click()
Select Case List1.ListIndex
Case 0
Expression
Case 1
Expression
End Select
End Sub
الشرح كما هو في ComboBox..

thegust2000
16-04-2006, 11:28 AM
Common Dialog



تستخدم هذه الاداه في كثير من الاشياء, ولكنني سأشرح القليل منها الآن..

اولا: اظهار لوحة الالوان:
نستطيع من خلال Common Dialog فتح قائمة الالوان لتغيير لون الفورم او شكل.. الخ, و قائمة الالون تكون كالتالي:

http://www.0zz0.com/2006/04/16/941105272.jpg

و اعتقد ان الجميع يعرفها...












لأستخدام Common Dialog في اظهار هذه اللوحة نقوم بالآتي:
1) وضع Common Dialog في الفورم.
2) وضع الزر الذي عند الضغط عليه تظهر اللوحة.
3) وضع الكائن المراد تغيير لونه.
4) كتابة الكود التالي في الزر:

Private Sub Command1_Click()
CommonDialog1.Flags = &H1&
CommonDialog1.ShowColor
Element.Action = CommonDialog1.Color
End Sub

الشرح:
عند كتابة الامر CommmonDialog1.ShowColor يقوم البرنامج باظهار صندوق الالوان, اما Element.Action فأن Element هي الكائن المراد تغيير لونه مثل Label1 او Form1 اما Action فهي اما ForeColor اي لون مقدمة الكائن او BackColor و هي خلفيته او BorderColor و هو لون الاطار الخارجي و يكون في الاشكال فقط, و CommonDialog1.Color هي ان لون ما اخترت تغييره سيكون اللون المختار من صندوق الالوان..






ثانيا: فتح ملفات الصور:
نستطيع من خلال Common Dialog فتح ملف صورة bmp او jpg او gif, ذلك عن طريق اتباع الآتي:

1) وضع Common Dialog في الفورم.
2) وضع الزر الذي عند الضغط عليه يظهر صندوق الفتح.
3) وضع Image او Picture.
4) كتابة الكود التالي في الزر:

Private Sub Command1_Click()
CommonDialog1.Filter = "Bitmaps (*.bmp)|Jpeg (*.jpg)”"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
Picture1.Picture = LoadPicture(CommonDialog1.FileName)
End If
End Sub

في السطر الاول تمت كتابة نوع الملفات التي يتم اظهارها و ممكن زيادتها, و في الثاني يقوم Common Dialog بفتح نافذة الفتح لاختيار الصورة و وضعها في الصورة...





















ثالثا: فتح ملف txt:
نستطيع من خلال Common Dialog فتح ملف نص و ذلك عن طريق اتباع الآتي:

1) وضع Common Dialog في الفورم.
2) وضع الزر الذي عند الضغط عليه يظهر صندوق الفتح.
5) وضع RichTextBox.
6) كتابة الكود التالي في الزر:

Private Sub Command1_Click()
CommonDialog1.Filter = "Text (*.txt)"
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
RichTextBox1.LoadFile (CommonDialog1.FileName)
End If
End Sub

في السطر الاول تمت كتابة نوع الملفات التي سيتم اظهارها, و في الثاني يقوم Common Dialog بفتح نافذة الفتح و اختيار الملف و وضعه في TextBox...

هذه هي اهم مهام لهذه الاداه واذا اردت معرفة المزيد راجع الجزء الخاص TextBox..

thegust2000
16-04-2006, 11:31 AM
بسم الله الرحمن الرحيم
أداة الصورImage

أداة الصور هي الأداة الثانية التي تتيح لك وضع الصور داخل تطبيقاتك وهي تتميز عن الأداة السابقة في بعض الخصائص وتعاب عنها في بعض الخصائص الأخرى
أهم خصائص الأداة :
Name خاصية الإسم
Appearance طريقة الظهور
BorderStyle شكل الإطار الخارجي
Enabled هل الأداة فعالة أم لا
Height ارتفاع الأدراة
Left بعد الأداة عن يسار الفورم
MouseIcon شكل الماوس
MousePointer مؤشر الماوس
Picture تحميل صورة من ملف خارجي في الأداة
Stretch تحجيم الصورة بحجم الأداة
ToolTipText النص الذي يظهر عند التوقف بالماوس فوق الأداة مدة قصيرة
Top خاصية بعد الأداة عن قمة الفورم
Visible هل الأداة ظاهرة أم مخفية
Width خاصية عرض الأداة

وتتميز هذه الأداة بخاصية Stretch والتي لا تتوفر في الأداة PictureBox وهي من الخواص التي ستجعلك تفضل هذه الأداة في الكثير من برامجك…


ملحوظة: يمكن تحميل الصور أثناء التشغيل كما في اداه PictureBox او باستخدام CommonDialog..

thegust2000
16-04-2006, 11:34 AM
بسم الله الرحمن الرحيم
Option Button

عندما توضع كذا كائن من هذه الاداه, فعند اختيار واحدة فالباقي لا يعملون.. ارجو ان تفهموا ما اقصد, فمثلا اذا وضعنا 3 و سميناهم 1 و 2 و 3 و وضعنا 3 صور, و غيرنا Visible لتكون False و اردنا ان عند اختيار Option1 رقم واحد تظهر الصورة رقم 1 وهكذا.. و لفعل ذلك نكتب الكود في Option1 هكذا:
Private Sub Option1_Click()
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
End Sub
و القيمة True تعني ان الكائن محدد...
و الان قم بتكرير الكود في Option1 و 2 مع تغيير ظهور الصورة...

thegust2000
16-04-2006, 11:39 AM
بسم الله الرحمن الرحيم
أداة الصورةPictureBox

هذه الأداة تتيح لك اضافة الصور إلى تطبيقاتك الخاصة ... ومعالجة هذه الصور وتحريكها
خصائص هذه الأداة:
Name خاصية الإسم وهي من الخصائص المعروفة لدينا
Align وضع الصورة هل تكون في يمين الإطار أم اليسار أم ...
Appearance طريقة الظهور
AutoRedraw إعادة الرسم التلقائي
AutoSize تحجيم الإطار تلقائيا بحجم الصورة الموضوعة فيه
BackColor اللون الخلفي للإطار
BorderStyle تحديد الشكل الخارجي للإطار
Enabled هل الصورة فعالة أم لا
Height خاصية ارتفاع الإطار
Left خاصية بعد الإطار عن أقصى يسار الفورم
MouseIcon شكل أيقونة الماوس من الأشكال التلقائية..
MousePointer اختيار شكل مؤشر الماوس من أيقونة خارجية
Picture اختيار صورة ووضعها داخل إطار الأداة
ToolTipText نص المساعدة الذي يظهر لو توقفت بالماوس أعلى الصورة لمدة قصيرة
Top خاصية بعد الصورة عن أعلى الفورم
Visible هل الصورة ظاهرة أم مخفية
Width خاصية عرض الصورة


تحميل الصور أثناء التشغيل:
من المعروف أن هناك عدد من التطبيقات التي تعتمد على الصور الخارجية ... فلو كنت تريد أن تصنع متصفح للصور مثلا مثل AcdSee فسيكون عليك تحميل الصور من ملفات خارجية إلى تطبيقك ... ويمكن ذلك مع الأداة PictureBox عن طريق الأمر LoadPicture..
وصيغة الأمر LoadPicture تكتب كالتالي:
Picture1.Picture = LoadPicture(PicturePath)
والـ Picture Path لابد وأن يكون المسار كاملا ...

قلب الصورة:
يمكنك نسخ صورة و لصقها مقلوبة باستخدام هذه الاداه فقط ضع 2 Picture Box واحدة بها الصورة و واحدة التي سينقل اليها الصورة مقلوبة, و لقلبه نستخدم هذه الاكواد:
1) الوضع الطبيعي للنسخ:
Private Sub Command1_Click()
Picture2.PaintPicture Picture1.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, 0, _
Picture1.Width, Picture1.Height, vbSrcCopy
End Sub





2) الوضع الافقي:
Private Sub Command2_Click()
Picture2.PaintPicture Picture1.Picture, 0, 0, _
Picture1.Width, Picture1.Height, Picture1.Width, _
0, -Picture1.Width, Picture1.Height, vbSrcCopy
End Sub
3) الوضع الرأسي:
Private Sub Command3_Click()
Picture2.PaintPicture Picture1.Picture, 0, 0, _
Picture1.Width, Picture1.Height, 0, Picture1.Height, _
Picture1.Width, -Picture1.Height, vbSrcCopy
End Sub
4) قلب الصورة:
Private Sub Command4_Click()
Picture2.PaintPicture Picture1.Picture, 0, 0, _
Picture1.Width, Picture1.Height, Picture1.Width, _
Picture1.Height, -Picture1.Width, -Picture1.Height, vbSrcCopy
End Sub













Rich Text Box

هذه الآداه تستخدم بدلا من Text لانها افضل بكثير فيمكنك التحكم من خلالها من اشياء كثيرة فاذا اردت ان تصنع برنامج نصوص فاستخدم هذه الآداه و سأقول البعض من مميزاتها منها..
1) التحكم في خصائص الكتابة بالكود فمثلا بالضغط علي زر يصبح الخط سميك.. الخ, و تكون الاكواد كالتالي:
خط سميك:
RichTextBox1.SelBold = True
خط مائل:
RichTextBox1.SelItalic = True
اسم الخط:
RichTextBox1.SelFontName = ….
حجم الخط:
RichTextBox1.SelFontSize = ….
المحاذاه:
RichTextBox1.SelAlignment = X
و X هي اما 1 او 2 او 3 و واحد تعني محاذاه يمين ام 2 فهي للوسط و 3 هي للمحاذاه لليسار... و تعمل ايضا في TextBox, ولكن يجب كتابة الامر On Error Resume Next في بداية كل كود لأن اذا ضغط احد علي زر هذا الكود و لم يكن يحدد نص ما, ستظهر رسالة خطأ, ولكن بوجود هذه السطور لن يحدث هذا..











Scroll Bars


لاستخدام Scroll Bar في برنامجك يجب اولا وضع شيء لتحريكه بواسطة Scroll Bar و لتكن صورة و لتحريكها بهذه الاداه يمينا و يسارا, فضع HScroll و VScroll, يجب اولا تغيير الخاصية Max الي الرقم المناسب و Min الي الرقم المناسب..

اكتب الكود التالي في HScroll1:

Private Sub HScroll1_Change()
Image1.Left = HScroll1.Value
End Sub

و ضع هذا الكود في VScroll1:


Private Sub VScroll1_Change()
Image1.Top = VScroll1.Value
End Sub

هذا مثال صغير علي استعماله, و يمكنك استعماله مع خصائص اخري بأرقام اخري..

الخاصية LargeChange هي عند تحريك الشريط حركة كبيرة فكم يعدي من الارقام, و SmallChange عند تحريك الشريط مرة واحدة..






المسارات


ما اقصده بالمسارات هو استخدام كل من DriveListBox و FileListBox و DirListBox و تستخدم بدلا من شاشة الفتح او الحفظ التي تفتح عن طريق CommonDialog و لربط الادوات مع بعضها نقوم بكتابة هذه الاكواد في كل من:

Drive1:
Dir1.Path = Drive1.Drive

Dir1:
File1.Path = Dir1.Path

File1:
SelectedFile = File1.Path & "\" & File1.filename
LoadedFile

في كود FileListBox عند كلمة LoadedFile اي ان هذا نوع الملف الذي سيفتح سواء كان bmp او txt..

ملحوظة:
في خصائص File1 ستجد خاصية باسم Pattern و مكتوب بجانبها *.* عليك تغييرها حسب نوع الملف الذي يفتح فاذا كانت صورة تغيرها الي *.bmp و اذا كانت txt تغيرها الي *.txt لعدم المشاكل....









2) و يمكن ايضا وضع شريط تحريك افقي او رأسي عن طريق تغيير ScrollBars في الخصائص الي vbBoth او vbVerticaly او vbHorizontaly...
3) يمكن ايضا فتح ملفات txt عن طريقه.. ( تفقد درس (CommonDialog

thegust2000
18-04-2006, 01:23 AM
بسم الله الرحمن الرحيم

كائن OLE


تستخدم هذه الاداه في العمل مع البرامج الاخري عن طريق الفيجوال, مثل الصورة النقطية Bitmap او ملف Word او غيرها..

و في هذا المثال سنتعامل مع الصورة النقطية لأن لا اعتقد ان هناك جهاز في العالم لا يحتوي علي برنامج PaintBrush..

بمجرد وضع الاداه علي النموذج, يفتح هذا الصندوق الحواري:

http://www.0zz0.com/2006/04/17/918970964.jpg

اختر البرنامج الذي تريد التعامل معه و سيكون Bitmap Image في هذا المثال, و اذا اردن ان تظهر ايقونة البرنامج مع الاداه اضغط علي Display As Icon..

بمجرد ضغط OK سيتم فتح برنامج الرسام, ارسم الصورة التي تريدها ثم اغلق البرنامج..

والان عند تشغيل البرنامج وبالنقر نقرا مزدوجا علي ايقونة البرنامج, سيفتح البرنامج و به الصورة التي رسمتها..

thegust2000
18-04-2006, 01:29 AM
بسم الله الرحمن الرحيم

اداه الجدول المرن FlexGride


هناك 3 طرق لادراج البيانات في الجدول : الطريقة الأولى : تحديد خلية Cell معينة بالانتقال اليها بتحديد الخاصيتين Row ، Col يلى ذلك كتابة النص المراد فيها بالخاصية .. Text الطريقة الثانية : تحديد نطاق من الخلايا وذلك بالانتقال إلى الخلية المحددة لأحد أركان النطاق بـ Row و Col يلى ذلك تحديد الركن المقابل بالخاصتين Row Cel و Colsel ثم نقوم بملئه بعبارة واحدة هي الوظيفة Clip للجدول حيث تملأ النطاق باستخدام نص و String ولتوزيع محتويات النص على الخلايا المختلفة والصفوف المختلفة يتم ذلك بادراج أحرف للتحكم ضمن النص ، الحرف VB Tab يفصل بين الأعمدة المختلفة بينما VBCR يفصل بين صف وآخر .
الطريقة الثالثة : استخدام Text matrix وهي دالة تمكنك من الكتابة في خلية معينة مباشرة بعبارة واحدة وذلك من خلال تحديد الصف والعمود للدالة .










مثال:
Private Sub Form_Load()
With MSFlexGrid1
.Rows = 3
.Cols = 3

.Row = 0: .Col = 0: .Text = "الاسم"
.Col = 1: .Text = "ال***ية"
.Col = 2: .Text = "رقم الهاتف"

.Row = 1: .Col = 0: .RowSel = 1: .ColSel = 2
.Clip = "ايهاب" & vbTab & "مصر" & vbTab & "6328612"

.TextMatrix(2, 0) = "محمد"
.TextMatrix(2, 1) = "السعودية"
.TextMatrix(2, 2) = "4527894"

.AddItem "سمير" & vbTab & "الاردن" & vbTab & "9854326"
End With
End Sub

و الان شغل البرنامج و ستجد الجدول كما يلي:
http://www.0zz0.com/2006/04/18/516918658.jpg

thegust2000
18-04-2006, 01:32 AM
بسم الله الرحمن الرحيم
القوائم


لاضافة قائمة الي برنامجك فيمكنمك الضغط علي Menu Editor في شريط الادوات, او اختيار قائمة Tools ثم Menue Editor, سيظهر صندوق هكذا:



http://www.0zz0.com/2006/04/18/787287150.jpg



محتوياته:

1) بجانب كلمة Caption يوضع ما يكتب في القائمة.
2) بجانب كلمة Name تكتب اسم القائمة.
3) بجانب Shortcut تقوم بأختيار الاختصار مثل Ctrl + N ...الخ.
4) Checked معناها ان التعامل مع القائمة سيكون بالعلامات.
5) Enabled و هي اذا كانت القائمة متاحة ام لا.
6) Visible و يقصد بها ان اذا كانت القائمة ظاهرة ام لا.





• اذا اردت ان تفتح قائمة من قائمة فرعية فقم بالضغط علي السهم  بجانب Next لفتح قائمة جديدة من القائمة التي قبلها و للعودة الي القائمة الرئيسية اضغط علي ...

• اذا اردت ان يوضع خط تحت حرف ما في الكلمة اي ان عند الضغط علي Alt ثم هذا الحرف لتعمل فقم بوضع & قبل الحرف المراد وضع خط تحته.. و اذا اردت وضع فاصل فضع – في خاصية Caption..

thegust2000
18-04-2006, 01:43 AM
بسم الله الرحمن الرحيم
انشاء قائمة بالكود
لانشاء قائمة عن طريق الكود اتبع الاتي:
انشئ قائمة فرعية باسم ما و ليكن Mnu, غير Index الي 0 ثم اكتب هذا الكود في زر الاضافة:
Dim index As Integer
index = Mnu.Count
Load Mnu (index)
Mnu(index).Caption = "قائمة جديدة"
Mnu(index).Visible = True
قائمة جديدة هو اسم القوائم الجديدة التي ستنشأ, و يمكنك تغييره كما يمكنك كتابة Text1.Text بدلا من الاسم و وضع TextBox لتنشأ القائمة باسم التكست..

thegust2000
18-04-2006, 02:04 AM
بسم الله الرحمن الرحيم
لفتح قائمة من ليبل او شكل
في هذا الجزء سنضع ليبل و عند الضغط عليه تظهر قائمة ما..
• ضع 2 فورم, واحدة لانشاء القائمة و واحدة للمشروع..
• ضع في فورم 2 اي قوائم تريدها و في فورم 2 الليبل..
اكتب هذا الكود في ليبل:
Private Sub Command1_Click()
PopupMenu Form2.mnu1, 1, Image6.Left - 960, Image6.Top + 825
End Sub

هذا الكود اسهل مما يمكن, ولا اعتقد انه بحاجة لشرح, فقط اعرف ان mnu1 هو اسم القائمة الموجودة في الفورم الاخر, اما عن Left و Top فهذا مكان ظهورالقائمة..

thegust2000
18-04-2006, 02:07 AM
بسم الله الرحمن الرحيم
وضع صورة بجانب القائمة

1) ضع اداه Picture Box.
2) غير خاصية AutoSize الي True.
3) يجب ان لا تزيد الصورة عن 13 x 13.
4) اكتب هذا الكود في Module:
Private Declare Function VarPtr Lib "VB40032.DLL" (variable As Any) As LongPrivate
Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As LongPrivate
Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As LongPrivate
Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
Const MF_BYPOSITION = &H400&
و هذه الكود في الفورم:
Dim mHandle As Long, lRet As Long, sHandle As Long, sHandle2 As Long
mHandle = GetMenu(hwnd)
sHandle = GetSubMenu(mHandle, mnu#)
lRet = SetMenuItemBitmaps(sHandle, chos#, MF_BYPOSITION, Picture1.Picture, imOpen.Picture)
lRet = SetMenuItemBitmaps(sHandle2, 0, MF_BYPOSITION, imCopy.Picture, imCopy.Picture)
حيث mnu# هي رقم القائمة و تبدأ من 0, و chos# هي رقم الاختيار في هذه القائمة و تبدأ من 0 و طبعا يمكن زيادتها

thegust2000
18-04-2006, 02:16 AM
بسم الله الرحمن الرحيم


If … Then

قاعدة If من اشهر قواعد فيجوال بيسيك, و تستخدم في الشروط فمعناها ان اذا حدث شيء فسيحدث هذا الشيء, و ان لم يحدث سيحدث شيء اخر, ولكن كيف نكتب هذا في طريقة كود؟؟ هذا ما سنعرفه...

تتكون هذه القاعدة من عدة اشياء و هي كاللآتي:

1) IF: و هي اول شيء يكتب في الكود و معناها ان اذا تحقق شيء معين.
2) Then: تكتب بعد الحدث الذي يكتب بعد If و معناها ان اذا تحقق الشيء ( الحدث بعد If) فسيتحقق شيء آخر.
3) Else: و هي اذا لم يتحقق الحدث الذي بعد If يتحقق شيء لآخر, و هي ليست درورية اي لا تستخدم في كل الاكواد.
4) ElseIf: تكون حدث جديد فهي مثل If العادية, ولكن بدلا من ان نقوم بكتابة كود جديد به If و End If نقوم بكتابة ElseIf و تكملة الكود.
5) End If: و تكتب في نهاية الكود لايقاف القاعدة و هي مهمة جدا و تكتب في كل الاكواد.

و الان لنقوم بتطبيق بسيط علي ما سبق بكتابة قاعدة كاملة بكائنات عشوائية..

Private Sub Command1_Click()
If Text1.Text = “Ehab” Then
Image1.Visible = True
ElseIf Text1.Text = “Bibo” Then
Image1.Visible = True
Else
Image2.Visible = True
End If
End Sub






الشرح:
و كما يتبين من الكود انه يشبه Password عند كتابتها صحيحة تظهر صورة و عند كتابتها خاطئة تظهر صورة اخري, فاستخدمت
If Text1.Text = “Ehab” اي ان لو الكتابة في التكست Ehab فانه ينتقل الي الحدث التالي Image1.Visible = True عن طريق كتابة Then ثم الحدث, و اذا كانت تكست Bibo فسيتم اظهار الصورة ايضا و ذلك باستخدام ElseIf, و اذا كانت التكست ليست Ehab و ليست Bibo ستظهر الصورة الثانية و ذلك باستخدام Else.

ارجو ان تكون طريقة شرحي جيدة و يفهمها الجميع.


الدالة IFF:
هي تستخدم كاختصار لدالة If..Else كالتالي:

Private Sub Command1_Click
X = Text1.Text
MsgBox IIf(X = 7, "X=7", "X<>7")End Sub

ففي هذا المثال وضعت تكست و زر امر, واذا كانت تكست1 = 7 فستظهر رسالة تثبت ذلك و العكس صحيح..

thegust2000
18-04-2006, 02:19 AM
بسم الله الرحمن الرحيم

Select Case

تصلح عبارة الشرط if إذا كان جواب الشرط عبارة عن احتمالين أو ثلاثة أما إذا كنت تتوقع عند تقييمك لشرط معين احتمالات كثيرة فمن الأفضل أن نستخدم عبارة Select Case وتكون صيغتها العامة ما يلى : تبدأ العبارة بـ Select Case يليها اسم المتغير او التعبير الذى سيتم اختباره . تأتي بعد ذلك الاحتمالات Case بعد كل منها احدى قيم المتغير الذى ستتم مقارنته ثم يعقبها التعليمات التى ستنفذ إذا كان الشرط صحيحًا أو كان المتغير بهذه القيمة . واخيرًا يأتى Case else ومعناها إذا كان المتغير لا يساوي أيًا من القيم السابقة أو إذا لم يكن الشرط صحيحًا فإن التعليمات التى تلى Else هي التى تنفذ .

مثال: ضع تكست بوكس و زر امر و اكتب به هذا الكود:
Private Sub Command1_Click
Select Case Text1.Text
Case "Bibo"
MsgBox "You Choosen Bibo.."
Case "Ehab"
MsgBox "You Chosen Ehab.."
Case Else
MsgBox "Wrong!"
End Select
End Sub
كما يتبين من الكود انه عند الضغط علي الزر, اذا كانت تكست = Bibo, فسيقة البرنامج باظهار رسالة, و اذا كانت Ehab, فيقوم البرنامج بارسال رسالة مختلفة و اذا لم تكن هذا او ذاك فسيظهر رسالة اخري..

thegust2000
18-04-2006, 02:24 AM
بسم الله الرحمن الرحيم

For.. Next

هذه القاعدة من اهم قواعد الحركة التكرارية و تكتب كالاتي:

Private Sub Command1_Click()
For X = 1 To 10 Step 2
Print X
Next X
End Sub

كما تري من الكود السابق انه ليس عندنا سوا كائن الفورم و زر امر, و عند الضغط عليه, يتم طباعة ارقام علي الفورم من 1 الي عشرة ولكن خطوتان خطوتان اي تكتب الارقام: 1, 3, 5, 7, 9..

شرح الكود:
في السطر الاول كتبت ان X هي الارقام من 1 الي 10 عن طريق كتابة
For X = 1 To 10, اما Step 2 فهي خطوة العد, و في السطر Print X يقوم البرنامج بطباعة ماحدث, و Next X هي نهاية الكود..

thegust2000
18-04-2006, 02:42 AM
بسم الله الرحمن الرحيم

While.. Wend

هذه القاعدة تستخدم في فعل شيء معين اثناء حدوث حدث معين, و عند انتهاء هذا الشيء ينتهي الحدث, و تتكون القاعدة من:
While, Wend

مثال يتم كتابة الكود كالآتي:
Private Sub Command1_Click()
Score.Caption = “0”
While Score.Caption < 10
Score.Caption = Score.Caption + 1
Wend
End Sub

و في هذا المثال عندنا ليبل اسمه Score, و طالما الرقم الموجود به اصغر من 10 فيقوم البرنامج بزيادة 1 الي ان تصل الي الرقم عشرة..

thegust2000
18-04-2006, 02:44 AM
بسم الله الرحمن الرحيم
Do.. Loop

قاعدة Do.. Loop تستخدم في تكرار شيء ما الي ان يحدث شيء ما, و تتكون من:

1) Do: و هي اول شيء يكتب لفعل شيء.
2) Loop Until: تكتب بعد الحدث الذي يكتب بعد Do و معناها ان هذا الشيء سيتم تكريره حتي يحدث شيء ما.

يتم كتابة الكود كالآتي:
Private Sub Command1_Click()
Score.Caption = “0”
Do
Score.Caption = Score.Caption + 1
Loop Until Score.Caption = “10”
End Sub

ففي هذا الكود عندنا ليبل اسمه Score, يقوم البرنامج باضافة 1 الي الرقم حتي تصل الي الرقم عشرة..

thegust2000
18-04-2006, 02:58 AM
بسم الله الرحمن الرحيم
انشاء الالعاب
التحريك
لتحريك اي صوره او ليبل او اي كائن اخر يجب اولا اضافة Timer لكتابه الكود به, و كود الحركة سهلة جدا و سأشرحها الان.. أضف صوره سمها Image, و ميقاتي وسمه TmrMove واجعل القيمة Interval له تساوي 500 (للانترفال قواعد ثابتة فالثانية تساوي 1000) و في صفحة الكود اكتب هذه الكود:
Private Sub TmrMove_Timer()
Image.Move Image.Left + 120, Image.Top + 120
End Sub

و الآن لنقوم بشرح الكود: يتبين من الكود ان الصورة ستتحرك لليسار و للاسفل بمقدار 120 Twip , و اذا اردتها تتحرك لليسار فقط فقم بتغيير الرقم بجانب Top الي 0 وهكذا.. ولكن ماذا عن اليمين و الاعلي؟؟ راجع الجدول الاتي و ستجد الحل...

اتجاه الحركة قيمة Left قيمة Top
لليمين + 0
لليسار - 0
للأعلى 0 -
للأسفل 0 +
لليمين والأسفل + +
لليمين والأعلى + -
لليسار والأعلى - -
لليسار والأسفل - +

thegust2000
18-04-2006, 03:01 AM
الله الرحمن الرحيم
التصادم بجدران الفورم
في هذا الدرس سنصمم معا مثالا عبارة عن صورة تتحرك أفقيا ... حتى تصل إلىجدار الفورم ... ومن ثم تعكس اتجاهها لتسير في الإتجاه المقابل ...
سنستخدم في هذا المثال كائن الفورم و صورة من نوع Image و تايمر..
غير Interval الخاصة بالتايمر الي 100..
• يحب هنا أن نعرف ما هي أقصى نقطة يمكن للصورة أن تتحرك فيها لجهة اليمين ... وأقصى نقطة تتحرك فيها لجهة اليسار ...
• أقصى نقطة تتحرك فيها الصورة لجهة اليسار هي النقطة صفر لأن في هذه النقطة تكون أول الصورة ملاصقة لأول الفورم من جهة اليمين..
• أما أقصى نقطة تتحرك فيها الصورة لجهة اليسار فتحتاج بعض التركيز مع المفاهيم التالية:
1- أقصى نقطة على يمين الفورم هي Form.Width أو عرض الفورم
2- أقصى نقطة على يمين الصورة هي النقطة Picture.Width مضافا إليها Picture.Left..
3- أقصى نقطة تتحرك عندها الصورة لجهة اليمين هي أن يكون مجموع Picture.Width + Picture.Left أقل من أو يساوي Form.Width ...
الآن سنعلن عن متغير يساوي سرعة الصورة لليمين واليسار ... وهذه السرعة لن تزيد عن 100 لذا فأفضل نوع لهذا المتغير هو النوع Byte و لكننا على الرغم من هذا سنستخدم النوع Integer لأن هذه هذا المتغير قد يحمل قيمة سالبة ... وهذا حين تكون الحركة من اليمين لليسار ... والنوع Byte لا يصلح للقيم السالبة..




في إجراء تحميل الفورم Form_Load سنحدد مكان الصورة على أقصى يسار الفورم وذلك لأن الحركة ستبدأ من اليسار لليمين وذلك بالأمر التالي:
PicMove.Left = 0
ثم في قسم الإعلان Genral سنعلن عن ثلاثة متغيرات الأول هو سرعة الحركة ... والثاني هو أقصى نقطة للحركة من جهة اليمين ... والثالث هو أقصى نقطة للحركة من جهة اليسار ... وذلك كالتالي:
Dim Speed As Integer
Dim FarLeft As Integer
Dim FarRight As Integer
سنعود الآن لحدث تحميل الفورم ونكتب فيه قيم هذه المتغيرات كالتالي:
MoveSpeed = 50
FarLeft = 0
FarRight = Form1.Width
نكتب الكود التالي في التايمر:
PicMove.Left = PicMove.Left + MoveSpeed
If PicMove.Left < FarLeft Then MoveSpeed = 50
If (PicMove.Left + PicMove.Width) > FarRight Then MoveSpeed = -50







شرح الكود السابق:
1- تحريك الصورة بزيادة أو نقصان القيمة Left حسب قيمة المتغير .MoveSpeed..
2- إذا وصلت الصورة لنقطة أقل من أو تساوي FarLeft فإن قيمة الحركة ستتغير إلى موجبة ... حتى يتغير اتجاه الحركة.
3- لو وصلت الصورة إلى نقطة أكبر من أو تساوي قيمة FarRight فإن قيمة الحركة ستتغير إلى قيمة سالبة.

thegust2000
19-04-2006, 03:49 AM
يا شباب لو الموضوع مش عاجب حد ممكن مكملش بس على الاقل قيم الموضوع

kingnet
19-04-2006, 04:08 AM
الموضوع رائع اخي بس لو تقوم بتصميمة على مجلة اكترونية بكون افضل

thegust2000
19-04-2006, 08:12 AM
يا اخى الموضوع موجود على ملفات وورد وان شاء الله هنزلها فى اخر الدروس
علشان لو السيرفر الى ممكننرفع عليه يتحذف منه الملف ويفضل الشرح فى المنتدى
الى ان يشاء الله

حمادة منير
30-05-2006, 11:58 AM
بارك الله فيك

mom_2004
30-05-2006, 02:35 PM
لا والله بالعكس يالغالي الا والله اكثر من راااااااااااااائع جزاك الله خير ورحم الله والديك الا ارجوووووووووك رجاااء تكمل والله في شوووووق للمتابعة والله استفدت منه كثير ومنتظرين
اخوك
أبورائد

محمد نجيب
30-05-2006, 02:57 PM
بارك الله فيك

bougee
30-05-2006, 05:06 PM
اخى العزيز thegust2000

هل هذه الدروس خاصة بـ VB6 فقط أم يمكننى تطبيقها على VB.NET ؟؟؟

ولك جزبل الشكر

اخوك
bougee

thegust2000
14-06-2006, 02:24 AM
اخى العزيز thegust2000

هل هذه الدروس خاصة بـ VB6 فقط أم يمكننى تطبيقها على VB.NET ؟؟؟

ولك جزبل الشكر

اخوك
bougee


اخى انا لم اعمل على دوت نت ولكن الاكواد واحده تقريبا

eltohamy
18-06-2006, 12:28 PM
جيد

ريتش موند
05-01-2007, 11:15 PM
ممكن تعطينا الكتاب وتوفر على نفسك العناء

احس الموضوع مفيد جدا ولكن مشتت لانه في المنتدي

وشكرا

yahia_1
05-01-2007, 11:53 PM
بارك الله فيك واقولها صراحة الدي لا يعرف على الاقل لغة من لغات البرمجه فهو يجهل الكثير بارك الله فيك وكن اكيد انه سيتوافر ولو في المستقبل القريب الدي يهتم بموضوع من هدا الحجم انا اعرف هاته الاساسيات واعمل برامج على قدي وادا كنت ضليعا في البرنامج فانني وضعت سؤالا جد معقد فادا كانت لك اية فكرة تنورنا ولك جزيل الشكر

ZERO ONE
11-06-2007, 11:09 PM
بارك الله فيك
موضوع جيد جدا