• 0
زكيري عبد العالي

دروس في لغة Delphi Net Aspnet

سؤال

السلام عليكم

DELPHI.NET 2007 ASP.NET

لصنع مشاريع الواب

أ-في البيئة الغيرمتصل النوعية

-عرض البيانات في GridView

-عرض البيانات في عدة صفحات

-عملية التغيير والحذف والتحديد بدون كود

عرض سجل في DetailsView1

18د-استخدام OOP في فواعد البيانات

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

35 إجابة على هذا السؤال .

  • 0

أ - بتركيب خادم CASSINI (Web Serveur)

لا أطيل بشر خادم الواب لأنه معروف لدي الجميع كما اضن

الفكرة

- دلفي ينفد كسيني

- كسيني ينفد Internet Explorer

- عرض نتيجة صفحة الواب

... سهلة

خطوات التركيب

1-ننسخ المجلد كسيني الموجود في مكان تثبيت الدلفي 2005

C:\Program Files\Borland\BDS\3.0\Demos

في c :\

2- نغير الاسم الى PWS_CASSINI ليست اجبارية

3- نبحث عن الملف gacutil.exe

مساعدة

C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

4-ننسخ هدا الملف في c:\ PWS_CASSINI

5- نبحث عن الملف csc.exe

مساعدة

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

6- ننسخ مسار هدا الملف path في الملف build.bat في السطرين التاليين

csc /t:library /r:System.dll /r:System.Web.dll /out:Cassini.dll AssemblyInfo.cs ByteParser.cs ByteString.cs Connection.cs Host.cs Messages.cs Request.cs Server.cs

csc /t:winexe /r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /r:Cassini.dll /win32icon:CassiniWebServer.ico /res:CassiniWebServer.ico,CassiniWebServerIcon /out:CassiniWebServer.exe CassiniWebServerMain.cs

النتيجة

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc /t:library /r:System.dll /r:System.Web.dll /out:Cassini.dll AssemblyInfo.cs ByteParser.cs ByteString.cs Connection.cs Host.cs Messages.cs Request.cs Server.cs
if errorlevel 1 goto problems
gacutil /i Cassini.dll
if errorlevel 1 goto problems
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc /t:winexe /r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll /r:Cassini.dll /win32icon:CassiniWebServer.ico /res:CassiniWebServer.ico,CassiniWebServerIcon /out:CassiniWebServer.exe CassiniWebServerMain.cs
if errorlevel 1 goto problems
goto done
:problems
:done

7- نقر مزدوج لتفنيد البات build.bat

النتيجة

هده العملية معناها compile

ادن تتحصل على ملف CassiniWebServer.exe وأخر DLL

8- تنفد دلفي 2005 في

tools .. options ..HTML/ASPNET Options..ASP.NET

Cassini Web Server …PATH

نقوم بتحديد مسار ملف

C:\Pws_Cassini\CassiniWebServer.exe

OK

هكذا انتهينا من التثبيت و الربط نقوم ألان بتجربة صفحة ASP

post-1034-1185265868_thumb.jpg

PWS_CASSINI.rar

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لتجربة صفحة ASP

post-1034-1185266315_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

ب – تثبيت Windows XP Familial IIS

كم تعلمون أن Windows XP Familial لا يحتوي علي IIS server web de Microsoft في حين ان Windows XP Familial كثير الاستعمال

* يجب تحضير CD de Windows 2000 Server

خطوات العمل

1- تغيير الملف C:\WINDOWS\INF\SYSOC.INF

غير السطر 
iis = iis .dll,OcEntry, iis .inf,hide,7
الى
iis =iis2.dll,OcEntry,iis2.inf,,7

2- اسخ الملفين

iis.dl_  و iis.in_ الموجودين في cd   Windows 2000 
في مجلد اختياري لنفرض انه c:\TMP_IIS

3- استعمل واجة dos

C:\Cd TMP_IIS
C:\TMP_IIS>

EXPAND IIS .DL_ IIS2.DLL
ثم
EXPAND IIS .IN_ IIS2.INF
النتيجة ملفين
IIS2.DLL و IIS2.INF

4- اسخ IIS2.INF

C:\WINDOWS\INF\

5- اسخ IIS2.DLL

C:\WINDOWS\SYSTEM32\SETUP\

6- اضافة و ازالة برامج

Démarrer=>Paramètres=>Panneau de configuration=>Ajout
de programmes=>Ajout suppression de composants Windows
DETAIL

- ضع علامة على IIS

- انزع العلامة من Extentions serveur FrontPage 2000 و le Service SMTP

7-

Démarrer=>Paramètres=>Panneau de configuration=>Outils d'administration
Gestionnaire des services Internet

تجد "site web par défaut" اقر علي الزر الأيمن للفارة خصائص Propriétés.في القائمة

"Sécurité de répertoire" في الخاصية "Accès anonyme انقر علي تغيير "Modifier"

ضع علامة على "Authentification intégrée Windows".

post-1034-1185349592_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

للامانه العلمية

----------------------------------

ساقوم بدلفوية هدا ان قبل الاخ ذلك

http://www.arabteam2000-forum.com/index.php?showtopic=134956

اضنها اسرع من ان اعيد الكتابة

ان كان هناك اعتراض راسلني يااخي عدي

----------------------------------

اخوتي واخواتي الافاضل ..

اقدم لكم سلسلة الدروس التعليمية الخاصة بتعليم برمجة وتصميم مواقع الوب باستخدام ASP.NET مع Delphi.Net ...

بعد التطور الذي شهده العالم التقني في مجال تطور الوب و المعلومات التي يقدمها والتي لايمكن حصرها في مجال معين دون اخر ، وانما مواقع الوب باتت تتنوع وتقدم مختلف العلوم و المعارف ..

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

وربما اخر ما وصل اليه التطور من قوة و سهولة وشيوعا في انتاج مواقع الوب الديناميكية هو (PHP & ASP) ، لكن شركة مايكروسوفت انتجت انتاجها القوي و الذي تجاوزت فيه جميع منتجاتها السابقة وهذا المنتج هو ASP.NET .. واما الان وحتى كتابة هذا الدرس فقد صدرت تقنية الاجاكس الجديدة و التي زادت الامكانيات في مجال تصميم و برمجة مواقع الوب ..

سنعمد من خلال هذه السلسلة التعليمية على شرح كيفية برمجة وتصميم مواقع الوب باستخدام ASP.NET مع لغة البرمجة Delphi.Net ...

وتجدر الاشارة الى انني ساقوم باستخدام الاصدارة Borland Delphi 2005 الاصدار الاحترافي الاول قبل 2006 و 2007 .. خلال شرح الدروس التعليمية .

وساحاول ان اتوخى قدر الامكان السهولة في شرح الدروس ..

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

اخيرا

ارجو ان يستفاد الجميع من هذه السلسلة التعليمية وينتفعوا بها ..

07 / 08 / 2007

دعائي للجميع بالتوفيق

