• بادئ الموضوع بادئ الموضوع SaTaLiTe
  • تاريخ البدء تاريخ البدء
  • المشاهدات 42,916
بارك الله فيك

دروس جد قيمة

بشرح سلس ورائع
 

مشكور اخي
 
توقيع : zoom.6
حياكم الله
 
توقيع : SaTaLiTe
كورس في الدالة My



الدالة My هي من أهم الدوال التي يجب ان نتقنها في عالم البرمجة باللغة Visual basic.net, الدالة My تسهل العملية علينا وتختصر الأكواد وتوفر الوقت في كتابة الكود, بذلك هي توفر مساحة المشروع.

5btzf5yk.Local_-1393828016_myobjmodel%28en-US,VS.80%29.gif


هذه هي عائلة My وكما نرى في الصورة هناك 9 عناصر, لكن في الحقيقة هي 7 عناصر بالنسبة لمستخدمي النسخة المجانية Express edition

get-7-2009-upload2world_com_digitp.jpg



- الدالة My.computer
هذه الدالة تندرج منها عدة مجموعات, ,ولكل مجموعة منها وظيفة واحدة, وكل من تلك الدوال مختلفة الوظائف.
- الدالة My.computer.Audio

- الدالة My.computer.clipboard

- الدالة My.computer.Clock

- الدالة My.computer.FileSystem

- الدالة My.computer.Info

- الدالة My.computer.Keyboard

- الدالة My.computer.mouse

- الدالة My.computer.network

- الدالة My.computer.ports

- الدالة My.computer.registry

 
توقيع : SaTaLiTe
- الدالة My.computer.clipboard

وهي الدالة التي تحتوي تتحكم في شيئين:

- نسخ
- لصق

لفهم أكثر اعمل مشروع جديد ثم أضف في المشروع button والعدد 1 وكذلك Textboxوالعدد 1, في زر button أضف الكود التالي:
PHP:
 My.Computer.Clipboard.SetText(TextBox1.Text)
شغل المشروع بالضغط على f5 واكتب في textbox أيه جملة او كلمة او رقم, ثم اضغط على الزر, بعد ذلك توجه الى برنامج المفكرة واضغط زر يمين واختر نسخ Paste, ستلاحظ أنه تم نسخ نفس الكلمة الموجودة في Textbox, كيف تم ذلك من دون تظليل النص واختيار نسخ؟

الجواب بكل بساطة أن الكود الذي كتبته هو المسؤل عن نسخ كل كلمة موجودة في صندوق النص, SetText تعني أخذ النص وما بين القوسين هو المكان الذي تحدده لأخذ النص.

لكن الأمر لا يقتصر فقط على النص والكلمات أو الأرقام.
بل يمكن نسخ الصور الموجودة في أداة PictureBox,
- اعمل مشروع جديد
- اضف في المشروع button1 وأصف ايضا Picturebox العدد 1

ضع في Picturebox صورة معينة, ثم اكتب في كود button_click الاتي:
PHP:
My.Computer.Clipboard.SetImage(PictureBox1.Image)
شغل المشروع f5 واضغط على الزر ثم توجه الى الرسام paint واختر لقص, ستلاحظ انه تم لصق نفس الصورة الموجودة في أداة PictureBox.

ستتعرف الان كيف تقوم بالغاء كل ما هو موجود في clipboard

PHP:
My.Computer.Clipboard.Clear()
هذا الكود بكل بساطة هو المسؤل عن الغاء مافي clipboard.


- اعمل هذا المشروع :

اليك هذا المشروع, صمم برنامج يقوم بنسخ كلمة موجودة في نص ويلصقها في نص اخر تلقائيا, ولاتنسى زر Clear​
 
توقيع : SaTaLiTe
- الدالة My.computer.clock

هي الدالة المسؤلة عن الساعة, تحويل الوقت, جلب الوقت, فمثلا يتم تحويل الوقت الى
- GMT
كما أنه يمكن الحصول على الوقت الموجود في الجهاز
- Local time

