06-04-2020, 02:34 PM
(آخر تعديل لهذه المشاركة: 06-04-2020, 03:48 PM بواسطة larbiparadox.)
إتمام المشاركة السابقة
..................................
الان إلى عملية الربط:
بواسطة دلفي 7 : يعتمد الدلفي على مكونات InterBase لربط بقواعد البيانات ، نعلم جيدا أن أصل FireBird هو InterBase و تابع الملف هو .GDB و الفيربيرد هو .fdb
![[صورة: 222395749.png]](https://www8.0zz0.com/2020/04/06/14/222395749.png)
* الأن إلى إدراج مكونات الربط :
1 - IBDatabase1 : هو لربط قاعدة البيانات ، نفترض أن مسار قاعدة البيانات في جهازي أو جهاز أخر هو C:\FDB1\DATABASE.FDB
الان يجب معرفة بعض الامور: إذا كنت أريد الاتصال بقاعدة البيانات على نفس الجهاز أي محلي يكون عنوانه : localhost أو 127.0.0.1
الإعدادات :
الاتصال من جهاز محلي :
![[صورة: 453054413.png]](https://www3.0zz0.com/2020/04/06/16/453054413.png)
1 - نختار إتصال عن بعد
2 - إسم الجهاز المحلي localhost أو 127.0.0.1 و بعدها إسم محرك الاقراص c تكتب على هذا الشكلlocalhost\c \\
3 - مسار قاعدة البيانات بدون إسم محرك القرص FDB1\DATABASE.FDB\
4 - إسم المستعمل
5 - كلمة الامرور
6 - طريقة الكتابة
7 - فحص الاتصال
الاتصال بجهاز أخر :
- نفترض أن لدينا جهاز أخر عنوان ip هو 192.168.137.10 و إسم الجهاز PC2-PC
* كيفية معرفة عنوان ip و اسم الجهاز
![[صورة: 708311473.png]](https://www9.0zz0.com/2020/04/06/16/708311473.png)
- عن طريق CMD نكتب ipConfig ، أما إسم الجهاز بواسطة إقونة جهاز كمبيوتر كليك يمين
2 - IBTable1 و IBTable2 وهذا ربطهما بالجدولين الاب و إبن و بعدها نربطهما مع IBTransaction1 لا يمكننا ربطه مباشرة مع IBDatabase على عكس IBQuery
3 - IBTransaction1 وسيط لعمل Transaction بين IBTable و IBDatabase
و DataSource لربطهما مع DBGrid
يتبع ....
إتمام المشاركة السابقة
..................................
الاتصال بجهاز أخر :
- إذا كان ip ثابت ، نستعمل ip أما إذا كان متغير نستعمل إسم الجهاز
- الأن لدينا جهاز أخر عنوانه ip هو 192.168.137.10 و إسم الجهاز PC2-PC
- و قاعدة البيانات موجودة في مجلد إسمه FDB2 الموجود في محرك الاقراص :C و قاعدة البيانات إسمها DATABASE.FDB
* شيئ مهم بالنسبة لـ windows7 أو مضاد الفيروسات يجب سماح الاتصال بالمنافذ و المشاركة بالنسبة للنظام كتالي
![[صورة: 278956141.png]](https://www2.0zz0.com/2020/04/06/16/278956141.png)
التأكد من ip عن طريق ping
![[صورة: 183910126.png]](https://www4.0zz0.com/2020/04/06/16/183910126.png)
الان عملية الاتصال
![[صورة: 648052403.png]](https://www2.0zz0.com/2020/04/06/16/648052403.png)
يتبع ....
إتمام المشاركة السابقة
..................................
الان إلى عملية الربط بين الجدولين:
يجب إدراج معلومات وهذا كي يتسنى لنا الربط بين الاب و الابن
- على سبيل المثال الاب الاول رقم code يساوي 1 و بتالي رقم code أبنائه هو 1 ، نفس الشئ للاب الثاني رقم code يساوي 2 و بتالي رقم code أبنائه هو 2
يكون كتالي
![[صورة: 377831983.png]](https://www8.0zz0.com/2020/04/06/17/377831983.png)
الان إلى عملية عند الضغط على الاب الاول يظهر أبنائه و نفس الشئ للاب الثاني
![[صورة: 715336103.png]](https://www2.0zz0.com/2020/04/06/17/715336103.png)
1 - نضغط مرة واحدة أو نحدد جدول الابن IBTable2
2 - من MasterSource نختار DataSource الاب والذي اسمه DataSource1 و الذي هو المتحكم
3 - في MasterFields نضغط على قفل الذي فيه ثلاث نقاط ... تخرج النافذة
4 - نحدد الحقل المشترك لابن
5 - و بعدها نحدد الحقل المشترك للاب
6 - نضغط على اضافة
7 - تأكيد الاعدادات
و الان النتيجة ، عند الضغط في DBGrid1 الخاص بالاب يظهر فقط الابنائه في DBGrid2 نفس السئ للاب الثاني يظهر ابنائه
![[صورة: 899356651.png]](https://www8.0zz0.com/2020/04/06/17/899356651.png)
* اردت التبسيط لكيف تصل الفكرة
- ليس بالضرورة اتباع نفس الاسلوب توجد عدة طرق للربط
* والكل من هذا أن دلفي 7 لم يعد يلبي جميع متطلبات المبرمجين ، مثلا أنا عندي سنوات لم أبرمج به
الشرح القادم إذا وجدت الوقت هو FireDAC الموجود في نسخ الدلفي الجديدة يعد الأفضل من حيث التوسع يحتوي مميزات تسهل و تساعد على البرمجة
بالتوفيق
..................................
الان إلى عملية الربط:
بواسطة دلفي 7 : يعتمد الدلفي على مكونات InterBase لربط بقواعد البيانات ، نعلم جيدا أن أصل FireBird هو InterBase و تابع الملف هو .GDB و الفيربيرد هو .fdb
![[صورة: 222395749.png]](https://www8.0zz0.com/2020/04/06/14/222395749.png)
* الأن إلى إدراج مكونات الربط :
1 - IBDatabase1 : هو لربط قاعدة البيانات ، نفترض أن مسار قاعدة البيانات في جهازي أو جهاز أخر هو C:\FDB1\DATABASE.FDB
الان يجب معرفة بعض الامور: إذا كنت أريد الاتصال بقاعدة البيانات على نفس الجهاز أي محلي يكون عنوانه : localhost أو 127.0.0.1
الإعدادات :
الاتصال من جهاز محلي :
![[صورة: 453054413.png]](https://www3.0zz0.com/2020/04/06/16/453054413.png)
1 - نختار إتصال عن بعد
2 - إسم الجهاز المحلي localhost أو 127.0.0.1 و بعدها إسم محرك الاقراص c تكتب على هذا الشكلlocalhost\c \\
3 - مسار قاعدة البيانات بدون إسم محرك القرص FDB1\DATABASE.FDB\
4 - إسم المستعمل
5 - كلمة الامرور
6 - طريقة الكتابة
7 - فحص الاتصال
الاتصال بجهاز أخر :
- نفترض أن لدينا جهاز أخر عنوان ip هو 192.168.137.10 و إسم الجهاز PC2-PC
* كيفية معرفة عنوان ip و اسم الجهاز
![[صورة: 708311473.png]](https://www9.0zz0.com/2020/04/06/16/708311473.png)
- عن طريق CMD نكتب ipConfig ، أما إسم الجهاز بواسطة إقونة جهاز كمبيوتر كليك يمين
2 - IBTable1 و IBTable2 وهذا ربطهما بالجدولين الاب و إبن و بعدها نربطهما مع IBTransaction1 لا يمكننا ربطه مباشرة مع IBDatabase على عكس IBQuery
3 - IBTransaction1 وسيط لعمل Transaction بين IBTable و IBDatabase
و DataSource لربطهما مع DBGrid
يتبع ....
إتمام المشاركة السابقة
..................................
الاتصال بجهاز أخر :
- إذا كان ip ثابت ، نستعمل ip أما إذا كان متغير نستعمل إسم الجهاز
- الأن لدينا جهاز أخر عنوانه ip هو 192.168.137.10 و إسم الجهاز PC2-PC
- و قاعدة البيانات موجودة في مجلد إسمه FDB2 الموجود في محرك الاقراص :C و قاعدة البيانات إسمها DATABASE.FDB
* شيئ مهم بالنسبة لـ windows7 أو مضاد الفيروسات يجب سماح الاتصال بالمنافذ و المشاركة بالنسبة للنظام كتالي
![[صورة: 278956141.png]](https://www2.0zz0.com/2020/04/06/16/278956141.png)
التأكد من ip عن طريق ping
![[صورة: 183910126.png]](https://www4.0zz0.com/2020/04/06/16/183910126.png)
الان عملية الاتصال
![[صورة: 648052403.png]](https://www2.0zz0.com/2020/04/06/16/648052403.png)
يتبع ....
إتمام المشاركة السابقة
..................................
الان إلى عملية الربط بين الجدولين:
يجب إدراج معلومات وهذا كي يتسنى لنا الربط بين الاب و الابن
- على سبيل المثال الاب الاول رقم code يساوي 1 و بتالي رقم code أبنائه هو 1 ، نفس الشئ للاب الثاني رقم code يساوي 2 و بتالي رقم code أبنائه هو 2
يكون كتالي
![[صورة: 377831983.png]](https://www8.0zz0.com/2020/04/06/17/377831983.png)
الان إلى عملية عند الضغط على الاب الاول يظهر أبنائه و نفس الشئ للاب الثاني
![[صورة: 715336103.png]](https://www2.0zz0.com/2020/04/06/17/715336103.png)
1 - نضغط مرة واحدة أو نحدد جدول الابن IBTable2
2 - من MasterSource نختار DataSource الاب والذي اسمه DataSource1 و الذي هو المتحكم
3 - في MasterFields نضغط على قفل الذي فيه ثلاث نقاط ... تخرج النافذة
4 - نحدد الحقل المشترك لابن
5 - و بعدها نحدد الحقل المشترك للاب
6 - نضغط على اضافة
7 - تأكيد الاعدادات
و الان النتيجة ، عند الضغط في DBGrid1 الخاص بالاب يظهر فقط الابنائه في DBGrid2 نفس السئ للاب الثاني يظهر ابنائه
![[صورة: 899356651.png]](https://www8.0zz0.com/2020/04/06/17/899356651.png)
* اردت التبسيط لكيف تصل الفكرة
- ليس بالضرورة اتباع نفس الاسلوب توجد عدة طرق للربط
* والكل من هذا أن دلفي 7 لم يعد يلبي جميع متطلبات المبرمجين ، مثلا أنا عندي سنوات لم أبرمج به
الشرح القادم إذا وجدت الوقت هو FireDAC الموجود في نسخ الدلفي الجديدة يعد الأفضل من حيث التوسع يحتوي مميزات تسهل و تساعد على البرمجة
بالتوفيق


![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)