post-1034-1186478441_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ولاجل ان نقوم بانشاء موقع وب جديد ، ننقر على الكتابة ASP . NET Web application… المقابلة لـ DELPHI for .NET Projects:

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

File  New  ASP . NET Web application ……

كما موضح في الصورة التالية :

نتتبع الارقام الموضحة في الصورة اسفله، حيث نختار موقع ASP.NET من الرقم 1 ، ونحدد مكان خزن الموقع من الرقم 2 ، ونحدد سرفر الواب المستخدم من 3، واخيرا ننقر على OK من 4 ..

post-1034-1186479173_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سيتم انشاء موقع جديد وتظهر لنا النافذة التالية ..

حيث تشير الارقام الى :

الرقم 1 : نافذة الكود .

الرقم 2 : نافذة التصميم .

الرقم 3 : صندوق الادوات .

الرقم 4 : موقع الوب وملفاته .

الرقم 5 : نافذة الخصائص ..

ملاحظة: نلاحظ من خلال شرح الارقام الموجودة في الصورة اعلاه انه توجد اكثر من نافذة تصميم واكثر من نافذة كود .. في الحقيقة ان نافذة التصميم هي نافذة واحدة كما سنتعلم خلال هذا الدرس و الدروس القادمة ، اما نافذة الكود فهي نافذتان .. حيث بامكاننا ان نعزل كود لغة delphi.net في صفحة خاصة به نصل اليها من خلال نقر المزدوج على رقم 2 ، اما النافذة التي نصل اليها من خلال النقر علىF12 فهي نافذة الكود المصدري .

post-1034-1186480107_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

او بالنقر علي ايقونات .القائمة View.... الصورة 1

الان نذهب الى نافذة التصميم حيث يمكننا وضع الادوات والكتابات وغيرها من عناصر تصميم الصفحة , نقوم بوضع نسخة من الاداة Label و الاداة Button على الصفحة بالشكل ..... الصورة 2 , يتم وضع الادوات على نافذة العمل من خلال سحب الادوات من صندوق الادوات وافلاتها على نافذة العمل او التصميم ..

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

كبداية .. نلاحظ انه كلما وضعنا مكون او عتصر يكتب في الاسفل كود الاطافة اليا :

<asp:Button id="Button1" style="Z-INDEX: 8; LEFT: 14px; POSITION: absolute; TOP: 30px"
runat="server" text="Button"></asp:Button>

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

<form runat="server">

<asp:Label

id="Label1" style="Z-INDEX: 9; LEFT: 22px; POSITION: absolute; TOP: 78px"runat="server">Label
</asp:Label>

<asp:Button
id="Button1" style="Z-INDEX: 8; LEFT: 70px; POSITION: absolute; TOP: 70px" runat="server" text="Button">
</asp:Button>

</form>

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

السطر الثاني من الكود يوضح طريقة اضافة الاداة Label الى النافذة

اما الكود الاخير فهو يضير الزر Button الى الصفحة ..

كما تلاحطون انه ادا بدانا ب الرمز > لابد من وجود /> في النهاية

الان لنكتب الجملة ( Hello ,this is my test ) بدل العبارة Label في الخاصية Text ..

<asp:Label id="Label1" style="Z-INDEX: 9; LEFT: 22px; POSITION: absolute; TOP: 78px"
runat="server">Hello ,this is my test</asp:Label>

نلاحظ ان الجملة كتبت في عنصر التسمية ..

كذلك يمكننا ان نفعل الشئ نفسه من اجل اداة الزر Button من خلال تحديدها وكتابة النص الذي نريده ان يظهر عليها من خلال اسناده الى الخاصية Text ..

تجربة الصفحة وتشغيل خادم الوب :

ان الصفحات التي نقوم بانشاؤها باستخدام ASP.Net تحتاج الى خادم وب من اجل تشغيلها بصورة صحيحة . كما قلنا سابقا

نلاحظ انه بامكاننا تشغيل واختبار الصفحة من خلال الذهاب الى قائمة ٌRUN ومن ثم اختيار الامرRUN . او F9 او بالنقر على ... صورة 4

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

سنلاحظ بجانب ساعة الحاسوب ايقونه مصغرة لخادم الوب خادم الوب IIS او في حالة cassini الصورة 4

ونلاحظ ان الصفحات التي يتم انشاؤها باستخدام ASP.Net تاخذ اللاحقة .aspx

وهنا الصفحة هي

http://localhost/WebApplication11/WebForm1.aspx

نشاهد عبارة الترحيب التي كتبناها في عنصر التسمية Label و النص على الزر Button ..

الان حاول النقر على الزر ... تلاحظ انه لن يحدث شئ ، السبب في ذلك اننا لم نقم بكتابة اي كود ليتم تنفيذه عند النقر على الزر ..

نغلق متصفح الوب .. ونرجع الى بيئة DELPHI 2005..

نكتب الكود في الحدث كليك كما يلي :

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Text := 'This is a Test';
end;

بذلك عندما ينقر المستخدم على الزر فاننا نسند الجملة (This is a Test ) الى الخاصية Test التابعة لعنصر التسمية Label . ...الصورة 7

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

ارجو ان تكونوا قد استفدتم من الدرس ..

دعائي للجميع بالتوفيق

post-1034-1186484364_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الاخوة و الاخوات الافاضل ..

مرحبا بكم في الدرس الثاني من دروس تعليم برمجة وتصميم مواقع الوب باستخدام ASP.NET & Delphi.NET ..

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

سنتعلم في هذا الدرس كيفية التحكم بخصائص الادوات وكيفية استخدام صندوق النص TextBox ...

نشغل بيئة Delphi 2005 ونقوم بفتح موقع الوب الذي انشأناه في الدرس السابق ..

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

اول خاصية هي ID ، وهي التي تحدد الاسم البرمجي للاداة والذي سيتم استخدامه من اجل الاشارة الى الاداة عند كتابة الكود، كما لاحظنا في الدرس السابق عندما كتبنا : Label1.Text = "Hello, This is a test"

حيث اننا اشرنا الى اداة عنصر التسمية من خلال اسمها البرمجي المسند الى الخاصية ID وهو Label1

واما من اجل الوصول الى خصائص اداة معينة فيمكنا ذلك من خلال كتابة اسم الاداة ومن ثم (.) ومن ثم الخاصية المطلوبة .

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

ملاحظة: ان حفظ اسماء الخصائص سيتم من خلال كثرة الممارسة وكتابة الكود ، لذلك فكل ما عليك الان هو فهم امكانيات كل خاصية .

في البداية سنتحدث عن الخصائص الاربعة الموضحة في الصورة ادناه :

لون خلفية الاداة .

لون الاطار المحيط بالاداة .

نمط الاطار المحيط بالاداة .

عرض الاطار المحيط بالاداة .

نقوم بالنقر على المربع الابيض المقابل للخاصية BackColor .. نلاحظ انه سيظهر لنا على الجانب مربع داخله سهم صغير كما موضح ادناه في الصورة :

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