اكتب الكود التالي في الحدث Form_Load

PHP:
MsgBox(My.Computer.Clock.GmtTime)
        MsgBox(My.Computer.Clock.LocalTime)
وشغل المشروع, يجب أن يظهر لك صندوقين, الأول فيه الساعة بتوقيت قرينتش, والثاني
التوقيت المحلي للجهاز.​
 
توقيع : SaTaLiTe
لنتكلم قليلا عن الدالة My.computer.Audio


كما هو معروف من السطر تعني أنا.جهازي.الصوت, تعني الصوت في جهازي.
بمعنى أن هذه الدالة تتحكم في الصوت الموجود في الجهاز, من حيث:
- تشغيل صوت.
- ايقاف تشغيل صوت
والدالة المناسبة لتشغيل الصوت تكون My.computer.audio.Play , ولكن السؤال هو كيف ممكن أشغل صوت من خلال تلك الدالة؟

افتح مشروع جديد وافلت في الفورم button بعدد1
في كود الزر button اكتب الكود التالي
PHP:
My.Computer.Audio.Play("C:\Windows\Media\tada.wav")
والان شغل المشروع f5 واضغط على الزر, ماذا تسمع؟ ستسمع صوت tada الموجد في المسار المذكور C:\Windows\Media\tada.wav

الان اضف زر اخر ولا تغير في الكود للزر 1
اكتب في كود button2_click
PHP:
 My.Computer.Audio.Stop()
هذه الدالة هي المسؤلة عن ايقاف الصوت في الجهاز, للتأكد من ذلك اضغط على الزر 1 ثم مباشرة على الزر 2 يجب أن لا تسمع صوت tada تادا.

اضف زر ثالث الى المشروع وضع هذا الكود فيه

PHP:
My.Computer.Audio.PlaySystemSound(Media.SystemSounds.Beep)
وشغل المشورع f5 واضغط على الزر, ستسمع الصوت الذي يظهر عند وجود خطأ.

- الان أنت مستعد لعمل مشروع, وهذا المشروع سيكون :

- تشغيل صوت التادا.
- تشغيل الصوت بتكرار.
- ايقاف الصوت.

النقطة الاولى والأخيرة عرفناها, لكن كيف ممكن اشغل الصوت باستمرار؟
- مشروع جديد
- أضف فيه العناصر : زر تشغيل الصوت , زر اطفاء الصوت , زر تشغيل الصوت باستمرار

واكتب الأكواد التي عرفتها بالنسبة للزر تشغيل الصوت وايقاف الصوت,

بالنسبة للزر تشغيل الصوت باستمرار فسيكون الكود هو الاتي

PHP:
My.Computer.Audio.Play("C:\Windows\Media\tada.wav",  AudioPlayMode.BackgroundLoop)
لاحظ أننا اضفنا AudioPlayMode.BackgourndLoop

و كلمة Loop تعني حلقة, بمعنى تكرار​
 
توقيع : SaTaLiTe
- الدالة My.Computer.Filesystem part 1

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

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

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

قراءه ملف نصي :
PHP:
MsgBox(My.Computer.FileSystem.ReadAllText("C:\test.txt"))
نسخ ملف الى امتداد اخر:
PHP:
  My.Computer.FileSystem.CopyFile("C:\test.txt",  "C:\Users\ali\Desktop\test1.txt")
لاتنسى أن تغير الامتداد حسب اسم المستخدم في جهازك

واخيرا في كود كتابة نص الى ملف نصي:
PHP:
 My.Computer.FileSystem.WriteAllText("C:\test.txt", "this is a new  text that has been added", False)
الان توجه الى القرص C واضف فيه ملف نصي جديد باسم test
ثم اكتب فيه Development with My.

شغل الان المشروع f5 واضغط اولا على الزر قراءه ملف نصي, يتوجب خروج صندوق نص شبيه بالصورة التالية
get-7-2009-upload2world_com_gtlr.jpg


