المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )


مجلس برامج الكمبيوتر و الأنترنت كل مايخص الكمبيوتر والأنترنت من معلومات واخبار و برامجها

موضوع مغلق
قديم 28-01-2008, 04:46 PM
  #1
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
06 رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

المجموعة الثانية
2.1-حل معادلات الدرجة الثانية
حل معادلات الدرجة الثانية باستخدام فيجوال بيسيك 2005
ما هى معادلة الدرجة الثانية؟
هى المعادلة التى على الصورة التالية


حيث أن a وb وc ثوابت وهى أرقام وa و b أكبر أو أقل من الصفر ولكنها لا تساوى صفر و X لا تساوى صفر
المطلوب فى حل هذة المعادلة هو إيجاد قيمة X الذى هو المتغير الوحيد الذى يمكن تمثيل الدالة بدلالتة
يمكن حل بعض معادلات الدرجة الثانية باستخدام طريقة تحليل المقدار الثلاثى ولكن هذة حالات محدودة وعلى ذلك لا بد من موجود طريقة مؤكدة لحل المعادلة
باستخدام طريقة إكمال المربع فإن



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



إذن X عدد معقد ولا يمكننا التعامل معة بأى صورة لأنة لا يوجد جذر تربيعى لعدد سالب فكيف يمكننا حل هذة النقطة لكى نقوم بعمل برنامج يقوم بحل المعادلة
الحل كالتالى

C:\Documents and Settings\the golden2008\My Documents\the golden«\أهـــــــــــم الأعمال و الأنشطه و المستعجله\المشاغب\34.gif

وعلى ذلك فقد قمنا بتقسيم المعادلة إلى جزئين
-جزء حقيقى Real Part
-جزء تخيلى Imaginary Part
وعلى سبيل المثال فإنة لوكانت لدينا المعادلة التالية



إذن الجزء الذى يجب أن نتعامل معة لأنشاء البرنامج هو المعادلة الأخيرة التى توصلنا إليها



سنستخدم هذة وليست المعادلة العامة لحل معادلة الدرجة الثانية
وعلى ذلك نقوم بفتح مشروع جديد فى فيجوال بيسيك ونقوم بتصميم شكل مناسب مثل هذا

ثم نقوم بإنشاء هذة الدالة


كود:
Private Function QuadRoots(ByVal A As Decimal, ByVal B As Decimal _
, ByVal C As Decimal) As String()
Dim Root(1) As String
Dim X1 As Decimal = Nothing
Dim X2 As Decimal = Nothing
Dim Discriminant As Decimal = B ^ 2 - 4 * A * C
Dim RealPart As Double = (-B) / (2 * A)
Dim ImaginaryPart As Double = (Math.Sqrt(-Discriminant)) / (2 * A)
If Discriminant >= 0 Then
X1 = (-B + Math.Sqrt(B ^ 2 - 4 * A * C)) / (2 * A)
X2 = (-B - Math.Sqrt(B ^ 2 - 4 * A * C)) / (2 * A)
Root(0) = X1.ToString
Root(1) = X2.ToString
End If
If Discriminant < 0 Then
X1 = (RealPart) + (ImaginaryPart)
X2 = (RealPart) - (ImaginaryPart)
Root(0) = RealPart.ToString & "+" & ImaginaryPart.ToString & "i"
Root(1) = RealPart.ToString & "-" & ImaginaryPart.ToString & "i"
End If
Return Root
End Functionوفى الزر حساب
كود:
Dim Root(1) As String
Root = QuadRoots(TextBoxA.Text, TextBoxB.Text, _
TextBoxC.Text)
TextBox1.Text = Root(0)
TextBox2.Text = Root(1)ثم
End
ورابط تحميل المشروع
http://www.zshare.net/download/46275942b4c120
يـــــــــــــــــــــــــــــــــــتبع.........
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر


محمد المعمري غير متواجد حالياً  
قديم 04-02-2008, 01:55 AM
  #2
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
Read رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

part3-إنشاء الإستعلام Query باستخدام عبارات SQL



1-إنشاء جملة أو عبارة الإدخال Insert

-قم بفتح قاعدة البيانات التى أنشأنها فى الجزء الاول من الموضوع
-اضغط على Query أو استعلام أو انشاء استعلام طبقا لإصدار أوفيس الذى تستخدمة
-قم باختيار وضع التصميم يعنى عرض التصميم وليس معالج إنشاء استعلام
-قم بإغلاق نافذة عرض الجداول أو Show Table

سنقوم الان بانشاء الاستعلام بدلالة
ProjectIDو ProjectNameو ProjectDescriptionو SequenceNumberو LastUpdateDate
إذهب إلى View أو عرض ثم اختر عرض SQL او SQL View ويمكن ذلك عن طريق عمل كليك يمين بالماوس ثم اختيارها من القائمة أو فى شريط القوائم
سنقوم الان بكتابة صيغة الاستعلام وهى


كود:
INSERT INTO Projects
كود:

(ProjectID, ProjectName, ProjectDescription, SequenceNumber, LastUpdateDate)
VALUES (@ProjectID, @ProjectName, @ProjectDescription, @SequenceNumber,
Date()+Time());

نلاحظ التالى


Insert into Projects ومعنى ذلك أننا سنتعامل مع الجدول Projects ومعنى العبارة قم بعمل إدخال إلى الجدول Projects


ماهو الذى سنقوم بإدخالة إلى الجدول Projects ؟