نختار اي لون نريده ان يكون لون الخلفية لاداة عنصر التسمية من خلال النقر عليه .

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

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

في الحقل المقابل للخاصية BorderWidth نقوم بادخال قيمة رقمية ولتكن مثلا 3 ..

نلاحظ انه ظهر لنا اطار يحيط بالاداة ونلاحظ تاثير الخصائص التي حددناها مسبقا والخاصة بالاطار ..

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

حيث يكون صندوق النص في الاعلى و من اسفله الزر Button ومن ثم عنصر التسمية .

الخطوة التالية هي اننا سنمكن المستخدم من كتابة نص في صندوق النص وعند النقر على الزر سيظهر النص على عنصر التسمية ..

وبسورة ابسط ، عندما ينقر المستخدم على الزر فان قيمة الخاصية Text التابعة لعنصر التسمية ستكون مساوية لقيمة الخاصية Text التابعة لصندوق النص ..

ننقر نقرا مزدوجا على الزر ونكتب الكود التالي :

Label1.Text: = TextBox1.Text

الان نقوم بتجربة الصفحة من خلال النقر على مفتاحي F9 من لوحة المفاتيح ..

نقوم بادخال نص معين وثم ننقر على الزر ، نلاحظ ور النص في عنصر التسمية .

والان لو نقرنا على الصة بالزر الايمن للفارة .. واخترنا من القائمة المنبثقة الامر View Source ..

نلاحظ ان الادوات تم تصييرها على شكل ادوات HTML ..

كذلك نشاهد كيف تم اسناد الخصائص لكل اداة من الادوات ..

<html>
<head>
<title></title>
</head>
<body ms_positioning="GridLayout">
<form name="_ctl0" method="post" action="WebForm1.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="dDwxMDAyNTE0NzUxOzs+kpgVlcNurhKQ2vQm5jexzWRinmU=" />
<span id="Label1" style="background-color:#FFFF80;border-color:#C0FFFF;border-width:3px;border-style:Double;height:27px;width:147px;Z-INDEX: 1; LEFT: 86px; POSITION: absolute; TOP: 78px">مرحبا في الصفحة التجريبية</span>
<input type="submit" name="Button1" value="انقر هنا" id="Button1" style="Z-INDEX: 3; LEFT: 134px; POSITION: absolute; TOP: 110px" />
<input name="TextBox1" type="text" value="مرحبا في الصفحة التجريبية" id="TextBox1" style="Z-INDEX: 4; LEFT: 86px; POSITION: absolute; TOP: 46px" />
</form>
</body>
</html>

post-1034-1186488501_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الان نعدل الكود من اجل ان نتحكم ببعض خصائص صندوق النص بصورة برمجية ..

سيصبح الكود النهائي لحدث النقر على الزر كما يلي :

procedure TWebForm2.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Text :=TextBox1.Text;
TextBox1.BorderStyle := BorderStyle.Dotted;
TextBox1.BorderWidth := 3
end;

من خلال الكود السابق ، تحكمنا بنمط الاطار المحيط بصندوق النص وكذلك عرض الاطار ..

نلاحظ من خلال الكود السابق اننا اسندنا القيمة 3 لخاصية عرض الاطار ، كذلك يمكننا ان نستخدم اسلوب اخر من اجل تحديد عرض الاطار .. نستبدل الكود السابق الخاص بعرض الاطار بالكود التالي ..

.BorderWidth = Unit.Pixel(3)

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

الان نظيف سطري الكود التاليين الى الكود السابق ..

.Width = 250

.Height = 20

procedure TWebForm2.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Text :=TextBox1.Text;
TextBox1.BorderStyle := BorderStyle.Dotted;
with TextBox1 do
begin
BorderWidth := 3 ;
//وهما يحددان ارتفاع وعرض صندوق النص .. وقد اسندنا لهما قيم رقمية صحيحة ..
//عند تجربة الصفحة نلاحظ النتيجة بعد النقر على الزر ..
Width := 250;
Height := 30;
//كذلك يمكننا ان نحدد العرض او الارتفاع بنفس الاسلوب الذي استخدمناه مع عرض الاطار وكما يلي :
Width := &Unit.Pixel(250);
//او يمكننا ان نحدد العرض و الارتفاع على شكل نسبة مئوية .. كما يلي :
Height := &Unit.Percentage(30);
end;

end;

اما الان نقوم باظافة اربعة ازرار الى الصفحة لتبدو كما يلي بعد الانتهاء من تصميمها :

تطبيق عملي : 
سنقوم من خلال الازرار الموضحة بتفعيل صندوق النص او ايقاف تفعيله ، وكذلك اخفاء او اظهار صندوق النص

نبدا الان بكتابة الكود الخاص بالازرار الاربعة ..

أولا : الزر اخفاء صندوق النص :

ثانيا : الزر اظهار صندوق النص :

ثالثا : الزر تفعيل صندوق النص :

رابعا : الزر عدم تفعيل صندوق النص :

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

الى هنا انتهى درسنا ..

ارجو ان تكونوا قد استفدتم من الدرس ..

دعائي للجميع بالتوفيق

post-1034-1186491129_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم اولا شكرا جزيلا وجزاك الله خيرا على الدروس

اذا اردت ان اصمم صفحة واب بلغة

Delphi NET aspNET

هل كود البرنامج يعتمد على delphi

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

هل هي نفسها في دالفي

ام انها مثل delphi for php تعتمد على دالفي من حيث الشكل فقط

شكرا

تم تعديل بواسطه bachirk
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عليكم

Delphi For php خاص بمبرمجي php ب 100%

اما DELPHI.net فهو دلقي + تعديلات في كتابة الاكواد

ادن

اذا اردت ان اصمم صفحة واب بلغة

Delphi NET aspNET

1- معرفة ASP.net

2- ADO.net

3- Delphi.net

4- Html css xml javascript او vbscript

وبهدا تنشا موقعا رائعا

ويزيد احترافك بمعرفة AJAX

بعض الفروق Win32 / .Net

DELPHI WIN32												   DELPHI .NET										 
TObject System.Object
Variant ariant défini comme System.ValueType
Exception System.Exception
TComponent stem.ComponentModel.Component
String System.String
Record System.ValueType (nouvelle syntaxe)
AnsiChar Simulé (Borland.Delphi.System.AnsiChar)
ShortString Simulé (Borland.Delphi.System.ShortString)
AnsiString Simulé (Borland.Delphi.System.AnsiString)
WideString System.String
IHM System.Windows.Forms et la VCL .NET

ارجو من المشرف

1- تثبيت الموضوع

2- نقل هذا الرد مع الجواب الى موضوع جديد

ومن الاخوة ان يكتبوا مداحلانهم حول الدرس في

http://www.arabteam2000-forum.com/index.php?showtopic=135090

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

شكرا

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مرحبا بالاخوة و الاخوات في درس جديد من دروس تصميم وبرمجة المواقع باستخدام ASP.NET & DELPHI.NET .

في هذا الدرس سنتعلم :

** استخدام الاداة RadioButtonList