أليس النص شبيه بالنص الموجود في test ؟ العملية هي كالاتي

PHP:
My.Computer.FileSystem.ReadAllText
هذا الكود يعني قراءه جميع النصوص Read all text
وكتبنا بين قوسين امتداد الملف مع اسمه, وبهذا سيقوم البرنامج بقراءه الملف.

الان اضغط على زر نسخ ملف الى امتداد اخر, ثم توجه الى سطح المكتب أو الامتداد الذي كتبته, ستتعجب بوجود ملف اسمه test1 من أين أتى؟ من خلال النسخ

وأخيرا اضغط على الزر اضافة نص الى ملف نصي, ثم توجه الى القرص c ومنها افتح الملف النصي test

ستلاحظ أن هناك نص جديد

this is a new text that has been added

لاحظ في نهاية الكود كتبنا False وتعني انه سيقوم البرامج بمسح جميع النصوص وكتابة النص الجديد, في حال أرد كتابة النص الجديد الى جانب النص القديم غير القيمة الى False​
 
توقيع : SaTaLiTe
- الدالة My.Computer.Filesystem part2

تعرفت سابقا كيفية قراءه ملف نصي والكتابة عليه وأيضا نسخه الى امتداد اخر. الان ستتعرف كيفية نقل الملف باستخدام الدالة My.Computer.Filesystem وأبضا سنتعرف كيفية حذف الملف واعادة تسمية الملف بنفس الدالة وأخيرا كيفية انشاء ملف.

أولا سأعرفك الى الدالة المسؤلة عن انشاء ملف في امتداد معين, وهذه الدالة هي CreateDirectory وهنا الكود لكيفية استخدامه.

PHP:
My.Computer.FileSystem.CreateDirectory("c:\1")
- ضع الكود اعلاه في الحدث form_Load ثم شغل المشروع.
- توجه الى القرص c
- ستلاحظ وجود ملف جديد باسم "1"

الان أضف في المشروع button بعدد 1
- اكتب في الحدث Button1_Click الكود الاتي

PHP:
My.Computer.FileSystem.CreateDirectory("c:\1")
        Dim file As System.IO.FileStream
        file = System.IO.File.Create("c:\1\test.txt")
- شغل الشروع واضغط على الزر
- ثم توجه الى الملف "1" الموجود في القرص C ستلاحظ وجود ملف نصي باسم test.

لن أبخل عليك بشئ, اليك كود حذف ملف

PHP:
My.Computer.FileSystem.DeleteFile("C:\1\test.txt")
- اكتب الكود أعلاه في الحدث Form_load
- شغل المشروع
- توجه الى الملف "1" الذي تم انشاءه مؤخرا
- ستلاحظ اختفاء الملف test بالأصح حذف

والان سأشرح لك كيفية جلب الكود نقل ملف

PHP:
 My.Computer.FileSystem.MoveFile("امتداد الملف المراد نقله",  "امتداد النقل مع الاسم")
بكل باسطة اقرأ الكود جيدا وستهفم.​
 
توقيع : SaTaLiTe
للعلم , الدروس أعلاه قديمة كتبتها في احدى المنتديات ونقلتها هنا.
 
توقيع : SaTaLiTe
دالة My.Computer.FileSystem الجزء الثالث

سوف أتناول هنا الدالة GetDirectoryInfo , وهي دالة خاصة لكشف المعلومات عن امتداد معين.

أضف في المشروع الجديد زر Button واحد فقط.
وأضف له الكود الآتي

PHP:
MsgBox(My.Computer.FileSystem.GetDirectoryInfo("C:"))
ربما أصبحت متعوداً على مثل هذه الأكواد وداخل "" دائما هناك نص , وهذا النص في الدالة FileSystem يكون الامتداد عادةً....

الآن لو تشغل المشروع ستحصل خطأ , لماذا؟ , لأن الكود غير مكتمل , فأنت هنا حددت للكمبيوتر أن يحضر لك معلومة الامتداد , لكن أيه معلومات؟ حدد أكثر.

هنا , بعد الامتداد , وبالاخص بعد القوس ("C:") سنكتب بعد النقطة ماذا نريد بالضبط , لدينا العديد من الاوامر , فمثلا أمر معرفة تاريخ انشاء الملف , تاريخ اخر تعديل في الملف ... وغيره.

أضف .CreationTime لتحصل على وقت انشاء الملف C

PHP:
 MsgBox(My.Computer.FileSystem.GetDirectoryInfo("C:\").CreationTime)
أضف .Exists حتى تعرف اذا الملف موجود أو لا , اذا كان الملف موجود فانه في الصندوق ستظهر لك قيمة True واذا غير موجود ستظهر قيمة False

فمثلاً
PHP:
MsgBox(My.Computer.FileSystem.GetDirectoryInfo("C:\").Exists)
هذه القيمة صحيحة في أي كمبيوتر , ولكن

PHP:
 MsgBox(My.Computer.FileSystem.GetDirectoryInfo("C:\0").Exists)
هذه القيمة غير صحيحة في كل الأجهزة لأنه لا يوجد ملف داخل c باسم 0 , لهذا ستظهر لك False

تعرف على بقية الدوال بنفسك , لا اعتقد أنك ستجد صعوبة في فهمها , لأن لغة الفيجوال بيسك لغة تستخدم كلمات بسيطة ومفهومة.


اعمل هذا المشروع

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


 
توقيع : SaTaLiTe
بسم الله الرحمن الرحيم

يتم كتابة كود اظهار المسج بوك Message box في فيجوال بيسك دوت نت بهذا الشكل

PHP:
msgbox("Hi there")
أو

مارأيكم لو نبحر في عالم المسج بوكس أكثر

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

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

في الشكل الافتراضي , يحتوي المسج بوكس على زر واحد وهو OK , بينما هناك أنواع أخرى مثل أزرار Yes , no , cancel , Retry , Ignore

PHP:
MsgBox(Text[, buttons] [, title]  [, helpfile, context])
Text = اجباري انك تكتب النص الذي تريد اظهاره في الصندوق.

Button = اختياري, الازرار الموجودة في الصندوق , الافتراضي هو OK

Title = عنوان الصندوق و هو اختياري

لو أردنا اضافة صندوق فيه Yes no فكل ما نفعله هو اضافة امر الزر وهو MsgboxStyle.YesNo

PHP:
MsgBox("Are you sure you want to exit?", MsgBoxStyle.YesNo,  "Exit?")
سيظهر لك هذا الصندوق

68597530.jpg



لاحظ عنوان الصندوق والأزرار.

الأنواع الأخرى لن اشرحها لأنها مجرد اوامر , وهي سهلة الفهم

37550521.png


81255632.png



هناك طريقة أخرى للتعامل مع الأزرار وهي كتابة الأرقام بدلالة الازرار , تابع الجدول

66307333.png


لتوضيح أكثر

PHP:
 MsgBox("Are you sure you want to exit?", 4, "Exit?")
هذا الكود يشبه الكود أعلاه والذي سيظهر لنا نفس الصندوق
68597530.jpg


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

الآن , برنامجنا غير قادر على فهم Yes or No لو ضغطت احد الخيارين فلن يحدث شيء.

سنقوم بعمل متغير هو الصندوق النصي , ثم نقوم باظهار المتغير وبعده نعطي البرنامج اوامر كل زر Yes or No

Yes = اغلاق البرنامج
No = لا تفعل شيء

PHP:
 Dim reault = MsgBox("Are you sure you want to exit?", 4, "Exit?")
        If reault = MsgBoxResult.No Then
            Exit Sub
        Else : End
        End If
-----------------------

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

 
توقيع : SaTaLiTe
بسم الله الرحمن الرحيم
شرح كيفية برمجة لعبة Tic Tac Toe

فكرتي هنا لبرمجة لعبة Tic Tac Toe أو XO هو باستخدام الأزرار Buttons , حيث سيتم وضع 9 أزرار ويكون هناك لاعبين Players : 1 , 2 ويقوم البرنامج عند الضغط على زر معين بقراءه رقم اللاعب , فلو كان اللاعب الحالي هو 1 فانه سيقوم بتغيير نص الزر button text الى X وثم يغير قيمة اللاعب Players الى اللاعب الثاني 2 , والعكس صحيح لو كان الدور للاعب 2.

بدايةً , اعمل مشروع جديد وأضف فيه Buttons بعدد 9

70315925.png


وقم بتغيير أسماء الأزرار في الصف الأول من الزر الأيسر الى الأيمن , btn1 , btn 2 , btn3
بحيث تكون ارقامها كالآتي

22118834.png


سنقوم بعمل متغير عام نسميه Player وهو دور اللاعب سواء كان 1 او 2 , وفي بداية اللعبة سيكون دور اللاعب 1

واللاعب 1 هو X بينما 2 هو Y

PHP:
 Dim Player As String
ضع الكود مباشرة تحت Public class form1

والآن سنضيف الكود الآتي الى الحدث Form1_Load

PHP:
 Timer1.Start()
        Player = "1"
        Btn1.TabStop = False
        Btn2.TabStop = False
        Btn3.TabStop = False
        Btn4.TabStop = False
        Btn5.TabStop = False
        Btn6.TabStop = False
        Btn7.TabStop = False
        Btn8.TabStop = False
        Btn9.TabStop = False
بعد ذلك أضف تايمر الى المشروع Timer1

لاحظ في كود الحدث Form1_load بدأنا اولا عمل الساعة ثم عرفنا قيمة اللاعب بأنه 1 , وعطلنا ال TabStop لجميع الأزرار وهذا اختياري.

الآن اضف في كل زر الكود الآتي

PHP:
 If Player = "1" Then
            Btn1.Text = "X"
            Btn1.Enabled = False
            Player = "2"
            '--Player2--
        ElseIf Player = "2" Then
            Btn1.Text = "O"
            Btn1.Enabled = False
            Player = "1"
        End If
لاحظ أننا عملنا شرط , لو اللاعب = 1 اعمل كذا ولو كان 2 اعمل كذا

يتم تغيير نص الزر الى X or O حسب اللاعب وثم قمنا يتعطيل الزر حتى لا يستطيع اللاعب التحكم فيه مرة اخرى وثم يتم تغيير قيمة متغير اللاعب الى الاعب الاخر...

أضف نفس الكود الى جميع الازرار مع تغيير رقم الزر من 1 الى 9 حسب الزر

الآن لو تشغل المشروع وتضغط على أي زر بتلاحظ أنه بكون X والزر الي بعده O والي بعده X وبعده O وهكذا...

ولاحظ أيضا انه سيتم تعطيل الزر

97952670.png


الآن باقي لنا نضيف الزر لتحديد هل اللاعب فاز او لا

توجه الى اخر سطر أي كود حيث توجد كلمة End sub واضف في سطر جديد الآتي

PHP:
Private Sub TheWinner()

End sub
وأضف فيه الكود الآتي

PHP:
 If Btn1.Text = "X" And Btn2.Text = "X" And Btn3.Text = "X" Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")
        ElseIf Btn1.Text = "O" And Btn2.Text = "O" And Btn3.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn1.Text = "O" And Btn5.Text = "O" And Btn9.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn1.Text = "X" And Btn5.Text = "X" And Btn9.Text = "X"  Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")
        ElseIf Btn1.Text = "X" And Btn4.Text = "X" And Btn7.Text = "X"  Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")
        ElseIf Btn1.Text = "O" And Btn4.Text = "O" And Btn7.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn3.Text = "X" And Btn6.Text = "X" And Btn9.Text = "X"  Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")
        ElseIf Btn3.Text = "O" And Btn6.Text = "O" And Btn9.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn3.Text = "X" And Btn5.Text = "X" And Btn7.Text = "X"  Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")
        ElseIf Btn3.Text = "O" And Btn5.Text = "O" And Btn7.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn2.Text = "X" And Btn5.Text = "X" And Btn8.Text = "X"  Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")
        ElseIf Btn2.Text = "O" And Btn5.Text = "O" And Btn8.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn7.Text = "O" And Btn8.Text = "O" And Btn9.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn7.Text = "X" And Btn8.Text = "X" And Btn9.Text = "X"  Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")
        ElseIf Btn4.Text = "O" And Btn5.Text = "O" And Btn6.Text = "O"  Then
            Timer1.Stop()
            MsgBox("Player 2 is the winner")
        ElseIf Btn4.Text = "X" And Btn5.Text = "X" And Btn6.Text = "X"  Then
            Timer1.Stop()
            MsgBox("Player 1 is the winner")

        Else
            GameOver()
        End If
قد يبدو طويلا الا انه متكرر , حيث يقوم البرنامج بعمل شروط , اذا كانت العناصر متشابهة افقيا او عموديا او كان مائلا الى اليمين او اليسار فانه سوف يوقف التايمر أولا ثم يظهر مسج بوكس يفيد من هو اللاعب الفائز

لاحظ في اخر الكود وجود GameOver() لم يتعرف عليه الفيجوال بيسك

أضف في نهاية كلمة End sub بعد سطر جديد الآتي

PHP:
 Private Sub GameOver()
        If Btn1.Enabled = False And _
                          Btn2.Enabled = False And _
                          Btn3.Enabled = False And _
                          Btn4.Enabled = False And _
                          Btn5.Enabled = False And _
                          Btn6.Enabled = False And _
                          Btn7.Enabled = False And _
                          Btn8.Enabled = False And _
                          Btn9.Enabled = False Then
            Timer1.Stop()
            MsgBox("Game OVER!")
        End If
    End Sub
لان في كل ضغطة يتم تعطيل الزر , اذا كان جميع الازرار معطلة فان البرنامج سوق يظهر مسج بوكس فيه خسرت اللعبة

وأخيراً , اضغط مرتين على التايمر وأضف الكود الآتي

PHP:
 TheWinner()
شغل المشروع , واستمتع باللعب

17707082.png





 
توقيع : SaTaLiTe
بارك الله فيك تم

التعديل
 
توقيع : مـوآدع
اضافة تأثير جميل الى الفورم
قم باضافة تايمر الى الفورم واجعل المدة الزمنية = 100

ثم اضف اليه زر
وأضف هذا الكود

PHP:
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Start()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Me.Width += 10
        Me.Height += 10
        If Me.Width = 400 AndAlso Me.Height = 400 Then
            Timer1.Stop()
        End If
    End Sub
End Class
ماذا يستحدث ؟
عند الضغط على الزر سيبدأ عمل التايمر , ثم؟

سيقوم التايمر بالآتي

زيادة طول وعرض الفورم بمقدار 10 كل جزء من ثانية , واذا ما وصل كلاهما الى 400 فان التايمر سيتوقف

تابع هذا الفيديو لتعرف
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي

 
توقيع : SaTaLiTe
قريبا ان شاء الله سأبدأ بدروس قواعد البيانات باستخدام SQL server 2005
 
توقيع : SaTaLiTe
بسم الله الرحمن الرحيم

عند تشغيل برنامجك SQL Server Management studio express ستظهر لك نافذة الاتصال بالسيرفر Server

عليك أن تعرف أولاً بأن السيرفر هو اسم جهازك متبوع بــ SQLEXPRESS , ويمكنك معرفة اسم جهازك من خلال خصائص الجهاز :

  • زر يمين على My Computer
  • اختر Properties
  • ستجد اسم الجهاز
  • Computer name
بعدما عرفت اسم الجهاز قم بتسجيل الدخول

50523077.png


لاحظ , اسم السيرفر هو اسم جهازي متبوع بــ SQLEXPRESS لو اسم جهاز مثلا Computer-name , فان السيرفر سيكون Computer-name\SQLEXPRESS
وأيضاً في خيار Authentication اخترنا Windows بمعنى أن تسجيل الدخول حسب اسم مستخدم الويندوز فلو كنت داخل بمستخدم مثلا user فان اسم الدخول سيكون Computer-name\user وطبعا البرنامج سيقوم تلقائيا بكتابة ذلك.
واذا تطلب الامر باسوورد اكتبها ثم اضغط على Connect.

اذا تم تسجيل الدخول بنجاح ستجد على اليسار مايسمى بــ Object explorer وفيها مجموعة من Nodes

11081036.png


هنا يمكنك تصفح قواعد البيانات وانشاء قواعد بيانات جديدة , فلو تقوم بتوسيع ملف DataBases ستجد هناك ملف باسم System Databases وهذا الملف يحتوي على 4 قواعد بيانات تستخدم من قبل النظام.

من خلال Object Explorer يمكنك التعرف على السيرفر الذي أنت متصل به , حيث يمكنك أن تقوم بقطع الاتصال بالسيرفر من خلال الضغط على زر يمين على اسم السيرفر واختر Disconnect.

كما قلت ستجد قواعد البيانات موجودة في DataBases , يمكنك انشاء قاعدة بيانات جديدة من خلال الضغط زر يمين على DataBases واختيار New DataBase
ستظهر لك نافذة New Database

88327821.png


في صندوق نص DataBase name اكتب الاسم المناسب لقاعدة البيانات , مثل FirstData ثم اضغط على OK.
لحظات وسيتم انشاء قاعدة البيانات الجديدة

99065908.png


قاعدة البيانات تحتاج الى جدول واحد أو أكثر , لانشاء جدول جديدة نقوم بتوسيع FirstData لتجد هناك ملف خاص بــ Tables ولو قمت بتوسيعه ستجد الجداول الحالية , الا اننا لا نملك جداول , لهذا سنقوم بانشاء جدول جديد من خلال الضغط زر يمين على Tables ونختار New Table

41242415.png


هناك انواع كثيرة من البيانات Data type ملخصة في هذا الموضوع
يجب عليك تسجيل الدخول او تسجيل لمشاهدة الرابط المخفي


وحتى تجعل العمود مفتاح رئيسي Primary key زر يمين واختر Set Primary key

ولاحظ في Identity Column من خصائص الجدول انه العمود MemberID , حيث سيتم توليد ارقام عشوائية مرتبة من 1 الى مالا نهاية

وأيضا يمكنك تغيير اسم الجدول في صندوق نص Name وانا سأغيره الى Members وثم اضغط على Save او Ctrl+S

وسيتم بعد لحظات انشاء الجدول الجديد باسم Members

يمكنك التعديل على الجدول مرة اخرى من خلال زر يمين واختر Design
ويمكنك اضافة بيانات الى الجدول من خلال زر يمين واختر Open table

52386609.png


قم بكتابة البيانات في عمودي الاسم والايميل , بينما عمود رقم المعرف ID سيتم توليده تلقائيا

26294444.png



تجد ملفات قاعدة البيانات في هذا المسار
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data

حيث يمكنك تصديرها الى مستخدمين اخرين او تخزينها احتياطياً

85892886.png


كما أنه يمكنك اضافة تصدير بيانات جديدة الى برنامج SQL Server من خلال زر يمين على ملف DataBases واختر Attach ومن زر Add تختار ملف قاعدة البيانات الذي يكون بامتداد MDF


39570767.png

 
توقيع : SaTaLiTe
بارك الله فيك


الله يعطيك العافية


ودي وتقديري
 
توقيع : نواف العتيبي
عودة
أعلى