منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مكتبة AsDelphi لانشاء برامج سريعة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم أسئلة واستفسارات الأعضاء - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=94)
+--- قسم : قسم قواعد البيانات العام (http://vb4arb.com/vb/forumdisplay.php?fid=169)
+--- الموضوع : مكتبة AsDelphi لانشاء برامج سريعة (/showthread.php?tid=30813)



مكتبة AsDelphi لانشاء برامج سريعة - viv - 09-08-19

مكتبة AsDelphi لانشاء برامج سريعة


لماذا اخترت هذا القسم ...؟ 

لانه عام والمكتية لا تخص لغة معينة يمكن استخدامها مع VB.net او حتى C# او باسكال دوت نت

[attachment=22463]


لماذا اسمها AsDelphi ...؟
في دلفي تعاملنا مع قواعد البيانات بسيط وسهل جدا ، لهذا اسميتها مثل دلفي




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


الاداة عبارة عن مكونين 
مكون الاتصال
ومهمته الاتصال بقاعدة البيانات ولا يطلب الا اسم قاعدة البيانات فقط والتي تكون بمجلد المشروع
[attachment=22457]

مكون الجدول
ومهمته الاتصال بجدول معين وربط الادوات بالحقول ولا يطلب الا اسم الجدول فقط
[attachment=22458]



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


[attachment=22459]

لاضافة سجل جديد

كود :
Table1.Append()

لحذف سجل

كود :
Table1.Remove()

للحصول على موقع المؤشر

كود :
Label1.Text = "Courent Postion : " & int.ToString


لفتح الاتصال

كود :
  Connection1.Open = True
       Table1.open()


لربط اداة بمصدر البيانات

كود :
DataGridView1.DataSource = Table1.DataSource


لربط مكونات بمصدر البيانات

كود :
TextBox1.DataBindings.Add("text", Table1.DataSource, "mname")
       TextBox2.DataBindings.Add("text", Table1.DataSource, "note")
       TextBox3.DataBindings.Add("text", Table1.DataSource, "phon1")
       TextBox4.DataBindings.Add("text", Table1.DataSource, "phon2")
       TextBox5.DataBindings.Add("text", Table1.DataSource, "FIRST_DATE")
       TextBox6.DataBindings.Add("text", Table1.DataSource, "LAST_DATE")
       TextBox7.DataBindings.Add("text", Table1.DataSource, "EMAIL")



RE: مكتبة AsDelphi لانشاء برامج سريعة - asemshahen5 - 09-08-19

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

هل من الممكن عمل مكون مثله لانه من النظر اليه ممكن .

هذه أداة من تصميمي بنفس الخصائص تقريبا في وضع التشغيل :

[attachment=22460]

وهي نفسها في وضع التصميم :

[attachment=22462]


RE: مكتبة AsDelphi لانشاء برامج سريعة - viv - 09-08-19

إقتباس :موكون جميل هل يقبل استعلامات معقدة 

من خلال تجارب الاعظاء اردت اطوره خطوة خطوة 
وكنت ساضيف له مكون Query لانشاء الاستعلامات ،فكما بالدلفي هناك مكون للجداول لا يتعامل الا مع الجدول مباشرة باسمه
ومكون للاستعلامات يتعامل بجمل استعلام مخصصة .

إقتباس : وماهي صفحته على الانترنيت 

برمجته اليوم فقط وقت فراغ تحصلت عليه .

إقتباس :هذه أداة من تصميمي بنفس الخصائص تقريبا في وضع التشغيل :

لم ارها سوف اجربها اذا كانت على الموقع ، الفكرة انني اغلف الكائنات للوصول الى كود سهل وسريع ويقوم بكل الاعمال تقريبا .


RE: مكتبة AsDelphi لانشاء برامج سريعة - asemshahen5 - 09-08-19

للاسف هي للعمل الخاص بي اي لبرامجي .

[attachment=22464]


RE: مكتبة AsDelphi لانشاء برامج سريعة - viv - 09-08-19

إقتباس :للاسف هي للعمل الخاص بي اي لبرامجي


من حق كل مبرمج ان تكون له مكتباته الخاصة


RE: مكتبة AsDelphi لانشاء برامج سريعة - asemshahen5 - 09-08-19

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


RE: مكتبة AsDelphi لانشاء برامج سريعة - viv - 09-08-19

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

تم اضافة مكون استعلام

كود :
 Query1.SQLClear()
       Query1.SQLAdd("Select * From PhoneList")
       Query1.SQLAdd("Where ID=1")
       Query1.open()

وايضا اجراء يعود بعدد الحقول لاجراء Loop لاي جدول

كود :
Query1.Count


مثال

كود :
For I as integer =0 to Query1.Count

الحفظ والتعديل والاضافة بنفس الطريقة السابقة

النسخة الجديدة مع المكتية والمثال من غير قاعدة البيانات 

[attachment=22466]


RE: مكتبة AsDelphi لانشاء برامج سريعة - viv - 09-08-19

تصحيح اخطاء لانني برمجت بسرعة ولم اجرب واستعجلت 
هنا اضافة التنفيذ بجمل الاستعلام ايضا
الان كل شئ يعمل بشكل صحيح

الازرار من فوق لتجربة كل طريقة على حدا
[attachment=22470]

المثال كامل
[attachment=22469]


RE: مكتبة AsDelphi لانشاء برامج سريعة - viv - 18-08-19

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

كود :
Private Sub Tables1_Postion(int As Integer) Handles Tables1.Table1
       Label6.Text = int.ToString
       Label10.Text = Tables1.Count.ToString
   End Sub

   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       Connection1.Open = True
       Tables1.open()
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Tables1.Append()
   End Sub

   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       If Text1.Text.Trim = String.Empty Then
           MsgBox("Please Fill filed name first ", MsgBoxStyle.OkOnly, "Help")
           Exit Sub
       End If
       Tables1.Post()
   End Sub

   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       Picture1.Import()
   End Sub

   Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
       Tables1.Cancel()
   End Sub

   Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
       Tables1.Remove()
   End Sub

   Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click, Button8.Click, Button7.Click, Button6.Click
       If sender.tag = 1 Then Tables1.MoveNext()
       If sender.tag = 2 Then Tables1.MoveLast()
       If sender.tag = 3 Then Tables1.MovePrevious()
       If sender.tag = 4 Then Tables1.MoveFirst()
   End Sub

هنا النموذج الرئيسي
[attachment=22605]

هنا يتم اضافة البيانات الفرعية بجدول فرعي كالدورات او الشهادات
[attachment=22606]

لتحميل المشروع بالمكتبة وقاعدة البيانات طبعا يجب اضافة المكتبة الى قسم الادوات لتظهر فيه فقد صار للمكتبة ادواتها الخاصة لتسهيل عملية الربط
[attachment=22607]