** استخدام الاداة CheckBoxList

نبدا درسنا باضافة صفحة جديدة الى موقعنا ..

-من القائمة Project manager نختار الامر .. Other .. New كما موضح في الصورة A

-او من خلال مفاتيح الاختصار Shift + F11 ..

-او باستخدام أيقونة الإضافة كما موضح في الصورة B :

عندها ستظهر لنا النافذة في الصورة C:

نتتبع الارقام الموضحة في الصورة اعلاه حيث ان :

الرقم 1 : يشير الى اننا سنقوم بانشاء نموذج وب ..

الرقم 2 : نوع اللغة المستخدمة .

الرقم 5 : ننقر على OK من اجل اتماما اضافة الصفحة الجديدة

نلاحظ ظهور الصفحة في مستعرض الملفات // مسير المشاريع Project manager.. الصورة D :

حيث ان الكود سيتم خزنه داخل WebForm2.pas.

يمكن تغير الاسم الافتراض للصفحة الجديدة بالنقر يالزر الايمن للفأرة كما موضح في الصورة D :

او بالنقر مرتين على الاسم

الان نقوم باضافة نسخة من الاداة TextBox ومن اسفلها نضيف نسخة من الاداة RadioButtonList وثم نضيف نسخة من الاداة Button ..

في الصورة E

الان نقوم باضافة عناصر الى الاداة RadioButtonList من خلال النقر على الحقل المقابل للخاصية Item حيث يظهر لنا مربع صغير ننقر عليه لتظهر لنا النافذة الخاصة باضافة عناصر ..

من خلال النافذة المخصصة لاضافة عناصر جديدة نضيف مجموعة من العناصر ونعدل خاصية الـ Text لها لتبدو كما يلي :

اخيرا ننقر على زر OK حيث ستكون النتيجة للفأرة كما موضح في الصورة G:

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

ننقر نقرا مزدوجا على الزر Button من اجل اضافة الكود المطلوب ..

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
if RadioButtonList1.SelectedIndex <> -1 then
TextBox1.Text:= RadioButtonList1.Items[RadioButtonList1.SelectedIndex].Text;
end;

قبل تجربة الصفحة ، لنتحدث قليلا عن الكود

اذا لايوجد عنصر محدد لا تفعل أي شئ

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

اما الان نقوم بتجربة الصفحة من خلال النقر على F9

نلاحظ اننا لايمكننا ان نختار اكثر من عنصر وهذه احدى ميزات الاداة RadioButtonList .. نقوم باختيار عنصر معين ثم ننقر على الزر نلاحظ ظهور نص الزر داخل صندوق النص ..

ربما نود في بعض الحالات ان نمكن المستخدم من اختيار اكثر من عنصر في قائمة عناصر معينة ..

post-1034-1186577423_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سنجرب ذلك من خلال استخدام الاداة CheckBoxList ..

نقوم الان باضافة نسخة من الاداة CheckBoxList و عنصر تسمية ونضيف عناصر لتبدو النتيجة كما يلي :

الان سنعدل الكود الخاص بالزر .. سيتم عرض الشركات التي يتم اختيارها داخل عنصر التسمية

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
var i : integer;
begin
if RadioButtonList1.SelectedIndex <> -1 then
TextBox1.Text:= RadioButtonList1.Items[RadioButtonList1.SelectedIndex].Text;

// TextBox1.Text:='';

if CheckBoxList1.SelectedIndex <> -1 then
begin
for i :=0 to CheckBoxList1.Items.Count-1 do
If CheckBoxList1.Items[i].Selected = True Then
TextBox1.Text := TextBox1.Text + #13 + CheckBoxList1.Items[i].Text;
end;
end;

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

نختار شركات اخرى وننقر الزر مرة اخرى .. نلاحظ ظهور ؟؟؟ خطا .

ان الشركات السابقة تم اعادة كتابة اسماؤها داخل عنصر التسمية ..

ننزع // من سطر الكود

 // TextBox1.Text:='';

الان ومن اجل اضافة العناصر من خلال الكود .. ننقر على الصفحة نقرا مزدوجا . ونكتب الكود التالي داخل حدث تحميل الصفحة.

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
// if NOT Page.IsPostBack then //initially
begin
with CheckBoxList1.Items do
begin
Add('Microsoft');
Add('IBM');
Add('Borland');
Add('GenX');
end;
CheckBoxList1.SelectedIndex := 0;
CheckBoxList1.AutoPostBack := true;
end

end;

الان نقوم بتجربة الصفحة .. ونختار شركات معينه ومن ثم ننقر على الزر ..

نلاحظ ظهور خطا وهو ان اسماء الشركات تكررت داخل CheckBoxList ..

وكلما نقرنا الزر فان اسماء الشركات تتكرر ..

من اجل معالجة هذا الخلل نعدل الكود ليصبح كما يلي :

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

نجرب اختيار اسماء شركات جديدة وكذلك نحدد لغة برمجة معينة وننقر الزر ، نلاحظ ان الكود يعمل بنجاح ودون اي خلل ...

نغلق المتصفح ونرجع الى بيئة التطوير ..

عند تعديل الكود ، فاننا اضفنا Page.IsPostBack حيث ان هذا الكود يتاكد ان كانت الصفحة قد تم تحميلها اكثر من مرة او انها المرة الاولى .. فان كانت النتيجة هي True .. فهذا معناه ان الصفحة تم ارسالها الى السيرفر والا فهذا معناه اننا نشغل الصفحة لاول مرة ..

بذلك فاننا نقوم باضافة العناصر الى الاداة CheckBoxList فقط عند تحميل الصفحة وعندما تكون غير مرسلة الى السيرفر ..

في الحقل المقابل للخاصية Title ، فليس من المعقول ان نقوم بتصميم موقع تعرض لنا احدى صفحاته العنوان Untitled ..

الى هنا انتهى درسنا

ارجو ان تكونوا قد استفدتم من المعلومات الموجودة في الدرس ..

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

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

دعائي للجميع بالتوفيق

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مرحبا بالاخوة و الاخوات في درس جديد من دروس تصميم وبرمجة المواقع باستخدام ASP.NET & DELPHI.NET .

نتعلم في هذا الدرس :

** استخدام الاداة DroupDownList .

** التعامل مع الالوان .

** التعامل مع الخط .

نقوم بانشاء صفحة جديدة .. ونضع عليها نسختان من الاداة DroupDownList و نسخة من الاداة Button Label..

تبدو الصفحة بعد الانتهاء من تصميمها شكل 1 من الصورة المرفقة

<form runat="server">

<asp:DropDownList id="DropDownList1" style="Z-INDEX: 1; LEFT: 62px; POSITION: absolute; TOP: 30px" runat="server">
</asp:DropDownList>

<asp:DropDownList id="DropDownList2" style="Z-INDEX: 2; LEFT: 174px; POSITION: absolute; TOP: 30px" runat="server">
</asp:DropDownList>