سنقوم بإدخال القيم التالية

VALUES (@ProjectID, @ProjectName, @ProjectDescription, @SequenceNumber,
Date()+Time());
القيم المذكورة على الترتيب
ولكن أين سنقوم بوضع هذة القيم؟
سنقوم بوضعها فى الحقول التالية على الترتيب
(ProjectID, ProjectName, ProjectDescription, SequenceNumber, LastUpdateDate)
بعد أن قمنا بكتابة صيغة الاستعلام يمكننا مشاهدتة عن طريق View ثم Design View
قم الان بعمل حفظ ستظهر لك رسالة تفيد باختيار اسم للاستعلام قم بحفظها باسم usp_InsertProject
و usp هذة هى اختصار للجملة user stored procedure وهذة التسمية ضرورية طالما أننا سنتعامل من خلال الفيجوال 2005

لكى نتأكد الان من صحة العمل
قم بالذهاب إلى View ثم اختر Datasheet View ستظهر لك نافذة تطلب منك إدخال ProjectID ثم بالضغط على ok سيطلب منك القيمة التالية ProjectName وفى النهاية سيقوم بإدراج التاريخ والوقت الحالى
تلقائيا دون أن يطلب منك ذلك
لكنة يبقى هناك سؤال مهم
ماذا سنكتب فى خانة ProjectID ؟
إذا نظرنا نظرة سريعة على الدرس الأول فى موضوع التعامل مع قواعد البيانات فإننا سنجد أننا قمنا بجعل محتوى الحقول GroupID و ProjectID و GroupProjectID رقم وأن من خصائص هذا الحقل أن طولة =
Replication ID ومعنى هذة الجملة Replication ID بصورة دقيقة تم توليدة أو إنشاؤة و ليس معناة مستنسخ فقد كنت مخطئا عندما عبرت عنة بأنة مستنسخ لأن هناك شرط فى عملية الاستنساخ وهو وجود الشىء
الذى سيتم النسخ منة ووجود النسخة الناشئة عن عملية النسخ وهذا الشرط لن يكون متوفرا فيكون المعنى هو مولد أو منشاء بضم الميم
ماهو هذا الرقم الذى سيتم وضعة ومن أين نأتى بة؟
سنقوم نحن بتوليد هذا الرقم وهو رقم تعريف أو رقم هوية ولة مواصفات خاصة يتم الحصول عليها من خلال الويندوز وهو رقم تجدونة كثيرا من ضمن الأرقام الخاصة ببعض قيم الرجيسترى المعرفة بل هو نفسة وهو بالتحديد رقم
Identities لذلك يتم اختصارة إلى ID إذن Identities هى تعريف أو دليل
-إن أرقام ID التى هى Identities تتكون من 32 رقم مقسمة إلى أربع مجموعات بين كل مجموعة ومجموعة يوجد فاصل وتحتوى على أرقام وحروف كبيرة Capital
3 مجموعات منها تتكون من أربعة رموز ومجموعة واحدة تتكون من 8 رموز ومجموعة أخيرة تتكون من 12 رمز مثل هذا
5D486569-90CA-434E-9FFD-EE5DABA81223
ويتم انشاؤها عشوائيا بدون ترابط بين الرقم السابق والرقم الحالى والرقم القادم
ولكن هناك خطاء نقوم دائما بارتكابة وبإصرار غريب وهو أننا نطلق علية لفظ رقم فكما رأينا هو ليس رقم فهو يحتوى على حروف وأرقام وهناك أيضا فواصل إذن هو ليس رقم إنة ID
كيف نقوم بعمل هذا ID ؟
-قم بفتح مشروع جديد ثم قم بإدراج TextBox وButton
-قم بوضعهما بشكل مناسب مثل هذا

قم بوضع الكود التالى فى TextBox1

كود:
TextBox1.Text = Guid.NewGuid.ToString.ToUpper()قم بوضع الكود التالى فى Button1

كود:
Clipboard.SetText(TextBox1.Text)قم الان بتجربتة لتوليد ID عشوائى
فى الكود الأول الخاص بمربع النص قمنا بإضافة ToUpper من أجل تحويل الحروف الصغيرة إلى حروف كبيرة
الكود الثانى معناه قم بإرسال الناتج إلى Clip Board ويمكنكم التأكد من ذلك بعد أن تضغط على الزر إنشاء بأن تقوم بعمل لصق Past داخل أى ملف نص لتجد ID الذى تم انشاؤة قد تم نسخة داخل ملف النص دون
الحاجة لأن تقوم بعمل Copy نسخ
2- إنشاء عبارة الاختيار Select..

نقوم الان بإنشاء استعلام Query بنفس الطريقة السابقة
قم بتغيير العرض إلى SQL View ثم اكتب الصيغة التالية

كود:
SELECT ProjectID, ProjectName, ProjectDescription, SequenceNumber, LastUpdateDateDate


كود:

FROM Projects
ORDER BY SequenceNumber;والمعنى واضح قم باختيار الحقول ProjectID, ProjectName, ProjectDescription, SequenceNumber, LastUpdateDateDate


من الجدول Projects


ثم قم بترتيبها ترتيبا تصاعديا إعتمادا على SequenceNumber

يعنى السجل الذى لة SequenceNumber 1 أولا ثم 2 ثم 3 .....الخ

3-إنشاء عبارة Update

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

كود:
UPDATE Projects SET ProjectName = @ProjectName, ProjectDescription = @ProjectDescription,

