تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التعامل مع الرجستري باستخدام فيجوال بيسك دوت نت
#1
كاتب الموضوع : حميد ربيع


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

التعامل مع الرجستري باستخدام فيجوال بيسك دوت نت


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


للرجستري استعملات عدة من بينها حفظ اعدادات البرنامج و حفظ بعض القيم لاستعمالها لاحقا و غيرها ...

أولا: قم بانشاء مشروع جديد بعنوان : lesson Registry .
وصمم الفورم علي الشكل التالي :


قم بتغير خاصية Name للنص الأول الي UserName و النص الثاني الي PassWord .
+ كتابة الشيفرات .
* أولا يجب عليك استدعاء مجال الأسماء Microsoft.Win32
وذلك علي الشكل التالي
كود :
[color=blue]Imports[/color] Microsoft.Win32
* ثانيا تعريف متغير سنستعمله للوصول الي الرجستري :

كود :
Dim RecSami As RegistryKey = Registry.CurrentUser.CreateSubKey("Key Sami")
كما تلاحظ عرفت متغير باسم RecSami وأنشئت مفتاح باسم Key Sami داخل CurrentUser , ويمكنك إختيار ما تشاء من الأماكن لانشاء المفتاح كما هو موضح في الصورة أسفله .


+ كتابة الشيفرات :
دوبل كليك علي زر إنشاء حساب أو Create Account .
وبعد ذلك نقوم بكتابة الشفرة التالية :


كود :
If UserName.Text = "" Or PassWord.Text = "" Then
MessageBox.Show(" The UserName Or PassWord Text Is Empty Please Try Again", "Create Account")
Else
RecSami.SetValue("Username", UserName.Text)
RecSami.SetValue("PassWord", PassWord.Text)
End If
+إذا كان عندك بعض الغموض اقرأ تحليل الشيفرة وإذا كنت عكس ذلك فأكمل المشوار.
+تحليل الشيفرة:


كود :
If UserName.Text = "" Or PassWord.Text = "" Then
MessageBox.Show(" The UserName Or PassWord Text Is Empty Please Try Again", "Create Account")
اذا كان نص كتابة اسم المستخدم أو رمز الدخول أو كلاهما معا فارغا سيضهر البرنامج رسالة تخبر المستخدم أن نص كتابة اسم المستخدم أو رمز الدخول فارغ .

كود :
Else
RecSami.SetValue("Username", UserName.Text)
RecSami.SetValue("PassWord", PassWord.Text)
End If
ثانيا وبعد أن تحقق من نصوص الكتابة ينشئ حساب باسم Key Sami ويضع فيه اسم المستخدم و رمز الدخول الموجودةفي نصوص الكتابة.

وهذه هي النتيجة :


كما تلاحظ بالفعل تمكنا من الكتابة داخل الرجستري قيم ستحفظ بداخله يمكن التعديل عليها .

الشيفرات الخاصة بالفورم1 ستكون علي الشكل التالي :

كود :
Imports Microsoft.Win32
Public Class Form1
Dim RecSami As RegistryKey = Registry.CurrentUser.CreateSubKey("Key Sami")

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'code Create Account
If UserName.Text = "" Or PassWord.Text = "" Then
MessageBox.Show(" The UserName Or PassWord Text Is Empty Please Try Again", "Create Account")
Else
RecSami.SetValue("Username", UserName.Text)
RecSami.SetValue("PassWord", PassWord.Text)
End If

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'code cancel
End
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


'code button Ok
If UserName.Text = "" Or PassWord.Text = "" Then
MessageBox.Show(" The UserName Or PassWord Text Is Empty Please Try Again", "Enter To My Account")
Else
If UserName.Text = RecSami.GetValue("UserName") And PassWord.Text = RecSami.GetValue("PassWord") Then
Form2.Show()
Me.Hide()
Else
MessageBox.Show("The UserName Or PassWord Text Is Incorrect Please Try Again", "Enter To My Account")
End If
End If

End Sub
End Class
ثانيا:
أضف فورم 2 وصممه علي الشكل التالي:


قم بتغير خاصية Name للنص الأول الي UserName و النص الثاني الي PassWord و النص التالث الي txtWrite
كما العادة استدعي مجال الأسماء Microsoft.Win32
وقم بتعريف نفس المتغير الذي استعملناه في الفورم1


كود :
Dim RecSami As RegistryKey = Registry.CurrentUser.CreateSubKey("Key Sami")
+ وفي الفورم لود (Form2_Load ) أكتب الشفرات التالية :

كود :
Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