<asp:Button id="Button1" style="Z-INDEX: 3; LEFT: 102px; POSITION: absolute; TOP: 62px" runat="server" text="Button">
</asp:Button>

<asp:Label id="Label1" style="Z-INDEX: 4; LEFT: 190px; POSITION: absolute; TOP: 70px" runat="server">Label
</asp:Label>

</form>

مهمتنا في هذا الدرس هي ان نقوم بادخال اسماء الوان في القائمة المنسدلة الاولى و انواع مختلفة من انماط ، وعندما يحدد المستخدم الخيارات التي يريدها .. يتم تطبيقها على عنصر التسمية ..

سنقوم باضافة العناصر للقوائم المنسدلة من خلال الكود ..

ننقر على الصفحة نقرا مزدوجا ونكتب الكود التالي لحدث التحميل للصفحة :

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
// TODO: Put user code to initialize the page here
if not page.IsPostBack then
begin
with DropDownList1.Items do
begin
add('-- please Select Itm -- ');
add('Read');
add('Yellow');
add('Blue');
add('Green');
end;
with DropDownList2.Items do
begin
add('-- please Select Itm -- ');
add('Bold');
add('Italic');
add('Underline');
end;
end;
end;

الان يمكننا تجربة الصفحة ولكن هذه المرة ننقر على الزر F9 من لوحة المفاتيح لتشغيل الـ Debug ---> الشكل 2

الان نقوم بكتابة الكود اللازم لاسناد الخصائص المختارة الى عنصر التسمية ..

ننقر على الزر نقرا مضاعفا .. ونكتب الكود التالي :

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
case DropDownList1.SelectedIndex of
1 : Label1.BackColor := System.Drawing.Color.Red;// 1...> 'Read'
2 : Label1.BackColor := color.Yellow; // 2...> 'Yellow'
3 : Label1.BackColor := color.Blue; // 3...> 'Blue':
4 : Label1.BackColor := color.Green; // 4...> 'Green':
end;

case DropDownList2.SelectedIndex of
1 : Label1.Font.Bold := true;
2 : Label1.Font.Italic := true;
3 : Label1.Font.Underline:= true;
end;

end;

نلاحظ اننا استخدمنا العبارة Case من اجل تحديد الخيار المطلوب .. وتبعا للخيار فاننا نحدد قيمة الخاصية التابعة لعنصر التسمية ..

لو قمنا بتجربة الصفحة بنقر F9 ونختار خيارات محددة من القوائم .. نلاحظ تطبيق الخيارات على عنصر التسمية ..

post-1034-1186660809_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مرحبا بالاخوة و الاخوات في درس جديد من دروس تصميم وبرمجة المواقع باستخدام ASP.NET & DELPHI.NET .

الالوان :

تعلمنا في الدرس السابق لمحة سريعة حول كيفية التعامل مع الالوان ..

ان الخاصية Color تشير الى الكائة Color من فضاء الاسماء System.Drawing .

يمكننا التعامل مع الالوان بعدة طرق ..

** باستخدام القيم اللونية ARGB(alpha,red,green,blue) . نقوم بتحديد كل قيمة برقم صحيح Integer يتراوح بين 0 و 255 ، ان الخاصية alpha تمثل الشفافية للالوان ، وعادة ما نسند لها القيمة 255 لتكون غير شفافية ( ظاهرة ) .

** من خلال اسماء الالوان في (.NET) المعرفة مسبقا ..

** باستخدام اسم لون HTML ..

من اجل التعامل مع الالوان يحتاج الى استيراد فضاء الاسماء System.Drawing .

نقوم باضافة صفحة جديدة ونعطيها الاسم Color ..

نصمم الصفحة لتبدو كما في الشكل ادناه باضافة نسخة من الاداة Label و ثلاث نسخ من الاداة Button ..

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

كود الزر ARGB :

procedure TWebForm1.Button1_Click(sender: System.Object; e: System.EventArgs);
const
alpha = 255;
red = 0 ;
green = 255;
blue = 0 ;
begin
Label1.ForeColor := System.Drawing.Color.FromArgb(alpha, red, green, blue);
end;

هنا قمنا بتعريف اربعة متغيرات من نوع صحيح واسندنا لها قيم رقمية .. ومن ملاحظة القيم الرقمية نلاحظ ان النتيجة ستكون هي اللون الاخضر لان باقي القيم اسندنا لها القيمة صفر ،ما عدا قيمة الشفافية التي اسندنا لها القيمة 255 ليكون اللون ظاهر تماما .

بعد ذلك استخدمنا FromArgb(alpha, red, green, blue) من اجل جعل لون الخط اخضر .

كود الزر .NET :

procedure TWebForm1.Button9_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.ForeColor := System.Drawing.Color.Crimson;
end;

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

كود الزر HTML Name :

procedure TWebForm1.Button10_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.ForeColor := System.Drawing.ColorTranslator.FromHtml('Blue');
end;

post-1034-1186738522_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
او بامكاننا كتابة الاسم مباشرة كما يلي ..

<asp:TextBox ForeColor ="Red" Text ="Test" ID ="txt" runat ="server" />

او من خلال ادخال قيمة بالنظام السداسي عشر لتحديد اللون المطلوب ..

<asp:TextBox ForeColor ="#ff50ff" Text ="Test" ID ="txt" runat ="server" />

الخطوط Fonts :

الخاصية Font تشير الى الكائن FontInfo المنحدر من فضاء الاسماء System.Web.UI.WebControls .

والذي يمتلك عدة خصائص تحدد الاسم و الحجم و النمط .

نضيف مجموعة اخرى من الادوات الى الصفحة لتبدو كما يلي :

الان سنتعلم كيفية التحكم باسم اللون او نمطه او حجمه ..

كود الزر Font-Name :

procedure TWebForm1.Button4_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Font.Name := 'Tahoma';
end;

حيث هنا اسندنا اسم الخط Tahoma لخاصية اسم الخط التابعة لعنصر التسمية Label1 .

كود الزر Font-Bold :

procedure TWebForm1.Button5_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Font.Bold := True;
end;

حيث تحتاج الخصائص (Bold,Italic, Strikeout, Underline) الى احدى القيمتين (True , False ) .. من اجل تفعيل او ايقاف تفعيل الخاصية ..

هنا عند النقر على الزر ، فان الخط يصبح مثخن ..

كود الزر Font-Size-1 :

procedure TWebForm1.Button6_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Font.Size := FontUnit.Larger;
end;

هنا اسندنا القيمة Larger لحجم الخط ..

يمكننا استخدام مجموعة من القيم لهذا النمط من التعامل مع حجم الخط ( Smaller , Small ,Medium ,Large ,Larger) .

كود الزر Font-Size-2 :

procedure TWebForm1.Button7_Click(sender: System.Object; e: System.EventArgs);
begin
Label1.Font.Size := FontUnit.Point(14);
end;

هنا نسند قيمة رقمية من اجل تحديد حجم الخط ..

الان نقوم بتشغيل الصفحة وتجربة الازرار وملاحظة تاثر خط عنصر التسمية من خلال النقر على الازرار ..