كود:

SequenceNumber = @SequenceNumber, LastUpdateDate = Date()+Time()
WHERE ProjectID=@ProjectID;ثم حفظ باسم usp_updateProject


4-إنشاء عبارة Delete

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



كود:

Delete
FROM Projects
WHERE ProjectID = @ProjectID;

ثم قم بحفظة باسم usp_DeleteProject
سنقوم الان بإضافة استعلام اخر
قم بإضافة Query
والصيغة هى

كود:
SELECT ProjectID, ProjectName, ProjectDescription, SequenceNumber, LastUpdateDate
FROM Projects
WHERE ProjectID=[@ProjectID];

ثم نقوم بحفظ باسم usp_SelectProjects
وكما ترون فإننا قمنا بالاختيار من ضمن مجموعة من المشاريع Projects عند وجود أكثر من مشروع

و يتبع......
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر



التعديل الأخير تم بواسطة محمد المعمري ; 04-02-2008 الساعة 02:01 AM
محمد المعمري غير متواجد حالياً  
قديم 04-02-2008, 11:15 PM
  #3
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
Read رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

Part4-تعريف Currency Manager
Currency Manager
ما هو Currency Manager أو مدير التعاملات؟
هو مجموعة من أدوات التحكم تقوم بإدارة الاتصال بقاعدة البيانات وربطها بالتطبيق وعرض البيانات داخل الفورم ولكن لكى نفهم معنى Currency Manager يجب أن نعرف مسار عملية الإتصال بقاعدة البيانات
-عندما تريد الإتصال بقاعدة البيانات بغرض التحكم فى محتوياتها فمعنى ذلك أنة قد صدر أمر منك من خلال هذا الإتصال الصادر منك إلى قاعدة البيانات وهذا يسمى Data Connection

وعلى ذلك ينبغى أن يتم الرد فى الوارد

ويسمى الوارد من قاعدة البيانات إليك Data Adaptor ويتضمن معلومات حول الجداول والحقول التى قمت باختيارها
إذن لدينا الان Data Connection و Data Adaptor
ولكن كيف يمكن معرفة محتويات القاعدة من خلال الإتصال وبمعنى أكثر وضوحا كيف وبأى طريقة سيتم عرض المحتويات
يتم تفصيل وتقسيم محتويات قاعدة البيانات فى جزء يعرف باسم DataSet حيث أنة يتم تحليل قاعدة البيانات إلى مكوناتها الرئيسية Tables وViews وStored Procedures و Functions ....الخ
كما يتم عرض مكونات الجداول أيضا من حقول

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

إذن هذا هو مسار الاتصال بقاعدة بيانات يمكننا أن نقوم بالحصول على البيانات عن طريق سلوك نفس المسار باستخدام كود دون أن نقوم بربط كل مربع نص بالحقل المطلوب هل يمكن ذلك
مثال
نفترض أن لدينا قاعدة بيانات A وأن بها الجدول B وعدد من الحقول ba,bb,bc,bd وأنة أثناء عمل اتصال بقاعدة البيانات قام معالج الإتصال بعمل Dataset وقام بتسميتها مثلا CDataSet نستطيع أن نقوم بتجميع هذة المعلومات لإنشاء كود لإحضار البيانات التى فى الحقل ba وإظهارها فى TextBox داخل الفورم
أى أننا نريد احضار النص Text الموجود فى قاعدة البيانات A فى الجدول B فى الحقل ba وربط البيانات DataBindings بمربع النص TextBox وبما أن DataSet قام بإحضار ما يلزمنا فى العمل فإننا سنذهب إلية ولن نذهب إلى قاعدة البيانات
يمكننا ترتيب السطر السابق لنحصل على جملة مفيدة كالتالى
TextBox.DataBindings.Add
وAdd لأننا نريد إضافتة
ثم نريد عرض Text الموجود فى DataSet المسماة CDataSet وبالتحديد فى الجدول B الحقل ba
("Text", CDataSet, "B.ba")
فتكون الصيغة الكاملة
TextBox.DataBindings.Add("Text", CDataSet, "B.ba")
ويجب أ ن نعتبرها قاعدة ويمكنكم دائما استخدام هذة القاعدة لإنشاء الكود

خصائص Currency Manager
والمقصود بهذة الخصائص هو العمليات التى يمكننا تنفيذها
1-Bindings
لربط مجموعة من العناصر ليتم التحكم بها من خلال Currency Manager
2-Countr

لمعرفة عدد الصفوف المرتبطة مع Currency Manager
3-Current

لاستدعاء الصف المرتبط حاليا مع Currency Manager
4-List

لعرض قائمة تكون مرتبطة بقاعدة البيانات مثل DataViews
5-Position

للتعامل مع الصف الحالى اعتمادا على رقم هذا الصف داخل قاعدة البيانات
الوظائف التى يمكن تنفيذها من خلال Currency Manager
1- AddNew إضافة جديد
2- CancelCurrentEdit إلغاء التغييرات
3- EndCurrentEdit إنهاء وحفظ
4- Re fresh تحديث وإعادة تعبئة البيانات
5- RemoveAt إزالة
ولكى نفهم ما هو الفرق بين الخاصية والوظيفة فإننا سنقوم بعمل مثال بسيط جدا
مثال : الربط البسيط
الغرض من هذا المثال هو كيف تتعلم أن تقوم بابتكار الكود دون أن تظل تبحث عن كود لإنشاء برنامجك
الان نقوم بعمل ربط مباشر وبسيط للفورم بقاعدة البيانات دون أن نستخدم Binding Navigator
مشروع جديد يحتوى على 4 زر Button و4 TextBox وكذلك 4 Lable
قم بتسمية الأزرار كالتالى
(السجل الأول, السابق, التالى, السجل الأخير)
فى خصائص Lable قم بتسميتها فى Text إلى الإسم , اسم الأب , المدينة , تليفون المنزل أو كما تريد أن تختار من حقول قاعدة البيانات وقم بترتيب TextBox فى شكل مناسب
-كليك يمين على الفورم ثم اذهب إلى خصائص Properties ثم قم بالذهاب إلى DataBindings ومنها قم بالضغط على Text ثم قم بالضغط على زر مربع الإختيار الموجود بة الخيار non ثم اضغط على Add project Data Source
-يظهر لك الان معالج إعداد مصادر البيانات قم باختيار Database ثم Next
-قم باختيار New Connection ثم يظهر لك معالج الإتصال بقاعدة البيانات قم باضغط على Browse ثم قم باختيار قاعدة البيانات التى تريد الاتصال بها وهى طبعا Northwind
-قم بالموافقة على إضافة قاعدة البيانات إلى المشروع ثم قم بالموافقة على حفظ المشروع باسم NorthwindConnectionString ثم Next تظهر لك الان محتويات قاعدة البيانات
قمت باختيار الجدول المعتاد employees والأربعة حقول وهى Firest Name وSecond Name وCity وHome Phone
-كليك يمين على مربع النص الأول الخاص بالإسم واذهب إلى خصائصة ثم إلى Data Binding ثم Text وقم بفتح Other Data Sources ثم NorthwindData Set ثم Employeesثم قم بالضغط على First Name
قم بتجربة البرنامح الان يظهر لك الإسم فى مربع النص
نحن الان قمنا بربط مربع النص TextBox1
الكود
قم بكتابة الكود التالى فى الفورم

كود:
Private m_CurrencyManager As CurrencyManager
هذة العبارة اختيارية m_CurrencyManager ويمكنك وضع أى جملة أو كلمة أو حتى حرف بدلا منها واستخدامها فى المثال
وستجد أن هناك كود تم إنشاؤة تلقائيا وهو هذا