On Error Resume Next
UserName.Text = RecSami.GetValue("UserName")
PassWord.Text = RecSami.GetValue("PassWord")
txtWrite.Text = RecSami.GetValue("txtWrite")

End Sub
ومحتواها أننا نعرض اسم المستخدم و رمز الدخول في أداتي النص 1 و2 و النص المحفوظ في الرجستري مسبقاالي أداة النص 3 "txtWrite"
+ الأن نضع شفرة الحفظ Save .


كود :
RecSami.SetValue("txtWrite", txtWrite.Text)
و الهدف منها حفظ ما تغير في أداة txtWrite.Text

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


كود :
Private Sub Form2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

RecSami.SetValue("txtWrite", txtWrite.Text)

End Sub


بهذا عند اغلاق المستخدم البرنامج سيتم حفظ ما تغير .
+ كتابة الشفرة الخاصة باستعراض الصورة Browse
أولا أضف أداة OpenFileDialog وغير خاصية Name الي open


كود :
open.Title = "Browse Picture"
open.ShowDialog()
Picture.Image = Image.FromFile(open.FileName)
RecSami.SetValue("Picture", open.FileName)
+ وفي الفورم لود أضف الشفرة التالية :

كود :
Picture.Image = Image.FromFile(RecSami.GetValue("Picture"))
+ مناقشة الشفرات السابة :
أداة OpenFileDialog تستخدم لاستعراض الملفات و الصور أي جلبها من علي الحسوب ، أود أن أشرح لك تفاصيل هذه الأداة ولكن لا أود أن أضيف سطور إضافية لهذا الكتاب لأنه يوجد الكثير لأخبرك عن هذه الأداة، وفي اعتقادي أنك ستفهم الشفرة السابة بمجهودك الخاص .
+ والنتيجة ستون علي الشكل التالي :


الشيفرات الخاصة بالفورم2 ستكون علي الشكل التالي :

كود :
Imports Microsoft.Win32
Public Class Form2
Public RecSami As RegistryKey = Registry.CurrentUser.CreateSubKey("Key Sami")
Private Sub Form2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed

RecSami.SetValue("txtWrite", txtWrite.Text)

End Sub

Private Sub Form2_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
On Error Resume Next
UserName.Text = RecSami.GetValue("UserName")
PassWord.Text = RecSami.GetValue("PassWord")
txtWrite.Text = RecSami.GetValue("txtWrite")
Picture.Image = Image.FromFile(RecSami.GetValue("Picture"))

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
'code button Exit
End

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'code button Empty
txtWrite.Text = ""

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
'code button save
RecSami.SetValue("txtWrite", txtWrite.Text)

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
open.Title = "Browse Picture"
open.ShowDialog()
Picture.Image = Image.FromFile(open.FileName)
RecSami.SetValue("Picture", open.FileName)

End Sub
End Class

تحميل المشروع

أرفقت مشروعين الاول ب vb.net 2005 ; والثاني ب vb.net 2008
تحميل الدرس
2005
2008

}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 1 340 31-12-16, 11:44 PM
آخر رد: Basil Abdallah
  التعامل مع الملفات الصوتية ........دردشة برمجية RaggiTech 7 3,196 26-12-16, 02:40 AM
آخر رد: sayed fox
  كيفية قراءة ملف باستخدام IntPtr الخاص بالملف silverlight 3 97 24-12-16, 03:13 AM
آخر رد: silverlight
  التعامل مع جهاز الكمبيوتر من Command Prompt silverlight 7 187 22-12-16, 06:07 PM
آخر رد: silverlight
Video [درس فيديو] هام مرة اخري تحذير للجميع في التعامل مع try والتكرار لعدد كبير ali.alfoly 1 106 13-12-16, 03:59 PM
آخر رد: Fantastico
  [مقال] دوال التعامل مع النصوص Strings - VB.NET ابو ليلى 5 211 12-12-16, 10:32 PM
آخر رد: ابو ليلى
  [درس فيديو] تحذير هام في التعامل مع For و Try ali.alfoly 3 193 07-12-16, 12:43 AM
آخر رد: silverlight
Wink [مقال] كفية التعامل مه الجملة الشرطية IF alims 8 3,739 19-11-16, 01:06 AM
آخر رد: LoveVb
  اصنع محرر أكواد خاص بك باستخدام الأداة RichTextBox السكر المغرور 8 1,620 03-09-16, 07:59 PM
آخر رد: tryold
  [سؤال] اريد كود بالفيجوال بيسك 2008 يقراء سريال المازربورد nabil.1710 5 708 13-06-16, 12:16 AM
آخر رد: محمد سالم المحترف

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم