إستفتاء : ما رايك فى المكتبة
جيد جدا و نريد المزيد مكتبة الاضافة و التعديل و الحذف و البحث لوعدة البيانات
جيدا
مقبول
غير مقبول
[عرض النتائج]
 
 
تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
حصريا لمنتدى فيجوال بيسك لكل العرب شرح مكتبه علي سبايسى (alysbisydata)
#1
السلام عليكم شباب منتدى فيجوال بيسك لكل العرب


بناء عاطلب بعض الاعضاء فى المنتدى


اليوم ان شاء الله هقوم بشرح كيفية تم تصميم مكتبة مكتبه علي سبايسى بيانات (alysbisydata)

و لكن فى الاول ما هو سبب لدفعنى لتصميم هذى المكتبة ؟ السؤال ده لى و ليكم منتدى فيجوال برضو!


فى الاول انا مبرمج عادى جدا كنت اقوم بتصميم برامج و موقع و بعد ذلك قاعدة مش بعمل حاجة ولا لقى شغل لحد ما يجى حد تانى عايز برامج او موقع و طبع كنت كل فترة انزل اخر اصدر للفيجوال و ازاى ما بيقولو اجرى ورا كل حاجة جديد تنزل لشركة ميكروسوفت فى الفيجوال لحد ما فى مره بصرحة ([b]تخنقت) يعنى هفضل طول عمرى استنى لحد الشركة ما تنزل حاجة جديد و ابد تعلم طريق الاستخدم لحد ما وصلت ان انا مبرمج بقيت ازاى المستخدم العادى لى بيستخدم البرامج بتعى بس الفرق ان انا بيعملو ازاى يستخدم البرامج بتعى و ميكروسوفت بتعملنى ازاى استخدم الفيجوال و كل حاجة جديد لحد ما وصلت برضو فى الاخر ان انا مبرمج و مستخدم احنا الاتنين بنجرى ورا شركة ميكروسوفت فى كل حاجة جديد بتنزل منها و فى الاخر الشركة دلوقتى عايزها تخلى المستخدم بطريقة غير مباشرة يقدر يستخدم الفيجوال عن طريق المعالج لى دلوقتى فى الفيجوال 2012 بيعمل حاجات كتير جدا كل ما هو مطلوب هو اضغط التالى و اختار لى عايز و فى الاخر تلقى الاكود مكتوب لوحدها و من اليوم قرار ابطل تصميم برامج او موقع تانى و ابد فى تصميم ادوات و اطور فيجوال نفسو و اشوف بقى انا ولا ميكروسوفت [/b]

انا عربى ابن عربى مسلم ومسيحى اخوات نحب السلام لمن يريد السلام



طريق استخدم المكتبة فيديو

رابط الفديو


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

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


ثم نقوم باضافة الكود التالى
كود :
Public Sub addtodatasources(ByVal Controlsww As System.Windows.Forms.Form, ByVal strcon As String, ByVal Table60 As String

شرح الكود السابق:-

طبعا الغنى عن التعريف Public Sub

هذا اسم الاستدعاء addtodatasources

هذا المتغير من نوع فروم علشان اقدر اجيب اسم الفروم Controlsww

وهذا المتغير من نوع نص علشان اقدر اجيب اسم نص الاتصال strcon

و ده اخر متغير علشان اقدر اجيب اسم الجدوال Table60

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

كود :
Dim aly As New alysbisydata.Class1
       aly.addtodatasources(Me, "اسم الجدوال", "نص الاتصال")

شرح الكود السابق:


هنا بدل ما تكتب اسم الفروم بتعتك لكل فروم لا هتكتب فقط Me

ده هنا هتكتب نص الاتصال بقاعدة البيانات بتعتك نص الاتصال

و بعد كده اسم الجدوال لى عايز تتعامل معا اسم الجدوال


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


تعالو نعمل متغير جديد

كود :
Dim con As New System.Data.OleDb.OleDbConnection(strcon)


شرح الكود السابق:


و طبعا هنا قولت ان فى متغير جديد اسمو con  و ده من نوع OleDbConnection طيب المتغير ده هيجيب البيانات بتعو من المتغير strcon و ده المتغير لى فوق فى الاول الكود لى المبرمج بيكتب نص الاتصال جوها


كود :
  Try
           If con.State = ConnectionState.Open Then con.Close()
       Catch ex As Exception
           MsgBox("يوجد خطاء فى نص الاتصال")
       End Try

       Try
شرح الكود السابق:


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


تعالو نشوف الكود لى بعد كده


كود :
 con.Open()
           Dim da As New System.Data.OleDb.OleDbDataAdapter("select * from " + Table60, con)
           Dim ds As New DataSet
           Dim cm As New System.Data.OleDb.OleDbCommandBuilder(da)
           da.Fill(ds, Table60).ToString()
           Dim dr As DataRow = ds.Tables(Table60).NewRow

شرح الكود السابق:


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

هنا بيقول ان هجيب اسم الجدوال من المتغير Table60


تعالو نشوف الكود التالى


كود :
    For i As Integer = 0 To Controlsww.Controls.Count - 1
               Try
                   If TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.TextBox Or TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.DateTimePicker Or TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.RichTextBox Or TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.MaskedTextBox Or TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.NumericUpDown Or TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.Label Or TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.LinkLabel Or TypeOf (Controlsww.Controls(i)) Is System.Windows.Forms.DomainUpDown Then
                       Dim s As String = Controlsww.Controls(i).Name
                       Dim w As Object = (Controlsww.Controls(i).Text)
                       dr.Item(s) = w
                   End If
               Catch ex As Exception
               End Try
           Next
شرح الكود السابق:


طبعا هنا استخدمت For و ده علشان اقدر اجيب كل اسماء الادوات من الفروم و ده و طبعا بجيب كل البيانات لى بيكون بخد منها البيانات عن طريق text  مثلا زاى textbox1.text  و كده ايه اده بخدا منها البيانات ازاى التكست هتلقى اسمها فى الكود ده
و بطعا هتعمل تنين متغير و هم W و S و دوال علشان واحد اجيب بيها اسم الاداه من الفروم و التانى علشان كتب مع اسم الكنتروال .text و بعد كده S ده بيكون اسم الحقل فى الجدوال لى موجود فى قاعدة البيانات و W  ده بيكون اسم الكنترو علشان كده بجبر المبرمج ان يكون اسم الكنترول نفس اسم الحقل فى قاعدة البيانات

طيب و الكنتروال Checked ده مش بخد منو البيانات من text بخد منو عن طريق Checked تمام هيكون الكود بتعو كده


كود :
    For Each chyk In Controlsww.Controls.OfType(Of System.Windows.Forms.RadioButton)()
               Try
                   Dim ssp As String = chyk.Name
                   Dim wwp As Object = chyk.Checked
                   dr.Item(ssp) = wwp
               Catch ex As Exception
               End Try
           Next

شرح الكود السابق:


الكود ده نفس الكود لى فوق


نجبى للكود التالى


كود :
    For Each chkr In Controlsww.Controls.OfType(Of System.Windows.Forms.PictureBox)()
               Try
                   If chkr.Image Is Nothing Then
                   Else
                       Dim dir As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("~\alysbisyimg")
                       If dir.Exists = True Then
                           System.IO.File.Copy(chkr.ImageLocation, "~\alysbisyimg\" + IO.Path.GetFileName(chkr.ImageLocation))
                       Else
                           System.IO.Directory.CreateDirectory("~\alysbisyimg")
                           System.IO.File.Copy(chkr.ImageLocation, "~\alysbisyimg\" + IO.Path.GetFileName(chkr.ImageLocation))
                       End If
                       Dim ssb As String = chkr.Name
                       Dim wwb As Object = "~/alysbisyimg/" + (IO.Path.GetFileName(chkr.ImageLocation))
                       dr.Item(ssb) = wwb
                   End If
               Catch ex As Exception
               End Try
           Next
شرح الكود السابق:


فى الكود ده بتعامل مع الاداه PictureBox بس بطرقتى شوية Big Grin

يعنى فى الكود ده بدور ازاى ما قولنها قبل كده على ايه اداه من نوع PictureBox و بعد كده بدرو فى ملفات المشروع او البرامج او الموقع عن مجلد بالاسم ~\alysbisyimg لو موجود بعمل نسخ للصور فى المجلد ده و لو مش موجود بيعنل انشاء مجلد جديد و بعد كده انسخ برضو الصور و بعد كده احط المسار كامل فى الحقل يعنى بحط الرمز و اسم المجلد و اسم الصور فى الحقل كامل طيب ايه حكايت الرمز ده ~ ده علشان ممكن ان يكون البرامج عايز مجلد بنفس الانفس قولت احط رمز الاول و بعد كده اعمل مجلد باسم جود الامجلد الاولCool


طيب تعالى نشوف الكود التالى


كود :
  For Each ctrl In Controlsww.Controls.OfType(Of System.Windows.Forms.GroupBox)()
               Try
                   For Each ctrl2 In ctrl.Controls.OfType(Of System.Windows.Forms.TextBox)()
                       Try
                           Dim sqwe As String = ctrl2.Name
                           Dim wqwe As Object = ctrl2.Text
                           dr.Item(sqwe) = wqwe
                       Catch ex As Exception
                       End Try
                   Next
               Catch ex As Exception
               End Try
           Next

شرح الكود السابق:


طبعا هتقولى ليه الكود ده اكبر من السابق هقولك علشان هنا انا بجيب الكنترول من دخل الاداه GroupBox علشان كده كان لازم اعمل اكتر من For بس المره دى كان For Each و كنت بجيب اسم GroupBox  و بعد كده اجيب اسم الكنتروال من جوها و بالطريقة دى قدر اجيب اسم التكست لى موجودها جوها الكنترول GroupBox  

و طبعا نجيى لاخر كود فى المكتبة


كود :
        ds.Tables(Table60).Rows.Add(dr)
           da.Update(ds, Table60)
           con.Close()
           MsgBox("تمام الاضافة بنجاح", MsgBoxStyle.Information, "Email:mrsv_42@hotmail.com")
       Catch ex As Exception
           MsgBox("يرجى التأكد من نص الاتصال واسم جدول قاعدة البيانات وأسماء الأدوات بشكل صحيح ", MsgBoxStyle.Exclamation, "Email:mrsv_42@hotmail.com")
       End Try

شرح الكود السابق:


طبعا الكود ده مش عايز ايه شرح علشان ده كود عادى جدا بيسخدم فى الااضافة لقاعدة البيانات
كل لى بيحصل فى الكود كده ان بقفل الاكود المستخدمها فى قاعدة البيانات و بقفل End Try لى عملها فى اول الكود فوق
و فى الخطاء باكد عليها ان بقوله تاكد من يكون اسم الكنترول يكون نفس اسم الحقل


المكتبة مفتوحة المصدر فى المرفقات

فى انتظار تعلقاتكم


الملفات المرفقة
.zip   ASDB Lib.zip (الحجم : 64.73 ك ب / التحميلات : 35)
يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ(33) سورة الرحمن
الرد }}}}
تم الشكر بواسطة:
#2
ربنا يبارك فيك ... فكره جميله وتستحق التقدير Smile
http://www.elfouadsoft.com
mohamed_tegara@yahoo.com
الرد }}}}
تم الشكر بواسطة:
#3
شكرا ليك اخى Senior
يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ(33) سورة الرحمن
الرد }}}}
تم الشكر بواسطة:
#4
وضع رابط الفيديو فقط يكون افضل حفاظا على موارد السيرفر ولايؤثر على المنتدى

تم تعديل الموضوع

بارك الله فيك وجزاك الله خيرا ان شاء الله
الرد }}}}
تم الشكر بواسطة:
#5
شكرا ليك اخى Raggi Tech
ما كنت اعرف
يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ(33) سورة الرحمن
الرد }}}}
تم الشكر بواسطة:
#6
السلام عليكم شباب منتدى فيجوال العزيز من يوريد المشاركة مع فى تصميم مكتبة على سبابيسى الجديد التى[SIZE=5] تقوم باضافة لجميع انوع قوعدة البيانات مع وجود علاقة بين الجدوال و اعمل تعديل و حذف و بحث لكل من يرويد الدخل معى فى فريق يرسلنى عالبريد و ان شاء الله فى تقدم عطول[/SIZE]
يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ(33) سورة الرحمن
الرد }}}}
تم الشكر بواسطة:
#7
بارك الله فيك اخي الكريم وان شاء الله نشوف لك مواضيع تفتح الصدر مثل هذا الموضوع

لي عودة ان شاء الله بعد تطبيق الشرح

احترامي ومودتي
الرد }}}}
تم الشكر بواسطة:
#8
بارك الله فيك ولك الف مليون شكر
الرجاء ان لا تحرمنا من افكار النيرة
شكرا لسيادتكم
الرد }}}}
تم الشكر بواسطة:
#9
لا استطيع تحميل المرفقات
[صورة مرفقة: PTC-Logo.png]
الرد }}}}
تم الشكر بواسطة:
#10
السلام عليكم
تم تحديث المرفقات

يعطيك العافية
شـــايـفـــك

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 0 256 09-07-16, 08:30 PM
آخر رد: mohamed atef2018
  [سؤال] اريد كود بالفيجوال بيسك 2008 يقراء سريال المازربورد nabil.1710 5 619 13-06-16, 12:16 AM
آخر رد: محمد سالم المحترف
  العمل على إصدار فيجوال استديو 2012 واجعل مشاريعك تعمل على جميع الإصدارات القديمة ali.alfoly 8 3,216 22-10-14, 11:08 PM
آخر رد: احمد بكري احمد علي
  ترقية المشاريع المكتوبة بـ فيجوال ستوديو 6 إلى فيجوال ستوديو دوت نت sooriaty03 4 1,947 28-11-13, 08:41 PM
آخر رد: Sajad
  درس عمل زر جميل الشكل بالفيجوال بيسك boty 5 1,224 22-08-13, 05:15 PM
آخر رد: زهرة الازهار_mybb_import9220
  بشرى لكل من يريد تعلم البرمجة بالفيجوال بيسك دوت نت arbtech 8 1,591 21-08-13, 11:32 PM
آخر رد: arbtech
  مطلوب مكتبه ADO ver 6.0 Backcompat ra7al70 0 461 18-04-13, 04:28 PM
آخر رد: ra7al70
  طلب اكواد فجوال بيسك دوت نت 2008 shgeen 2 641 24-02-13, 06:42 PM
آخر رد: السندباد المصري
  هدية الى جميع المبرمجين العرب! RaggiTech 0 717 05-10-12, 03:10 AM
آخر رد: RaggiTech
  دورة الفيجوال بيسك و اللينيكس - الدرس الثاني RaggiTech 0 538 03-10-12, 03:01 PM
آخر رد: RaggiTech

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


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