كود:
Me.EmployeesTableAdapter.Fill(Me.NorthwindDataSet. Employees)
قم بتعبئة ما قمنا باختيارة من خلال Data Adaptor وهو موجود فى
كود:
(Dataset.Table (نقوم الان بربط مربع النص TextBox2 بالحقل LastName فإذا قمنا بتطبيق القاعدة

كود:
TextBox.DataBindings.Add("Text", CDataSet, "B.ba")
فإننا نستطيع ببساطة أن نقوم بإنشاء الأكواد الخاصة بمربعات النصوص الثلاثة الباقية فتكون كالتالى
كود:
TextBox2.DataBindings.Add("Text", NorthwindDataSet, "Employees.LastName")
TextBox3.DataBindings.Add("Text", NorthwindDataSet, "Employees.City")
TextBox4.DataBindings.Add("Text", NorthwindDataSet, "Employees.HomePhone")
وسنقوم بوضع هذا الكود داخل الفورم
يمكنكم الان إزالة الرابط الذى يربط مربع النص الأول بقاعدة البيانات وذلك عن طريق الذهاب إلى خصائص TextBox1 ثم إلى DataBinding ومنة إلى Text واختيار Non ثم كتابة سطر الكود الخاص بة وهو كالتالى

كود:
TextBox1.DataBindings.Add("Text", NorthwindDataSet, "Employees.FirstName")
.ولكننا أضفنا هذا السطر فى بداية الفورم

كود:
Private m_CurrencyManager As CurrencyManager
فما هو تعريف CurrencyManager ؟
نقوم الان بوضع تعريف لة ويكون التعريف طبقا للقاعدة التالية

كود:
m_CurrencyManager = DirectCast(Me.BindingContext(DataSet, "Table"), CurrencyManager)
وعندما ننظر إلى المثال الذى نحن بصددة نجد أن DataSet هنا هى NorthwindDataSet ونجد أن الجدول Table هو Employees فيكون التعريف على النحو التالى

كود:
m_CurrencyManager = DirectCast(Me.BindingContext(NorthwindDataSet, "Employees"), CurrencyManager)
ويمكنكم القياس على ذلك
الان قم بوضع تعريف CurrencyManager داخل الفورم ثم قم بتجربة البرنامج الان ستجد أن مربعات النصوص الأربعة قد تم تعبئتها بالبيانات
نحتاج الان إلى أكواد للإزرار
-فى زر الأول

كود:
m_CurrencyManager.Position = 0
-فى زر السابق

كود:
m_CurrencyManager.Position -= 1
-فى زر التالى

كود:
m_CurrencyManager.Position += 1
-فى زر الأخير

كود:
m_CurrencyManager.Position = m_CurrencyManager.Count – 1
يمكنكم تجربة المثال السابق فهو مهم
ويفضل اختيار قاعدة بيانات أخرى أو على الأقل جدول اخر وأضعف الإيمان حقول أخرى
وهذا هو رابط للمشروع
http://www.zshare.net/download/35367836c21be1
ولكن ليس هذا هو كل شىء فيبدوا أن هناك عدد من الوظائف نحتاج إليها مثل الإضافة والإزالة والبحث

أنتهى درس اليوم ... ويتبع........
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر


محمد المعمري غير متواجد حالياً  
قديم 10-02-2008, 12:49 AM
  #4
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
Read رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

ثانيا :إنشاء مصدر البيانات وإضافة عناصر التحكم

فى هذا المثال سنقوم بربط أكثر من جدول داخل مشروع واحد

-سنقوم الان بفتح مشروع جديد ثم نقوم بتنشيط الإتصال عن طريق عمل Re fresh وذلك عن طريق كليك يمين على NORTHWIND.MDF الموجودة فى Server Explorer أو انشاء اتصال جديد إذا لم نكن قمنا بعمل الاتصال من قبل
-فى أقصى اليمين وفى Solution Explorer قم بالضغط على Data Sources ثم اضغط على Add New Data Source
-قم باختيار Database ثم Next سوف تجد NORTHWIND.MDF فى مربع الاتصال متصلة بالفعل فإن لم تكن متصلا حتى هذة اللحظة يمكنك الاتصال وذلك عن طريق الضغط على New Connection ثم اتباع الخطوات السابقة ثم Next


-تظهر الان رسالة تفيد بأنة هل تريد نسخ ملف قاعدة البيانات هذا إلى مجلدالمشروع والمستحسن فى هذة الحالة الموافقة حتى لا تضطر لأن تقوم بالاتصال فى كل مرة تقوم بفتح المشروع وحتى تصبح قاعدة البيانات جزء من المشروع قم بالضغط على Yes

-قام المعالج الان باختيار اسم افتراضى للاتصال وهو NORTHWNDConnectionString يمكنك تغيير الاسم أو الاستمرار على الاسم الحالى ثم اضغط Next
-سيقوم المعالج الان بفتح لوحة اختيار مكونات قاعدة البيانات قم بالضغط على علامة + الموجودة بجانب Tables سيتم عرض كل الجداول فى هذا المثال سنقوم باختيار عدد من الجداول وهى Customers و Orders ثم Orders Details لذلك قم بالتأشير أمام هذة الجداول وستجد أن المعالج قد قام بوضع اسم افتراضى DataSet وهو NORTHWNDDataSet يمكنك الإستمرار وذلك بالضغط على Finish

-يظهر لنا الان فى Data Source الجداول التى قمنا باختيارها
-قم بالضغط على الجدول الأول Customers فتظهر لك قائمة منسدلة بها عدد من الخيارات قم باختيار Details

-قم بالضغط على الجدول Customer بزر الماوس الأيسر مع الاسمرار بالضغط ثم قم بسحبة إلى داخل الفورم سيتم إدراج مكونات الجدول تلقائيا إلى داخل الفورم ويمكنك الان تغيير أسماء العناصر المدرجة وترتيب العناصر كما تريد
-سنقوم بعمل نفس الطريقة السابقة مع الجدول Orders ثم مع جدول Order Details ولكن مع اختيار DataGirdView بدلا من Details ويمكننا تغيير حجمهما ليصبحان ملائمان لحجم الفورم أو كما تريد
قم الان بتجربة المشروع عن طريق الضغط على F5


أنتهى درس اليوم و يتبع.........
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر


محمد المعمري غير متواجد حالياً  
قديم 29-01-2008, 05:21 PM
  #5
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
Read رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

2.2-Masked TextBox and Text Valdation

سنتعرف اليوم على Masked TextBox و طرق تخصيص مربع النص TextBox وتحديد إدخالات معينة فى TextBox وكذلك المنع والسماح لعدد معين من الحروف والرموز والصيغ داخل مربع النص TextBox
أولا: MaskedTextBox
-نقوم بعمل مشروع جديد ثم نقوم بإدراج MaskedTextBox من خلال ToolBox
كليك يمين بالماوس على MaskedTextBox ثم قم باختيار SetMask يظهر لك الان نافذة Input Mask ويوجد بها قائمة بأنواع الماسكات الممكن استخدامها داخل MaskedTextBox ويمكن تجربة اختيار أحد الأنواع وتجربة كتابة النص بداخلة لمشاهدة النتيجة



ثانيا :Text Validation
إنشاء حدث الكتابة فى مربع النص
لا بد لنا من فهم معنى حدث (Event)
هى كلمة مشتقة من الحدوث ومعناها فى موضوعنا هو تأخير ظهور الوظيفة التى قمنا بإنشائها إلى أن يقع أمر ما
-KeyPress
وهو من خلال اسمة يوضح وظيفتة الضغط على زر
نقوم بفتح مشروع جديد يحتوى على 12 مربع نص TextBox و9 عناوين Label ويمكن وضعها كما بالشكل الاتى



-منع كتابة زر معبن داخل مربع النص TextBox1
قم بكتابة الكود التالى


كود:
Private Sub TextEV1_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = CChar("r") Then e.Handled = True
End Sub
وبالنظر إلى الكود جيدا نجد أن الجزء الفعال فى الكود هو

كود:
If e.KeyChar = CChar("r") Then e.Handled = True
والمعنى عند كتابة الرمز r فإن المنع =حقيقى يعنى قم بمنع ذلك
و TextEV هذة تسمي اختيارية ممكن التسمية TextEV1 و TextEV2 إلخ أو أى تسمية
لوحة المفاتيح مقسمة إلى ثلاثة أجزاء (أرقام و حروف و رموز) كل الأمثلة التالية تقوم بمنع الرموز تلقائيا
2- منع الأرقام والسماح للحروف بدلالة IsNumber فى TextBox2
كود:
Private Sub TextEV2_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox2.KeyPress
If Char.IsNumber(e.KeyChar) Then e.Handled = True
End Sub
لو كان المكتوب رقما قم بمنعة
3- السماح للإرقام ومنع الحروف بدلالة IsNumber فى TextBox3

كود:
Private Sub TextEV3_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox3.KeyPress
If Char.IsNumber(e.KeyChar) = False Then e.Handled = True
End Sub
إذا لم يكن المكتوب رقم ....الخ
4- منع الأرقام والسماح للحروف بدلالة IsLetter فى TextBox4
وهى تعطى نفس النتيجة الموجودة فى 2 ولكن باستخدام IsLetter
كود:
Private Sub TextEV4_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox4.KeyPress
If Char.IsLetter(e.KeyChar) = False Then e.Handled = True
End Sub5
- السماح للإرقام ومنع الحروف بدلالة IsLetter فى TextBox5
وهى نفس 3 ولكن بدلالة IsLetter
كود:
Private Sub TextEV5_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox5.KeyPress
If Char.IsLetter(e.KeyChar) Then e.Handled = True6
-السماح لكل من الأرقام والحروف فى TextBox6
كود:
Private Sub TextEV6_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox6.KeyPress
If Char.IsLetterOrDigit(e.KeyChar) = False Then e.Handled = True
End Sub
وكما نرى فإن الرموز والإشارات والعلامات ممنوعة فى كل الأحوال وعلى ذلك نحتاج إلى طريقة للسماح بها سنفترض أن لدينا مربع نص يمكنة أن يحتوى على رقم أو رقم عشرى(.) أو – أو+
7-للسماح بإضافة علامة أو رمز فى TextBox7
إذا أردنا أن نسمح للأرقام العشرية فقط
كود:
Private Sub TextEV7_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) _
Handles TextBox7.KeyPress
If Char.IsNumber(e.KeyChar) = False Then
If e.KeyChar = CChar(".") Then
e.Handled = False
Else
e.Handled = True
End If
End If
End Sub
هنا قمنا بالسماح لرمز واحد فقط وهو العلامة العشرية فإذا أردنا السماح برموز أخرى فكما بالمثال التالى
كود:
Private Sub TextEV7_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) _
Handles TextBox7.KeyPress
If Char.IsNumber(e.KeyChar) = False Then
If e.KeyChar = CChar(".") Or e.KeyChar = CChar _
("-") Or e.KeyChar = CChar("+") Then
e.Handled = False
Else
e.Handled = True
End If
End If
End Sub
وكما نرى قمنا بالسماح لعلامتى – و+
8-لتطبيق الحدث على مجموعة من مربعات النص TextBox8 و TextBox9 و TextBox10
أما إذا أردنا أن نقوم بتطبيق الحدث على مجموعة من مربعات النصوص دفعة واحدة فإليكم الكيفية
كود:
Private Sub TextEV8_KeyPress(ByVal sender As System.Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles _
TextBox8.KeyPress, TextBox9.KeyPress, TextBox10.KeyPress
If Char.IsNumber(e.KeyChar) = False Then e.Handled = True
End Sub9
- منع الحروف الصغيرة فىTextBox 11
كود:
Private Sub TextEV9_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox11.KeyPress
If Char.IsLower(e.KeyChar) Then e.Handled = True
End Sub10
- منع الحروف الكبيرة فى TextBox 12
كود:
Private Sub TextEV10_KeyPress(ByVal sender As Object, _
ByVal e As KeyPressEventArgs) Handles TextBox12.KeyPress
If Char.IsLower(e.KeyChar) = False Then e.Handled = True
End Sub
وهذا رابط تحميل المشروع
http://www.zshare.net/download/476908070fcd53
يتبـــــــــــــــــــــــــــــــــــع...........
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر


محمد المعمري غير متواجد حالياً  
قديم 30-01-2008, 10:40 PM
  #6
مبارك العرجي
عضو
تاريخ التسجيل: Oct 2005
المشاركات: 79
مبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of light
افتراضي رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

السلام عليكم ورحمة الله وبركاته

ما شاء الله على الحماس والمجهود يا اخوي "مبرمج آل معمر" ما أقول لك إلا:

<div dir="ltr">
Text1.Text = "لا هنت يا ذيب"
</div>

وحنا معك
انا بصراحه كنت ابرمج على الفيجوال بيسك 6.0 بس تركته بعد ما جات الـ DotNET والحين ابرمج على الــC#
ولما قريت الموضوع تحمست وإن شاء الله راح نكون قريبين

وبصراحه عندي كم ملاحظه
- لو يكون للبرمجه قسم خاص فيه وكل درس موضوع لحاله افضل عشان الاستفسارات والاسئله.
- ولو تتركم الادراه انها تحط كود (html) خاص بــ أكواد البرمجه عشان نكتب الكود ويكون الكود واضح مثل
------------------------
<table border="1" cellpadding="4" cellspacing="2" bordercolor="#000000" width="100%" bgcolor="#ffffff" style="border-collapse: collapse; font-family:Tahoma; font-size:8pt">
<tr>
<td colspan="6" align=left style="font-family: Tahoma; font-size: 10pt; font-weight: bold;" bgcolor="#C0C0C0">
Example1:
</td>
</tr>
<td colspan="6" align=left style="font-family: Courier New; font-size: 10pt;" bgcolor="#FFFFD0">
Code in VB or C#...etc<br><br>
</td>
</table>
------------------------
مبارك العرجي غير متواجد حالياً  
قديم 31-01-2008, 12:41 AM
  #7
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
Arrow رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

اقتباس:
المشاركة الأصلية كتبت بواسطة أبوالليل مشاهدة المشاركة
السلام عليكم ورحمة الله وبركاته
وعليكم السلام
ما شاء الله على الحماس والمجهود يا اخوي "مبرمج آل معمر" ما أقول لك إلا:

<div dir="ltr">
Text1.Text = "لا هنت يا ذيب"
</div>

قايل ن ما يهون و حياك الله
وحنا معك
انا بصراحه كنت ابرمج على الفيجوال بيسك 6.0 بس تركته بعد ما جات الـ DotNET والحين ابرمج على الــC#
ولما قريت الموضوع تحمست وإن شاء الله راح نكون قريبين
الله يحيك ياذيبان
وبصراحه عندي كم ملاحظه
- لو يكون للبرمجه قسم خاص فيه وكل درس موضوع لحاله افضل عشان الاستفسارات والاسئله.

- ولو تتركم الادراه انها تحط كود (html) خاص بــ أكواد البرمجه عشان نكتب الكود ويكون الكود واضح مثل
أما من نحيت ملاحظاتك ألي على المجالس فننتظر المشرف العام يرد علك
و أما من ناحية وضوح الأكواد فلك البرنامج الذي يقوم بتحويل و ترجمة الأكواد ألى لغات أخرى في الرد الثاني التابع لهاذا الموضوع
------------------------
<table border="1" cellpadding="4" cellspacing="2" bordercolor="#000000" width="100%" bgcolor="#ffffff" style="border-collapse: collapse; font-family:Tahoma; font-size:8pt">
<tr>
<td colspan="6" align=left style="font-family: Tahoma; font-size: 10pt; font-weight: bold;" bgcolor="#C0C0C0">
Example1:
</td>
</tr>
<td colspan="6" align=left style="font-family: Courier New; font-size: 10pt;" bgcolor="#FFFFD0">
Code in VB or C#...etc<br><br>
</td>
</table>
------------------------
تحياتي يابو اليل,,,,,,,
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر



التعديل الأخير تم بواسطة محمد المعمري ; 31-01-2008 الساعة 12:43 AM
محمد المعمري غير متواجد حالياً  
قديم 31-01-2008, 01:03 AM
  #8
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
Arrow رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

المجموعة الثالثة:
3.1-لاقط الشاشة Screen Captuer

مكونات المشروع
3 أزرار
CheckBox
PictuerBox
يجب ترتيب شكل المشروع كما بالصورة مع مراعاة أن تكون أبعاد مربع الصورة متناسبة 4 عرض إلى 3 طول 400 إلى 300 مثلا
بالنسبة لل CheckBox يجب تغيير خاصية Checked إلى True والغرض من ذلك أنها تكون فى الوضع Checked عند فتح البرنامج
كود الزر إلتقاط


كود:
Dim b As Bitmap = New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
Dim g As Graphics = Graphics.FromImage(b)
Dim s As Size = New Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
If CheckBox1.Checked Then
Me.Hide()
Dim t As DateTime = Now.AddSeconds(1)
Do : Application.DoEvents()
Loop Until Now.Second >= t.Second
g.CopyFromScreen(0, 0, 0, 0, s, CopyPixelOperation.SourceCopy)
Me.Show()
t = Nothing
Else
g.CopyFromScreen(0, 0, 0, 0, s, CopyPixelOperation.SourceCopy)
End If
PictureBox1.Image = b
g.Dispose()
b = Nothing

ستكون الصورة هى b

كود:
Dim b As Bitmap = New Bitmap(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
الصورة الجديدة مصدرها طول وعرض
العرض من Screen.PrimaryScreen.WorkingArea وكذلك الطول
سيكون حجم الصورة الملتقطة هو حجم شاشة العرض التى تستخدمها

كود:
Dim s As Size = New Size(Screen.PrimaryScreen.WorkingArea.Width, Screen.PrimaryScreen.WorkingArea.Height)
لو مساحة العرض =800x600 ستكون الصورة الملتقطة بنفس المقاس
وظيفة CheckedBox
كود:
If CheckBox1.Checked Then
Me.Hide()
Dim t As DateTime = Now.AddSeconds(1)
Do : Application.DoEvents()
Loop Until Now.Second >= t.Second
g.CopyFromScreen(0, 0, 0, 0, s, CopyPixelOperation.SourceCopy)
Me.Show()
t = Nothing
إذا كان مربع CheckBox فى وضع Check قم باخفاء البرنامج نفسة من على سطح المكتب حتى لا يظهر أثناء الإلتقاط لمدة ثانية واحدة ثم التقط عن طريق نسخ البيكسل الذى هو b التى هى الصورة ثم قم بعرض الصورة داخل مربع الصورة
كود الزر حفظ



كود:
Dim saveDlg As SaveFileDialog = New SaveFileDialog

كود:

Dim dlgResult As DialogResult = New DialogResult
saveDlg.Filter = "JPEG Files (*.jpg)|*.jpg"
saveDlg.Title = "Select the file to save the image too."
dlgResult = saveDlg.ShowDialog
If dlgResult = Windows.Forms.DialogResult.OK Then
PictureBox1.Image.Save(saveDlg.FileName)
End If

وكما هو واضح فهذا ما هو إلا دايلوج الحفظ

لتحميل المثال
http://www.zshare.net/download/504850426ea861

يتــــــــــــــــــــبع,,,,,,
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر


محمد المعمري غير متواجد حالياً  
قديم 01-02-2008, 12:29 AM
  #9
محمد المعمري
مراقب سابق
 الصورة الرمزية محمد المعمري
تاريخ التسجيل: Oct 2007
الدولة: المنطقه الجنوبيه
المشاركات: 2,124
محمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond reputeمحمد المعمري has a reputation beyond repute
Read رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

3.2-كيفية تدريج اللون داخل الفورم



لكى نعرف كيف نتحكم فى تدرج اللون سنقوم بعمل تطبيق للتدرج داخل الفورم
-فورم يحتوى على PictuerBox وTimer
-تغييرالخاصية Enabled الموجودة فى Timer إلى True
الكود
فى قسم التصريحات العامة


كود:
Imports System.Drawing.Drawing2D
من الواضح طبعا الغرض واضح من استيراد Drawing2D حيث سنستخدم أدوات الرسم


فى الفورم


كود:

Private M_M As Single = 0
Private M_D As Single = 0.1
لتعريف الخاصية المطلوبة سنقوم بإنشاء روتين فرعى


كود:
Private Sub PictureBox1_Paint(ByVal sender As Object, _
ByVal e As System.Windows.Forms.PaintEventArgs) Handles _
PictureBox1.Paint
Dim LB As New LinearGradientBrush(New Point(0, 0), New Point _
(Me.ClientSize.Width, 0), Color.Green, Color.Yellow)
Dim CB As New ColorBlend
CB.Colors = New Color() {Color.Green, Color.YellowGreen, Color.Yellow}
CB.Positions = New Single() {0, M_M, 1}
LB.InterpolationColors = CB
e.Graphics.FillRectangle(LB, Me.ClientRectangle)
LB.Dispose()
M_M += M_D
If (M_M > 1) OrElse (M_M < 0) Then M_D = -M_D
End Sub
شرح هذا الكود


كود:
Dim LB As New LinearGradientBrush(New Point(0, 0), New Point _
(Me.ClientSize.Width, 0), Color.Green, Color.Yellow)LB
التدرج الخطى يبداء من النقطتين 0 و0 رأسيا وأفقيا التدرج يبداء من اللون الأخضر وينتهى بالأصفر


CB سيكون هو خالط اللون


كود:
CB.Colors = New Color() {Color.Green, Color.YellowGreen, Color.Yellow}

أثناء التدرج من الأخضر إلى الأصفر هناك مرحلة انتقالية وهى الأخضر المائل للصفرة


كود:
CB.Positions = New Single() {0, M_M, 1}
تحديد نقطة البداء بالنسبة ل CB

كود:
LB.InterpolationColors = CB
وهذة هى نقطة الإنقلاب

كود:
e.Graphics.FillRectangle(LB, Me.ClientRectangle)
وهنا يجب تعبئة الشكل الرباعى بكل ماسبق
الان سنعرف ماهى وظيفة Timer
ووظيفتة تحريك العمل الذى قمنا بة ولكى نقوم بتفعيلة دبل كليك علية ثم نكتب الكود التالى

كود:
PictureBox1.Invalidate()
ومعناة إجعل مربع الصورة يتلاشى
طبعا يمكنكم تغيير الألوان والأوضاع حسب الرغبة
ودة طبعا رابط المشروع
http://www.zshare.net/download/5068487a823b4f


ويتبع.....
__________________



كثر الله خير و جمل الله حالك ياهبشان
لو أنني كنت شاعراً لكتبت معلقة غزل في روعة و جمال هذى النظام
أضغط على الصورة




كم هي جميلة شبكتنا .. وكم هي كبيره بكم
فشبكة قحطان بكم ولكم
فلننهظ بها
بصدق وأمانه
وبلا تذمر


محمد المعمري غير متواجد حالياً  
قديم 01-02-2008, 05:44 PM
  #10
مبارك العرجي
عضو
تاريخ التسجيل: Oct 2005
المشاركات: 79
مبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of lightمبارك العرجي is a glorious beacon of light
افتراضي رد : المدخل إلى فيجوال بيسيك 2005و 2008 (الموضوع متجدد ويتبع )

السلام عليكم

لاهنت على المجهود الطيب

ذكرتني بأيام الثانويه
هذي ثلاث برامج عن حل المعادلات
الملفات المرفقة
نوع الملف: zip equations solve.zip‏ (13.8 كيلوبايت, المشاهدات 2)
مبارك العرجي غير متواجد حالياً  
موضوع مغلق


الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
ميزانــيــة نهــايـــة العــــام ابن مشرف أبو الوليد مجلس الإسلام والحياة 1 07-01-2008 10:29 PM
الدقائق الحاسمة في معركة الموت. أبو عامرية المجلس الـــــعــــــــام 18 15-09-2007 04:53 PM
صور من حياة الصحابه ناصر السنحاني المجلس الـــــعــــــــام 15 15-09-2007 04:46 PM
مناسك الحج و العمرة اللبيب مجلس الإسلام والحياة 6 28-04-2007 02:39 PM


الساعة الآن 12:48 PM

سناب المشاهير