المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تصميم المواقع باستخدام بالدلفي بريسم + ASP.net


زكيري عبدالعالي
01-07-2011, 10:42 PM
السلام عليكم
باذن الله سنتعلم اليوم كيف ننشا موقع بالدلفي بطريقة سهلة ليس مثل التقنيات السابقة للدلفي التي كان معقدة .

1- الادوات المستعملة
نعلم انه تم صدور الدلفي برزم الذي يشتغل على منصة دوت نت و يمكن تحميله من هنا
https://downloads.embarcadero.com/free/delphi_prism

2- ربما احسن طريقة في نضري لتقديم الدروس هي من الامثلة لذلك ساقدم لكم مثال لانشاء موقع بالاسبي نت و البريسم
خطوات العمل :
- انشاء مشروع لاحظ الصورة 1 :
بعد الضغط على اكي نتحسل على السيلوشن و التي تحتوي بدورها على مشروعك و الذي يحتوي على مايلي
Default.aspx هي الصفحة الرئيسية للموقع وكما تلاحض الكود عبار عن مجومعة من الاوسمة html
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>


وتلاحض انه مباشرا تهتا نجد ملفين الاول كما هو واضح من اسمه يكون فيه التعريف بالمكونات الموجودة على الصفحة اما Default.aspx فهو يحتوي على الكود اي اين سنكتب تعليماتنا و فئلتنا بلغة الدلفي وكما تلاحضون في الكود سورس هنا
_Default = public partial class(System.Web.UI.Page)
اي ان هذه الفئت ترث من الفئت Page وهذا ما سيعرف للخادم انها صفحة واب فيستطيع عرض مكوناتها و.. .

ب‌- Web.config هو ملف من نوع اكسمل يحتوي على اعدادات الموقع كتابت ثوابت لمسارات ملفات او مسار القاعدةconnectionStrings

Global.asax وهو ايضا ملف اعدادات لكن نتركه لاحقا

تابع مع زكيري .....

زكيري عبدالعالي
02-07-2011, 01:08 PM
بما اننا تحصلنا على الصفحة الرئيسة للموقع يمكننا تنفيذها بعد ان نضيف بعض المكونات على الواجهة ...

اذا ستكون الامثلة متقطعة و بسيطة حتى نتمكن ثم نجمع مانراه مناسبا لمشروعنا

1- المثال الاول
اهم شئ في البرامج الاكثر طلبا هي قواعد البيانات لذي سكون مثالنا الاول
نريد ان نتصل بقاعدة بيانات للاسف لم اثبت اي قاعدة في جهازي لحد الان لاني فرمتها منذو فترة فقط .
المهم سنكمل مع اتصال بملف اكسل على انه قاعدة بها جدول و هي الصفحة الاولى في المستند.
طريقة الربط
http://www.bloghotel.org/uploads/zekiriabd_PrismXLS.jpg
الامر سهل اليس كذلك .

ماذا ,؟...؟؟
تقول انك تريد برمجه كل ما يتعلق يقواعد البيانات بالدلفي العادي و الواجهات تكود بالاسبي نت
حسنا
نعم تستطيع بفضل تقنية DCOM و التي شرحتها في الدرس http://www.delphi4arab.com/forum/showthread.php?t=5583
حيث تقوم بانشاء كلاسات او ملفات اكسمل و ترسلها على شكل string و ستسطيع استقبالها بالدلفي يريسم و ان كنت تريد المزيد عن الطريقة اكتب ردك في الدرس السابق ذكرة و ستجدني مجبا ان شاء الله .

ماذا تريد طريقة جديد لان DCOM قديم
نعم فكرة امباركاديرو في الامر و وفرت طريقة جيد و حديثة و اضافتها الى DATASNAP

تابع معي الموضوع المقبل .....
نفس المثال السابق للربط مع قاعدة بيانات لكن بالدفي العادي يربط و البريزم يعرض في الويب .

زكيري عبدالعالي
02-07-2011, 02:00 PM
مقدمة الى تقنية datasnap
شرح من طرف الاخ علي علوي
يرجع ظهور هذه التقنية الى نسخة دلفي 3 حيث كانت تعرف في هذه النسخة باسم MIDAS لتتطور في نسخة دلفي 4 الى MIDAS 2 ثم الى3 MIDAS
ووفرت هذه التقنية ادوات قوية للاتصال عن بعد والتعامل مع تطبيقات (خادم و زبون)بواسطة com اي استخدام برتوكول Tcp/ip,Http وcom لتخاطب بين الطبقتين
ليغيير اسمها الى datasnap في نسخة دلفي السادسة وبقت بنفس المكونات الى غاية النسخة دلفي 2007
وبصدور دلفي 2009 تغيرت هيكلة Datasnap لاعتماده على التام على TCP/IP فقط مع امكانية التعامل مع دوت نت
مع ظهور دلفي 2010 ظهر تطور كبير على datasnap ليدعم اغراض جديدة وفريم ورك جديد
1- التخاطب مع service سواء ويب REST et JSON اوdcom
2-التخاطب مع تطبيقات وندوز win32
3-التخاطب مع منصة اخرى .net
كما يمكن استعماله في الويب لانه يدعم ISAPI و CGI
http://docwiki.embarcadero.com/images/RADStudio/e/8/80/DataSnapArch.png
في مثالنا هذا سنقوم ببرمجة تدعلى البرمجة ثنائية الطبقات الى فصل الواجهات على المعلاجات و بالطبع ستكون في قسم الدلفي مشروع جديد منفصل حيث سنتصل بقاعدة بيانات و العرض يكون في مشروع الواب الذي نقوم به
1- برمجة طبقة المعالجات (الاتصال بالقاعدة )
نفتح مشروع جديد في الدلفي
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706556795868.jpg
- ملف (File)
2- جديد (new)
3-خيارات اخرى (Other )
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706664534601.jpg
1- نختار من القائمة الجانبية (datasnap server)
2- نقوم باختيار (datasnap sever)
لتظهر نافذة جديدة كما في الصورة التالية
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706557216237.jpg

1- اذا قمت بتفعيل هذا الخيار فسينشا لك مشروع vcl اي نافذة ويندوز المعروفة ومكونات vcl
2- اذا قمت بتفعيل هذا الخيار فان المشروع يفذ على شاشة الدوس
3 - اذا قمت بتفعيل هذا الخيار فان المشروع سيكون خدمة
4- هذا الخيار يمثل مشروع يطبق على شبكة محلية
5- المشروع المنشا يعمل على شبكة الانترنت
نترك الخيارات كما هي ونضغط على ok
سوف يظهر المشروع ثلاث نوافذ كما يلي
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706557463819.jpg
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-1270655805205.jpg
http://www.arabteam2000-forum.com/uploads/monthly_04_2010/post-112245-12706557706785.jpg
خير النافذة التي سنقوم باستخدمها في هذا التطبيق وستاخذ الاسم الافتراضي ServerMethodsUnit1
كما هو ظاهر من خلال اسمها سوف نضع كل Methods و functions
نضع مكون Ttable من BDE و نربطه بالطريقة العدية مع الملف animals.dbf مثلا . لا نفتح الاتصال سيكون ذلك بالكود
ننشاء وظيفة او تابع جديد و نكتب
function TServerMethods1.FillDataSet(): TDataSet;
begin
Table1. Open;
Result := Table1;
end;

فقط
نعم اتهينا من الاتصال عن طريق الدلفي و الان سنترك البريسم يتكلم مع الدلفي كيف
ان تطبيق الدلفي سواء كان EXE او DLL ISAPI .. هو عبارة عن سرفر نثبته مع الموقع في جهاز واحد او جهاز اخر المهم انه يشتغل داما مثل IIS للموقع .

في مشروعنا نقوم بفتح اتصال جديد بالقاعدة كما قمنا سابقا .
لا حظ الصورة
http://www.bloghotel.org/uploads/zekiriabd_prismdatasnap.jpg
الان سنربط مكون GridView2 و القاعدة
نقوم بالطريقة السابفة لاكن نختار من القاءمة localhost....
و عندما نصل الشاشة نختار Procédure Stockée
http://www.bloghotel.org/uploads/zekiriabd_prismdatasnap2.jpg
بسيطة اليس كذلك

زكيري عبدالعالي
02-07-2011, 02:06 PM
طيب مادام الامو هذا موافق لتعلم البريسم و الاسب نت لكن كيف ابني الواجهو و خاصة صفحة الدخول حيث هناك كوكيز و سيشن و ِCSS و javascript ..
نعم الامور كذلك لك واحدة واحدة ففي الدرس القادم نتعلم شيء مهم هي الصفحة الام و صفحات التي تفتح بداخها مثل ما نفعله في الدلفي مع MDI فورم .
تابعوا اخوكم و لا تنسو الدعاء .

زكيري عبدالعالي
02-07-2011, 06:59 PM
نسية ارفاق المثال
1- المشروع الاول بالدلفي ويحتوي على مكونات دتاسنب و مكون table للربط مع BDE
2- مشروع بريزم لعرض محتوى الجدول في صفحة ويب

زكيري عبدالعالي
05-07-2011, 10:40 PM
في الصورة التالية اوضح كيف تنشا مشروع ويب جديد مع مثال قابل للتنفيذ و التغيير اذا سنقوم ببعض التغييرات في هذا المثال الذي يفره لنا VS بمجرد النقر على زر ok
http://www.bloghotel.org/uploads/zekiriabd_Aspprism2.jpg
نقاط للتوضيح
- في الصفحة الام
*- نلاحظ وجود الوسام <html head body..... الخ اي انها تشبه صفحة الاشتمل العادية .
*- الربط مع ملف الانماط الوجود في مجلد Styles
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
فمهما كانت الصفحة الابن نستطيع استعمال االنماط الموجودة في هذا الملف التعريف يكود في الصفحة الام فقط او في ملف الاعدادات .
*- تعريف منطقة الرءسية للصفحة يكون في الصفحة الام و الطلب يكون في باقي الصفحات
- التعريف مثلا كتبنا <asp:ContentPlaceHolder ID="HeadContent" runat="server"/>
- في الطلب كما نلاحض في الصفحة Default.aspx كان بالشكل
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"></asp:Content>
*- تعريف منطقة العمل يكون في الصفحة الام كذلك اي اين ستدرج محتويات الصفحات الاخرة
<div class="main"><asp:ContentPlaceHolder ID="MainContent" runat="server"/></div>
وهي محضورة بين ديف مع نمط معين اما الطلب نجده معرف كمايلي
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<%--محتوي الصفحة --%>
</asp:Content>
ملاحضة
هذه الاكواد تكتب اليا بمجرد اختيار الصفحة الابن و ربطها مع الام عن طريق chekbox
لأاحض الصورة 2
http://www.bloghotel.org/uploads/zekiriabd_Aspprism3.jpg

زكيري عبدالعالي
05-07-2011, 11:03 PM
صفحات اﻷنماط اﻹنسيابية
هناك درس راءع في هذه الرابط لتعلم css
http://www.dahsha.com/uploads/learn-css.pdf
اما كيفية اضافة ملف css في البريزم لاحض الصورة
http://www.bloghotel.org/uploads/zekiriabd_Aspprism4.jpg