مثال اخر عن الخطوط و الالوان للخاصية ApplyStyle

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
var monstyle : Style;
begin
monstyle := Style.Create();
monstyle.BorderColor := Color.Blue;
monstyle.BackColor := Color.Black;
monstyle.ForeColor := Color.Blue;
monstyle.Font.Name := 'Verdana';
monstyle.Font.Size := 20;
Label1.ApplyStyle(monstyle);
end;

التركيز Focus :

لا يمكننا تحديد خاصية التركيز لعنصر معين من خلال الخاصية Default Focus ... كما في VS2005 ....الصورة الرفقة

<form id="form1" defaultfocus ="txt" runat="server">

حيث يمثل txt صندوق نص قمنا بانشاءه مسبقا ...

نلاحظ عند اضافة الخاصية defaultfocus ="txt" عند تشغيل الصفحة فان التركيز على صندوق النص VS وليس في الدلفي

كذلك يمكننا التحكم بالتركيز من خلال مفتاح الوصول Access Key ، فمثلا لو اسندنا لمفتاح الوصول الخاص بـصندوق النص txt القيمة A ، عندها عند النقر على Alt+A ينتقل التركيز الى txt ..

الان نقوم بتشغيل الصفحة .. وننقر على مفتاحي Alt+A .. نلاحظ ان التركيز ينتقل الى صندوق النص .

كذلك يمكننا التحكم بالتركيز من خلالjavascript

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

مشروع جديد

في الحدثPage_Load بالنقر المزدوج علي الصفحة نكتب

  response.write('زكيري عبد العالي يرحب بكم ');

معناه ان response.write() تسمح بكتابة HTML في صفحة ASPXالى الزبون

ادن يكفي ان نكتب

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
var vmessage : String;
begin
vmessage :='زكيري عبد العالي يرحب بكم ';
Response.Write('<body><script>alert("' + vmessage + '");</script></body>');
end;

لارسال سكربة يسمح بعرض علبة حوار

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
var url : String; // url de la popup html
largeur : Integer; // largeur de la popup
hauteur : Integer; // hauteur de la popup
x : Integer; // position en x de la popup
y : Integer; // position en y de la popup
begin
//x , y : موضع النافدة
Response.Write('<body><script>' +
'window.open("' + url + '","_blank",' +
'"width=' + largeur.ToString + ',height=' + hauteur.ToString + ',' +
'top=' + x.ToString + ',left=' + y.ToString + '");' +
'</script></body>');
end;

هكدا يتم فتح نافدة popup html

جرب هدا

Response.Write('<body><script>' +
'window.open("fichier.aspx?param1=toto&param2=titi", "nomfenetre",' +
'"toolbar=yes,status=yes,directories=yes,menubar=yes,location=yes,scrollbars=y
s,resizable=yes");' +
'</script></body>' );

وهدا

var url : String;	// l'url de la page à charger dans la frame
target : String; // nom de la frame à charger

Response.Write('<body><script>window.open("' + url + ' ","' + target + '");</script></body>');

واخيرا قد فهمت مايمكنك فعله بResponse.Write(

ادن نعود الى focus

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
var
s :string;
begin
s := '<script language= "javascript">document.getElementById(''' + TextBox2.ClientID + ''').focus()</script>';
Page.RegisterStartupScript('focus', s );

end;

post-1034-1186741907_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.CharCase:=ecUpperCase;
end;

اما في دلفي ASP

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
TextBox1.Attributes.Add('OnKeyUp','this.value=this.value.toUpperCase()');
end;

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مرحبا بالاخوة و الاخوات في درس جديد من دروس تصميم وبرمجة المواقع باستخدام ASP.NET & DELPHI.NET .

في درسنا هذا سنتعامل مع اداة الجدول ..

كما تعلمنا في كل درس جديد نقوم بانشاء صفحة جديدة ..

بعد ذلك نصمم الصفحة

لتبدو كما في الشكل 1.1:

كذلك يمكننا اتباع اسلوب اخر في تصميم الصفحة .. هذا الاسلوب من خلال كتابة كود في نافذة الـSource ..

ننقر على الـ Source ونكتب الكود التالي :

<%@ Page language="c#" Debug="true" Codebehind="WebForm1.pas" AutoEventWireup="false" Inherits="WebForm1.TWebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title></title>
</head>

<body>
<form id="form1" runat="server">
<div>
Rows:<asp:TextBox ID="txtRows" runat="server" /> 
Cols:<asp:TextBox ID="txtCols" runat="server" />
<br />
<br />
<asp:CheckBox ID="chkBorder" runat="server" Text="Put Border Around Cells" />
<br />
<br />
<asp:Button ID="cmdCreate" runat="server" Text="Create" />
<br />
<br />
<asp:Table ID="tbl" runat="server" width="665px" backcolor="#FFFFC0" />
<ASP:TableRow> </ASP:TableRow> 
<br />
</div>
</form>
</body>
</html>

ان الكود اعلاه يعطينا ناتج لتصميم الصفحة كما وضحنا مسبقا ..

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

اما نسخة اداة الاختبار فهي من اجل وضع حدود للجدول ( ان تم اختيارها ) ..

بعد ذلك اداة الزر ونسخة من اداة الجدول ..

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

الان لدينا حدثين سنقوم بكتابة الكود الخاص بهما ..

الحدث الاول هو حدث تحميل الصفحة ، والكود المستخدم فيه هو من اجل انشاء حدود للجدول بصورة عامة وتحديد عرض الحدول ( وهو يختلف عن الحدود التي نقوم بانشاءها حول الخلايا من خلال اختيار اداة صندوق الاختبار ) ..

ويمكننا الاستغناء عن هذا الكود ان كنا لانريد ان نقوم بانشاء حدود للجدول ..

اما الكود لحدث النقر على الزر فهو يقوم بانشاء الجدول بالاعتماد على ادخالات المستخدم .

كود حدث تحميل الصفحة :

procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
// TODO: Placer ici du code utilisateur pour initialiser la page
tbl.BorderStyle := BorderStyle.Inset;
tbl.BorderWidth := &Unit.Pixel(1);
end;

نلاحظ اننا استخدمنا الخاة BorderStyle من اجل تحديد نوع الاطار المحيط بالجدول ..

كذلك حددنا عرض حدود الجدول من خلال BorderWidth .

كود حدث النقر للزر

procedure TWebForm1.cmdCreate_Click(sender: System.Object; e: System.EventArgs);
var
i,j : integer ;
rowNew : TableRow;
cellNew : TableCell;
begin
tbl.Controls.Clear;
for i:= 0 to Convert.ToInt64(txtRows.text)-1 do
begin
rowNew := TableRow.Create;
tbl.Controls.Add(rowNew);

for j:= 0 to Convert.ToInt64(txtcols.text)-1 do
begin
cellNew := TableCell.Create;
cellNew.Text := 'Example Cell('+i.ToString+','+j.ToString+')';
if chkBorder.Checked = True then
begin
cellNew.BorderStyle := BorderStyle.Inset;
cellNew.BorderWidth := &Unit.Pixel(1);
end;
rowNew.Controls.Add(cellNew);
end;
end;
end;

في بداية الكود نقوم بافراغ الجدول من جميع محتوياته .. (الخلايا) .

بعد ذلك نقوم بتعريف متغيرين i , j .. والذين نستخدمهما من اجل عمل الدورات الخاصة بانشاء الصفوف و الخلايا التي موجودة داخلها ..

الفكرة في الكود تتلخص في عمل دوراه بعدد الصفوف ، ومن ثم عمل دواره اخرى داخل الدواره الاولى من اجل انشاء الخلايا لكل صف من الصفوف .

ونستخدم Controls.Add من اجل اضافة الصفوف للجدول و الخلايا للصفوف .

الان يمكننا ان نجرب الصفحة من خلال تشغيلها بنقر مفتاح F9 من لوحة المفاتيح الشكل 1.2

post-1034-1187793221_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كذلك يمكننا وضع ادوات داخل كل خلية من خلايا الجدول ...

نقوم بتعديل كود حدث النقر للزر ليصبح كما يلي

procedure TWebForm1.cmdCreate_Click(sender: System.Object; e: System.EventArgs);
var
i,j : integer ;
rowNew : TableRow ;
cellNew : TableCell;
imgNew : Image;
// imgNew : system.web.UI.WebControls.Image;
lblNew : &Label;
begin
tbl.Controls.Clear;
for i:= 0 to Convert.ToInt16(txtRows.text)-1 do
begin
rowNew := TableRow.Create;
tbl.Controls.Add(rowNew);
for j:= 0 to Convert.ToInt16(txtcols.text)-1 do
begin
cellNew := TableCell.Create;
imgNew := Image.Create;
imgNew.ImageUrl := 'MyPic.ICO';
lblNew:= &Label.Create;
lblNew.Text := 'ASP.net delphi.net دروس ';
cellNew.Controls.Add(imgNew);
cellNew.Controls.Add(lblNew);
cellNew.BorderStyle := BorderStyle.Inset;
cellNew.BorderWidth := &Unit.Pixel(1);
rowNew.Controls.Add(cellNew);
end;
end;
end;
end.

من خلال الكود السابق ، قمنا باضافة اداة عنصر التسمية و اداة الصورة لكل خلية من الخلايا ..

من اجل نجاح عمل الكود ن يجب وضع صورة بالاسم 'MyPic.ICO';داخل مجلد الموقع

نقوم بتجربة الصفحة من خلال نقر مفتاح F9 من لوحة المفاتيح ..

وندخل قيم لعدد الاعمدة و الصفوف ومن ثم ننقر على الزر من اجل انشاء الجدول .

الى هنا تعلمنا كيفية انشاء جدول بصورة برمجية وكتابة نص داخل كل خلية ..

كذلك وضع الادوات داخل كل خلية ( عنصر التسمية ، اداة الصورة ) .

يمكننا عمل نفس الامور السابقة من خلال التصميم ( كما سنتعلم من خلال الدروس السابقة ) .

ان المرونة الحقيقية في الجدول هي ان كل جدول ، صف جدول ، خلية جدول تمثل كائن بمميزات كاملة .. يمكننا اسناد لكل خلية اطار مختلف ولون اطار مختلف ولون نص من خلال التحكم بخصائصها .

post-1034-1187794894_thumb.jpg

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

طريفة عمل الاسبي نت مع الدلفي

نبدأ اولا باطريقة نتقل المبيانات من الزبون الا الخادم

في البداية تكون الملفات دات اللحقاتان Client et le Serveur

في الخادم.ASPX et .PAS

- يقوم الزبون بتنفيد المتصفح وطلب الصفحة

- كسيني يهيأ الجواب اي الصفحة المطلوبه ويرسلها الي المتصح

- المستعمل يكتب ويرسل الامر بالنقر علي الزر

يدرس كاسيني من جديد السؤال ويحضر الجواب ويرسله

post-1034-1207299616_thumb.png

post-1034-1207299621_thumb.png

post-1034-1207299626_thumb.png

post-1034-1207299674_thumb.png

post-1034-1207299681_thumb.png

post-1034-1207299684_thumb.png

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

و الان نحلل البيانات المنتقلة TCP/IPب

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

Cassini Spy

1-الزبون يرسل استعلام

-> | GET /p_11_first_asp_net/a_11_first_asp_net.aspx HTTP/1.1

-> | Accept: */*

-> | Accept-Language: fr

-> | Accept-Encoding: gzip, deflate

-> | User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

-> | Host: localhost:81

-> | Connection: Keep-Alive

-> |

2-كاسيني يرسل الرد في شكل صفحة


<- | Server: Cassini/1.0.0.0
<- | Date: Tue, 21 Mar 2006 04:43:08 GMT
<- | X-AspNet-Version: 1.1.4322
<- | Set-Cookie: ASP.NET_SessionId=spedsu55n5w2xyekicwqbs3d; path=/
<- | Cache-Control: private
<- | Content-Type: text/html; charset=utf-8
<- | Content-Length: 564
<- | Connection: Close
<- |
<- | Hello <[color="#ff0000"]BR[/color]>
<- | <![color="#00c000"]DOCTYPE[/color] [color="#00c000"]HTML[/color] [color="#00c000"]PUBLIC[/color] "[color="#0000ff"]-//W3C//DTD HTML 4.01 Transitional//EN[/color]">
<- |
<- | <[color="#ff0000"]html[/color]>
<- | <[color="#ff0000"]head[/color]>
<- | <[color="#ff0000"]title[/color]><[color="#ff0000"]/title[/color]>
<- | <[color="#ff0000"]/head[/color]>
<- |
<- | <[color="#ff0000"]body[/color]>
<- | <[color="#ff0000"]form[/color] [color="#00c000"]name[/color]="[color="#0000ff"]_ctl0[/color]" [color="#00c000"]method[/color]="[color="#0000ff"]post[/color]" [color="#00c000"]action[/color]="[color="#0000ff"]a_11_first_asp_net.aspx[/color]" [color="#00c000"]id[/color]="[color="#0000ff"]_ctl0[/color]">
<- | <[color="#ff0000"]input[/color] [color="#00c000"]type[/color]="[color="#0000ff"]hidden[/color]" [color="#00c000"]name[/color]="[color="#0000ff"]__VIEWSTATE[/color]" [color="#00c000"]value[/color]="[color="#0000ff"]dDwyMDE4OTI5MDg4Ozs+u3wNIkzaGHMAC1thTPRREuxDXd8=[/color]" />
<- |
<- | <[color="#ff0000"]input[/color] [color="#00c000"]name[/color]="[color="#0000ff"]name_textbox[/color]" [color="#00c000"]type[/color]="[color="#0000ff"]text[/color]" [color="#00c000"]id[/color]="[color="#0000ff"]name_textbox[/color]" [color="#00c000"]style[/color]="[color="#0000ff"]width:137px;[/color]" />
<- | <[color="#ff0000"]input[/color] [color="#00c000"]type[/color]="[color="#0000ff"]submit[/color]" [color="#00c000"]name[/color]="[color="#0000ff"]submit_button[/color]" [color="#00c000"]value[/color]="[color="#0000ff"]send[/color]" [color="#00c000"]id[/color]="[color="#0000ff"]submit_button[/color]" [color="#00c000"]style[/color]="[color="#0000ff"]width:103px;[/color]" />
<- | <[color="#ff0000"]/form[/color]>
<- | <[color="#ff0000"]/body[/color]>
<- | <[color="#ff0000"]/html[/color]>
<- |
	   <-	| HTTP/1.1 200 OK

3-المتصفح يكتب كلمة ويرسلها


-> | Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
-> | Referer: http://localhost:81/p_11_first_asp_net/a_11_first_asp_net.aspx
-> | Accept-Language: fr
-> | Content-Type: application/x-www-form-urlencoded
-> | Accept-Encoding: gzip, deflate
-> | User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
-> | Host: localhost:81
-> | Content-Length: 109
-> | Connection: Keep-Alive
-> | Cache-Control: no-cache
-> | Cookie: ASP.NET_SessionId=spedsu55n5w2xyekicwqbs3d
-> |
-> | __VIEWSTATE=dDwyMDE4OTI5MDg4Ozs%2Bu3wNIkzaGHMAC1thTPRREuxDXd8%3D&name_textbox=sam&submit_button=send
-> | POST /p_11_first_asp_net/a_11_first_asp_net.aspx HTTP/1.1

4-الجواب من كاسيني


<- | Server: Cassini/1.0.0.0
<- | Date: Tue, 21 Mar 2006 04:43:27 GMT
<- | X-AspNet-Version: 1.1.4322
<- | Cache-Control: private
<- | Content-Type: text/html; charset=utf-8
<- | Content-Length: 626
<- | Connection: Close
<- |
<- | ok welcome sam<[color="#ff0000"]BR[/color]>
<- | <![color="#00c000"]DOCTYPE[/color] [color="#00c000"]HTML[/color] [color="#00c000"]PUBLIC[/color] "[color="#0000ff"]-//W3C//DTD HTML 4.01 Transitional//EN[/color]">
<- |
<- | <[color="#ff0000"]html[/color]>
<- | <[color="#ff0000"]head[/color]>
<- | <[color="#ff0000"]title[/color]><[color="#ff0000"]/title[/color]>
<- | <[color="#ff0000"]/head[/color]>
<- |
<- | <[color="#ff0000"]body[/color]>
<- | <[color="#ff0000"]form[/color] [color="#00c000"]name[/color]="[color="#0000ff"]_ctl0[/color]" [color="#00c000"]method[/color]="[color="#0000ff"]post[/color]" [color="#00c000"]action[/color]="[color="#0000ff"]a_11_first_asp_net.aspx[/color]" [color="#00c000"]id[/color]="[color="#0000ff"]_ctl0[/color]">
<- | <[color="#ff0000"]input[/color] [color="#00c000"]type[/color]="[color="#0000ff"]hidden[/color]" [color="#00c000"]name[/color]="[color="#0000ff"]__VIEWSTATE[/color]" [color="#00c000"]value[/color]="[color="#0000ff"]dDwyMDE4OTI5MDg4O3Q8O2w8aTwxP
js+O2w8dDw7bDxpPDE+O2k8Mz47PjtsPHQ8cDxwPG
w8VGV4dDtWaXNpYmxlOz47bDxzYW07bzxmPjs+Pjs+O
zs+O3Q8cDxwPGw8VGV4dDs+O2w8QnllOz4+Oz47Oz
47Pj47Pj47PiZZfJnzAsTbvXefogRPoxfeaeXi[/color]" />
<- | <[color="#ff0000"]input[/color] [color="#00c000"]type[/color]="[color="#0000ff"]submit[/color]" [color="#00c000"]name[/color]="[color="#0000ff"]submit_button[/color]" [color="#00c000"]value[/color]="[color="#0000ff"]Bye[/color]" [color="#00c000"]id[/color]="[color="#0000ff"]submit_button[/color]" [color="#00c000"]style[/color]="[color="#0000ff"]width:103px;[/color]" />
<- | <[color="#ff0000"]/form[/color]>
<- | <[color="#ff0000"]/body[/color]>
<- | <[color="#ff0000"]/html[/color]>
<- |
	   <-	| HTTP/1.1 200 OK

ملاحطه

البيانات المتنقلة هي نفسها ادا استعملنا طرق اخري في برمجة الواب

CGI ou ISAPI

المعلومات المرسلة من الزبون هي الموجودة في <FORM>...</FORM>

وتستعملPOST

في الارسال

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

نتعلم الان شئ سهل كنا تعب في انشابه برمجيا في دلفي 32 هوكيف اتأكد من ان خانت الكتاة فارغ او لا

نضع المكونا تالتالية كما في الصورة


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head runat="server">
<title></title>
</head>
<body>

<form runat="server" action="">
<p align="right"><asp:TextBox id="TextBox1" runat="server"></asp:TextBox>الاسم</p>
<p align="right"><asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" errormessage="اكتب اسم من فضلك" controltovalidate="TextBox1"></asp:RequiredFieldValidator>  <input type="submit" value="ارسل"></p>
</form>

</body>
</html>
<%@ Page language="c#" Debug="true" Codebehind="Default.pas" AutoEventWireup="false" Inherits="Default.TDefault" %>

نكتب الرسالة

اكتب اسم من فضلك

في الخاصية ERROR MESSAGE

للاداة requiredFieldValidator

ثم نقوم بتحديد اداة الكتابة TextBox1

في الخاصية

ControlToValidate

post-1034-1207303242_thumb.jpg

post-1034-1207303458_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

إن شاء الله ساكمل الدروس ودلك باستفادة من من سبقونا في برمجة الواب بدوتنت

http://www.arabteam2000-forum.com/index.ph...mp;#entry786511

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

*- خاصية الوراثه من الصفحة الام

قد يبدو الاسم غريبا ولكن لا تقلق سوف يتم شرح هدا الموضوع بالتفصيل في وقت لاحق

يجب ايضاح انها الميزة التي سوف توفر علينا الكثير من العناء على كلا من مصمم

المشروع ومطوره

لفعل هدا نقوم بمايلي

1-انشاء مشروع جديد

2-نقوم بحدف الصفحة Default.aspx من المشروع

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

4-نختار َAjouter Nouveau --> Autre

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

ادن الربط يكون

5-نضيف صفحة اسبي جديدة كما هو بالصورة حيث يمثل أ-اسم الصفحة و ب - اسم الصفحة الاساسية master

post-1034-1207559375_thumb.jpg

post-1034-1207559382_thumb.jpg

post-1034-1207559391_thumb.jpg

post-1034-1207559887_thumb.jpg

تم تعديل بواسطه زكيري عبد العالي
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .