<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب  - دورة .net 2008 . لنبدأ سوياً]]></title>
		<link>https://vb4arb.com/vb/</link>
		<description><![CDATA[منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب  - https://vb4arb.com/vb]]></description>
		<pubDate>Wed, 22 Apr 2026 21:55:51 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[اعلان - انتهاء الدورة - الدرس التاسع والسبعون -)]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5677</link>
			<pubDate>Sun, 14 Oct 2012 19:23:34 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5677</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 4pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">في الواقع لن تجد هنا درساً ، بل ستجد هنا اعلاناً عن انتهاء الدورة ، والتي اسأل الله ان تكون حققت جزء من الفائدة المرجوة ، وأرجو من الله التوفيق .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">بالطبع نقصت نقاط كثيرة ، وتجاوزنا بعض النقاط بسرعة ، لا سيما النقاط الأخيرة حيث اصابني بعض الملل ، على الاقل كنت اخطط لمائة درس ولكن اصبحوا 79 ، او على الاصح 78 درساً فقط ولم استطع حتى اكمالهم حتى ال 80 .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">ولكني الآن بصدد تجميع هذه الدروس في كتاب واحد ، والذي آمل ان يكون مرضياً وان استطيع تدارك ما نقص في هذه الدورة فيه إن شاء الله .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">ختاماً ، استودعكم الله ، وارجو الدعاء لي بالتوفيق في الانتهاء من هذا الكتاب سريعاً ، وألا يستغرق مني وقتاً طويلاً .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">وأرجو منكم اقتراح ما يمكن ان يضاف للكتاب لكي يكون جيداً في مجال .net 2008 من اقتراحات جديدة او تعديل على نقاط ضمن الدورة .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">وأتمنى ممن يستطيع تقديم شيء مفيد لي في هذا الكتاب ان يخبرني وسأكون سعيداً جداً بمعاونته لي .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size"><span style="color: green;" class="mycode_color">ختاماً أرجو من الله التوفيق للجميع .</span></span><br />
<span style="font-size: 4pt;" class="mycode_size"><span style="color: green;" class="mycode_color">والسلام عليكم ورحمة الله وبركاته .</span></span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 4pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">في الواقع لن تجد هنا درساً ، بل ستجد هنا اعلاناً عن انتهاء الدورة ، والتي اسأل الله ان تكون حققت جزء من الفائدة المرجوة ، وأرجو من الله التوفيق .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">بالطبع نقصت نقاط كثيرة ، وتجاوزنا بعض النقاط بسرعة ، لا سيما النقاط الأخيرة حيث اصابني بعض الملل ، على الاقل كنت اخطط لمائة درس ولكن اصبحوا 79 ، او على الاصح 78 درساً فقط ولم استطع حتى اكمالهم حتى ال 80 .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">ولكني الآن بصدد تجميع هذه الدروس في كتاب واحد ، والذي آمل ان يكون مرضياً وان استطيع تدارك ما نقص في هذه الدورة فيه إن شاء الله .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">ختاماً ، استودعكم الله ، وارجو الدعاء لي بالتوفيق في الانتهاء من هذا الكتاب سريعاً ، وألا يستغرق مني وقتاً طويلاً .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">وأرجو منكم اقتراح ما يمكن ان يضاف للكتاب لكي يكون جيداً في مجال .net 2008 من اقتراحات جديدة او تعديل على نقاط ضمن الدورة .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size">وأتمنى ممن يستطيع تقديم شيء مفيد لي في هذا الكتاب ان يخبرني وسأكون سعيداً جداً بمعاونته لي .</span><br />
<br />
<span style="font-size: 4pt;" class="mycode_size"><span style="color: green;" class="mycode_color">ختاماً أرجو من الله التوفيق للجميع .</span></span><br />
<span style="font-size: 4pt;" class="mycode_size"><span style="color: green;" class="mycode_color">والسلام عليكم ورحمة الله وبركاته .</span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الثامن والسبعون - Ajax]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5676</link>
			<pubDate>Sun, 14 Oct 2012 19:21:03 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5676</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .<br />
<br />
في هذا الدرس الأخير حول ASP.net سنستعرض سريعاً كيفية الاستفادة من خدمات تقنية الإنترنت المعروفة باسم AJAX من خلال .net .<br />
بداية ، راجع درسي على هذا الرابط :<br />
<a href="http://www.vb4arab.com/vb/showthread.php?t=15" target="_blank" rel="noopener" class="mycode_url">http://www.vb4arab.com/vb/showthread.php?t=15</a><br />
<br />
والآن ، سنبدأ في عمل تطبيقنا الأول ...<br />
<br />
جرب عمل مربع نص لتعرض فيه الوقت الحالي ، ايضاً قم باضافة صورة لتستطيع تمميز تحديث الصفحة ، ومن ثم قم بكتابة الكود التالي في زر الأمر :<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>TextBox1.Text = DateTime.Now.ToString();</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>TextBox1.Text = DateTime.Now.ToString()</code></div></div>هل لاحظت ما يحدث ، بالفعل يتم تحديث الصفحة بالكامل ، الآن سنحاول تطبيق نفس المبدء بحيث لا يتم التأثير سوى على الجزء الذي سيتم التعديل فيه .<br />
لذا قم بداية باضافة ScroptManager من ضمن ادوات اجاكس بالشكل التالي :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_01350242421.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350242421.jpg]" class="mycode_img" /></div>
<br />
الآن قم بسحب UpdatePanel ، وقم بوضع مربع النص وزر الأمر بداخلها مع ترك الصورة فقط في الخارج ، سيكون كود الصفحة بالشكل التالي :<br />
<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;%@ Page Language=[COLOR=#0000ff]"C#"[/color] AutoEventWireup=[color=#0000ff]"true"[/color] CodeFile=[color=#0000ff]"Default6.aspx.cs"[/color] Inherits=[color=#0000ff]"Default6"[/color] %&gt;[/COLOR]<br />
[color=#000080]&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;[/color]<br />
[color=#000080]&lt;html xmlns=[COLOR=#0000ff]"http://www.w3.org/1999/xhtml"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;head runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;title&gt;[/color]Untitled Page[color=#000080]&lt;/title&gt;[/color]<br />
[color=#000080]&lt;/head&gt;[/color]<br />
[color=#000080]&lt;body&gt;[/color]<br />
[color=#ff8000]&lt;form id=[COLOR=#0000ff]"form1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;div&gt;[/color]<br />
[color=#800080]&lt;img src=[COLOR=#0000ff]"images/food.jpg"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;asp:UpdatePanel runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;ContentTemplate&gt;[/color]<br />
<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;asp:TextBox ID=[COLOR=#0000ff]"TextBox1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;/asp:TextBox&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;asp:Button ID=[COLOR=#0000ff]"Button1"[/color] runat=[color=#0000ff]"server"[/color] onclick=[color=#0000ff]"Button1_Click"[/color] <br />
Text=[color=#0000ff]"ShowTime"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/ContentTemplate&gt;[/color][color=#000080]&lt;/asp:UpdatePanel&gt;[/color]<br />
<br />
[color=#000080]&lt;/div&gt;[/color]<br />
[color=#ff8000]&lt;/form&gt;[/color]<br />
[color=#000080]&lt;/body&gt;[/color]<br />
[color=#000080]&lt;/html&gt;[/color]</code></div></div>والآن جرب ، هل لاحظت الفارق فعلاً ؟؟<br />
<br />
جميل ، الآن سنحاول تطبيق موضوع آخر ماذا لو افترضنا اننا نريد وضع زر الامر خارج ال update panel بحيث لا يتم تحديثه ، هذا ممكن .<br />
<br />
فقط اسحب زر الأمر خارج ال update Panel ، وقم بكتابة الكود التالي داخل ال update panel :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;Triggers&gt;[/color]<br />
[color=#000080]&lt;asp:AsyncPostBackTrigger ControlID=[COLOR=#0000ff]"Button1"[/color] EventName=[color=#0000ff]"Click"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/Triggers&gt;[/color]</code></div></div>ليصبح الكود كاملاً بالشكل التالي :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;%@ Page Language=[COLOR=#0000ff]"C#"[/color] AutoEventWireup=[color=#0000ff]"true"[/color] CodeFile=[color=#0000ff]"Default6.aspx.cs"[/color] Inherits=[color=#0000ff]"Default6"[/color] %&gt;[/COLOR]<br />
[color=#000080]&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;[/color]<br />
[color=#000080]&lt;html xmlns=[COLOR=#0000ff]"http://www.w3.org/1999/xhtml"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;head runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;title&gt;[/color]Untitled Page[color=#000080]&lt;/title&gt;[/color]<br />
[color=#000080]&lt;/head&gt;[/color]<br />
[color=#000080]&lt;body&gt;[/color]<br />
<br />
[color=#ff8000]&lt;form id=[COLOR=#0000ff]"form1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;asp:ScriptManager ID=[COLOR=#0000ff]"ScriptManager1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;/asp:ScriptManager&gt;[/color]<br />
[color=#000080]&lt;div&gt;[/color]<br />
[color=#800080]&lt;img src=[COLOR=#0000ff]"images/food.jpg"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;asp:UpdatePanel runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;ContentTemplate&gt;[/color]<br />
<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;asp:TextBox ID=[COLOR=#0000ff]"TextBox1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;/asp:TextBox&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
<br />
[color=#000080]&lt;/ContentTemplate&gt;[/color]<br />
[color=#000080]&lt;Triggers&gt;[/color]<br />
[color=#000080]&lt;asp:AsyncPostBackTrigger ControlID=[COLOR=#0000ff]"Button1"[/color] EventName=[color=#0000ff]"Click"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/Triggers&gt;[/color]<br />
[color=#000080]&lt;/asp:UpdatePanel&gt;[/color]<br />
[color=#000080]&lt;asp:Button ID=[COLOR=#0000ff]"Button1"[/color] runat=[color=#0000ff]"server"[/color] onclick=[color=#0000ff]"Button1_Click"[/color] <br />
Text=[color=#0000ff]"ShowTime"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/div&gt;[/color]<br />
[color=#ff8000]&lt;/form&gt;[/color]<br />
[color=#000080]&lt;/body&gt;[/color]<br />
[color=#000080]&lt;/html&gt;[/color]</code></div></div>هل لاحظت الفارق مرة أخرى ؟]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .<br />
<br />
في هذا الدرس الأخير حول ASP.net سنستعرض سريعاً كيفية الاستفادة من خدمات تقنية الإنترنت المعروفة باسم AJAX من خلال .net .<br />
بداية ، راجع درسي على هذا الرابط :<br />
<a href="http://www.vb4arab.com/vb/showthread.php?t=15" target="_blank" rel="noopener" class="mycode_url">http://www.vb4arab.com/vb/showthread.php?t=15</a><br />
<br />
والآن ، سنبدأ في عمل تطبيقنا الأول ...<br />
<br />
جرب عمل مربع نص لتعرض فيه الوقت الحالي ، ايضاً قم باضافة صورة لتستطيع تمميز تحديث الصفحة ، ومن ثم قم بكتابة الكود التالي في زر الأمر :<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>TextBox1.Text = DateTime.Now.ToString();</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>TextBox1.Text = DateTime.Now.ToString()</code></div></div>هل لاحظت ما يحدث ، بالفعل يتم تحديث الصفحة بالكامل ، الآن سنحاول تطبيق نفس المبدء بحيث لا يتم التأثير سوى على الجزء الذي سيتم التعديل فيه .<br />
لذا قم بداية باضافة ScroptManager من ضمن ادوات اجاكس بالشكل التالي :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_01350242421.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350242421.jpg]" class="mycode_img" /></div>
<br />
الآن قم بسحب UpdatePanel ، وقم بوضع مربع النص وزر الأمر بداخلها مع ترك الصورة فقط في الخارج ، سيكون كود الصفحة بالشكل التالي :<br />
<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;%@ Page Language=[COLOR=#0000ff]"C#"[/color] AutoEventWireup=[color=#0000ff]"true"[/color] CodeFile=[color=#0000ff]"Default6.aspx.cs"[/color] Inherits=[color=#0000ff]"Default6"[/color] %&gt;[/COLOR]<br />
[color=#000080]&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;[/color]<br />
[color=#000080]&lt;html xmlns=[COLOR=#0000ff]"http://www.w3.org/1999/xhtml"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;head runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;title&gt;[/color]Untitled Page[color=#000080]&lt;/title&gt;[/color]<br />
[color=#000080]&lt;/head&gt;[/color]<br />
[color=#000080]&lt;body&gt;[/color]<br />
[color=#ff8000]&lt;form id=[COLOR=#0000ff]"form1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;div&gt;[/color]<br />
[color=#800080]&lt;img src=[COLOR=#0000ff]"images/food.jpg"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;asp:UpdatePanel runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;ContentTemplate&gt;[/color]<br />
<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;asp:TextBox ID=[COLOR=#0000ff]"TextBox1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;/asp:TextBox&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;asp:Button ID=[COLOR=#0000ff]"Button1"[/color] runat=[color=#0000ff]"server"[/color] onclick=[color=#0000ff]"Button1_Click"[/color] <br />
Text=[color=#0000ff]"ShowTime"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/ContentTemplate&gt;[/color][color=#000080]&lt;/asp:UpdatePanel&gt;[/color]<br />
<br />
[color=#000080]&lt;/div&gt;[/color]<br />
[color=#ff8000]&lt;/form&gt;[/color]<br />
[color=#000080]&lt;/body&gt;[/color]<br />
[color=#000080]&lt;/html&gt;[/color]</code></div></div>والآن جرب ، هل لاحظت الفارق فعلاً ؟؟<br />
<br />
جميل ، الآن سنحاول تطبيق موضوع آخر ماذا لو افترضنا اننا نريد وضع زر الامر خارج ال update panel بحيث لا يتم تحديثه ، هذا ممكن .<br />
<br />
فقط اسحب زر الأمر خارج ال update Panel ، وقم بكتابة الكود التالي داخل ال update panel :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;Triggers&gt;[/color]<br />
[color=#000080]&lt;asp:AsyncPostBackTrigger ControlID=[COLOR=#0000ff]"Button1"[/color] EventName=[color=#0000ff]"Click"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/Triggers&gt;[/color]</code></div></div>ليصبح الكود كاملاً بالشكل التالي :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;%@ Page Language=[COLOR=#0000ff]"C#"[/color] AutoEventWireup=[color=#0000ff]"true"[/color] CodeFile=[color=#0000ff]"Default6.aspx.cs"[/color] Inherits=[color=#0000ff]"Default6"[/color] %&gt;[/COLOR]<br />
[color=#000080]&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;[/color]<br />
[color=#000080]&lt;html xmlns=[COLOR=#0000ff]"http://www.w3.org/1999/xhtml"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;head runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;title&gt;[/color]Untitled Page[color=#000080]&lt;/title&gt;[/color]<br />
[color=#000080]&lt;/head&gt;[/color]<br />
[color=#000080]&lt;body&gt;[/color]<br />
<br />
[color=#ff8000]&lt;form id=[COLOR=#0000ff]"form1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;asp:ScriptManager ID=[COLOR=#0000ff]"ScriptManager1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR]<br />
[color=#000080]&lt;/asp:ScriptManager&gt;[/color]<br />
[color=#000080]&lt;div&gt;[/color]<br />
[color=#800080]&lt;img src=[COLOR=#0000ff]"images/food.jpg"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;asp:UpdatePanel runat=[COLOR=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;ContentTemplate&gt;[/color]<br />
<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
[color=#000080]&lt;asp:TextBox ID=[COLOR=#0000ff]"TextBox1"[/color] runat=[color=#0000ff]"server"[/color]&gt;[/COLOR][color=#000080]&lt;/asp:TextBox&gt;[/color]<br />
[color=#000080]&lt;br /&gt;[/color]<br />
<br />
[color=#000080]&lt;/ContentTemplate&gt;[/color]<br />
[color=#000080]&lt;Triggers&gt;[/color]<br />
[color=#000080]&lt;asp:AsyncPostBackTrigger ControlID=[COLOR=#0000ff]"Button1"[/color] EventName=[color=#0000ff]"Click"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/Triggers&gt;[/color]<br />
[color=#000080]&lt;/asp:UpdatePanel&gt;[/color]<br />
[color=#000080]&lt;asp:Button ID=[COLOR=#0000ff]"Button1"[/color] runat=[color=#0000ff]"server"[/color] onclick=[color=#0000ff]"Button1_Click"[/color] <br />
Text=[color=#0000ff]"ShowTime"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/div&gt;[/color]<br />
[color=#ff8000]&lt;/form&gt;[/color]<br />
[color=#000080]&lt;/body&gt;[/color]<br />
[color=#000080]&lt;/html&gt;[/color]</code></div></div>هل لاحظت الفارق مرة أخرى ؟]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس السابع والسبعون - ASP.net وقواعد البيانات]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5675</link>
			<pubDate>Sun, 14 Oct 2012 19:16:35 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5675</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
سنأخذ الآن جولة سريعة في عالم قواعد البيانات مع ASP.net ، في الواقع لن تحتاج لأكثر من المعلومات التي تعلمتها في دروس ADO.net ، والتي سنطبقها هنا .<br />
<br />
لذا سنقوم بداية بعمل موقع بسيط يقوم فقط بقراءة أسماء من قاعدة البيانات وطباعتها للمستخدم ، سنستخدم قاعدة بيانات تحتوي مبدئياً على اسم المنتج وسعره ، فقط هذا هو الكود ليس أكثر ولا اقل :<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>SqlConnection cn = new SqlConnection(@"Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False");<br />
cn.Open();<br />
SqlCommand cmd = new SqlCommand("select * from Items",cn);<br />
SqlDataReader dr= cmd.ExecuteReader();<br />
while (dr.Read())<br />
{<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Number: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(0).ToString() + "&lt;br/&gt;");<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Name: &lt;/font&gt;&lt;/b&gt;" + dr.GetString(1) + "&lt;br/&gt;");<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt;Item Price: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(2).ToString() + "&lt;hr/&gt;");<br />
}</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Dim cn As New SqlConnection("Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False") <br />
cn.Open() <br />
Dim cmd As New SqlCommand("select * from Items", cn) <br />
Dim dr As SqlDataReader = cmd.ExecuteReader() <br />
While dr.Read() <br />
<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Number: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(0).ToString() + "&lt;br/&gt;") <br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Name: &lt;/font&gt;&lt;/b&gt;" + dr.GetString(1) + "&lt;br/&gt;") <br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt;Item Price: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(2).ToString() + "&lt;hr/&gt;") <br />
End While</code></div></div>والناتج :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_01350242133.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350242133.jpg]" class="mycode_img" /></div>
<br />
الآن سنجمل عملية العرض قليلاً ، سنستخدم بعض الجداول كما سنضيف لقاعدة البيانات حقل رابط الصورة ، سنضيف بعض الصور في مجلد iamges في نفس مسار البرنامج والتي سنعرضها لكل منتج - الكود سيكون بالشكل التالي :<br />
<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>SqlConnection cn = new SqlConnection(@"Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False");<br />
cn.Open();<br />
SqlCommand cmd = new SqlCommand("select * from Items",cn);<br />
SqlDataReader dr= cmd.ExecuteReader();<br />
Response.Write("&lt;center&gt;&lt;table border=1&gt;&lt;tr valign=center align=center bgcolor=#AAAAAA&gt;&lt;td&gt;&lt;b&gt;Item No.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Name&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Price&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Sample&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;");<br />
while (dr.Read())<br />
{<br />
Response.Write("&lt;tr&gt;&lt;td&gt;&lt;b&gt;" + dr.GetInt64(0).ToString() + "&lt;/b&gt;&lt;/td&gt;");<br />
Response.Write("&lt;td&gt;" + dr.GetString(1) + "&lt;/td&gt;");<br />
Response.Write("&lt;td&gt;" + dr.GetInt64(2).ToString() + "&lt;/td&gt;");<br />
Response.Write(@"&lt;td&gt;&lt;img src='images/" + dr.GetString(3) + "'&gt;&lt;/td&gt;&lt;/tr&gt;");<br />
}<br />
Response.Write("&lt;/table&gt;&lt;/center&gt;");</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Dim cn As New SqlConnection("Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False") <br />
cn.Open() <br />
Dim cmd As New SqlCommand("select * from Items", cn) <br />
Dim dr As SqlDataReader = cmd.ExecuteReader() <br />
Response.Write("&lt;center&gt;&lt;table border=1&gt;&lt;tr valign=center align=center bgcolor=#AAAAAA&gt;&lt;td&gt;&lt;b&gt;Item No.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Name&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Price&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Sample&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;") <br />
While dr.Read() <br />
<br />
Response.Write("&lt;tr&gt;&lt;td&gt;&lt;b&gt;" + dr.GetInt64(0).ToString() + "&lt;/b&gt;&lt;/td&gt;") <br />
Response.Write("&lt;td&gt;" + dr.GetString(1) + "&lt;/td&gt;") <br />
Response.Write("&lt;td&gt;" + dr.GetInt64(2).ToString() + "&lt;/td&gt;") <br />
Response.Write("&lt;td&gt;&lt;img src='images/" + dr.GetString(3) + "'&gt;&lt;/td&gt;&lt;/tr&gt;") <br />
End While <br />
Response.Write("&lt;/table&gt;&lt;/center&gt;")</code></div></div>والناتج سيكون بالشكل التالي مثلاً :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_11350242133.jpg" loading="lazy"  alt="[صورة مرفقة: 18_11350242133.jpg]" class="mycode_img" /></div>
<br />
*** هذه هي نفس الطريقة التي كنا نطبقها في عالم ASP CLassic ، الآن سنتعرف على بعض التسهيلات التي تتيحها لنا ال .net ...]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
سنأخذ الآن جولة سريعة في عالم قواعد البيانات مع ASP.net ، في الواقع لن تحتاج لأكثر من المعلومات التي تعلمتها في دروس ADO.net ، والتي سنطبقها هنا .<br />
<br />
لذا سنقوم بداية بعمل موقع بسيط يقوم فقط بقراءة أسماء من قاعدة البيانات وطباعتها للمستخدم ، سنستخدم قاعدة بيانات تحتوي مبدئياً على اسم المنتج وسعره ، فقط هذا هو الكود ليس أكثر ولا اقل :<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>SqlConnection cn = new SqlConnection(@"Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False");<br />
cn.Open();<br />
SqlCommand cmd = new SqlCommand("select * from Items",cn);<br />
SqlDataReader dr= cmd.ExecuteReader();<br />
while (dr.Read())<br />
{<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Number: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(0).ToString() + "&lt;br/&gt;");<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Name: &lt;/font&gt;&lt;/b&gt;" + dr.GetString(1) + "&lt;br/&gt;");<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt;Item Price: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(2).ToString() + "&lt;hr/&gt;");<br />
}</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Dim cn As New SqlConnection("Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False") <br />
cn.Open() <br />
Dim cmd As New SqlCommand("select * from Items", cn) <br />
Dim dr As SqlDataReader = cmd.ExecuteReader() <br />
While dr.Read() <br />
<br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Number: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(0).ToString() + "&lt;br/&gt;") <br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt; Item Name: &lt;/font&gt;&lt;/b&gt;" + dr.GetString(1) + "&lt;br/&gt;") <br />
Response.Write("&lt;b&gt;&lt;font color=blue&gt;Item Price: &lt;/font&gt;&lt;/b&gt;" + dr.GetInt64(2).ToString() + "&lt;hr/&gt;") <br />
End While</code></div></div>والناتج :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_01350242133.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350242133.jpg]" class="mycode_img" /></div>
<br />
الآن سنجمل عملية العرض قليلاً ، سنستخدم بعض الجداول كما سنضيف لقاعدة البيانات حقل رابط الصورة ، سنضيف بعض الصور في مجلد iamges في نفس مسار البرنامج والتي سنعرضها لكل منتج - الكود سيكون بالشكل التالي :<br />
<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>SqlConnection cn = new SqlConnection(@"Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False");<br />
cn.Open();<br />
SqlCommand cmd = new SqlCommand("select * from Items",cn);<br />
SqlDataReader dr= cmd.ExecuteReader();<br />
Response.Write("&lt;center&gt;&lt;table border=1&gt;&lt;tr valign=center align=center bgcolor=#AAAAAA&gt;&lt;td&gt;&lt;b&gt;Item No.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Name&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Price&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Sample&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;");<br />
while (dr.Read())<br />
{<br />
Response.Write("&lt;tr&gt;&lt;td&gt;&lt;b&gt;" + dr.GetInt64(0).ToString() + "&lt;/b&gt;&lt;/td&gt;");<br />
Response.Write("&lt;td&gt;" + dr.GetString(1) + "&lt;/td&gt;");<br />
Response.Write("&lt;td&gt;" + dr.GetInt64(2).ToString() + "&lt;/td&gt;");<br />
Response.Write(@"&lt;td&gt;&lt;img src='images/" + dr.GetString(3) + "'&gt;&lt;/td&gt;&lt;/tr&gt;");<br />
}<br />
Response.Write("&lt;/table&gt;&lt;/center&gt;");</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Dim cn As New SqlConnection("Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Items;Integrated Security=True;Pooling=False") <br />
cn.Open() <br />
Dim cmd As New SqlCommand("select * from Items", cn) <br />
Dim dr As SqlDataReader = cmd.ExecuteReader() <br />
Response.Write("&lt;center&gt;&lt;table border=1&gt;&lt;tr valign=center align=center bgcolor=#AAAAAA&gt;&lt;td&gt;&lt;b&gt;Item No.&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Name&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Item Price&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;Sample&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;") <br />
While dr.Read() <br />
<br />
Response.Write("&lt;tr&gt;&lt;td&gt;&lt;b&gt;" + dr.GetInt64(0).ToString() + "&lt;/b&gt;&lt;/td&gt;") <br />
Response.Write("&lt;td&gt;" + dr.GetString(1) + "&lt;/td&gt;") <br />
Response.Write("&lt;td&gt;" + dr.GetInt64(2).ToString() + "&lt;/td&gt;") <br />
Response.Write("&lt;td&gt;&lt;img src='images/" + dr.GetString(3) + "'&gt;&lt;/td&gt;&lt;/tr&gt;") <br />
End While <br />
Response.Write("&lt;/table&gt;&lt;/center&gt;")</code></div></div>والناتج سيكون بالشكل التالي مثلاً :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_11350242133.jpg" loading="lazy"  alt="[صورة مرفقة: 18_11350242133.jpg]" class="mycode_img" /></div>
<br />
*** هذه هي نفس الطريقة التي كنا نطبقها في عالم ASP CLassic ، الآن سنتعرف على بعض التسهيلات التي تتيحها لنا ال .net ...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس السادس والسبعون - ASP.net - الجزء الثالث]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5674</link>
			<pubDate>Sun, 14 Oct 2012 19:08:25 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5674</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
<span style="color: red;" class="mycode_color">State Management :</span><br />
<br />
لعلك ومن خلال تجاربك في تطوير Stand alone Application تدرك انك وقت تعريفك لمتغير ما فسيظل هذا المتغير محتفظاً بقيمته حتى انهاء البرنامج أو الخروج خارج ال Scope الخاص بهذا المتغير ، إلا أن هذا الوضع مختلف تماماً في ASP.net حيث ستضيع قيم المتغيرات مع أول تعديل ، لذا كان من اللازم عليك أن تقوم بتخزين متغيراتك وقيم بحيث يمكنك استرجاعها ، وهو ما سنتعرف على بعض تقنياته في هذا الدرس .<br />
<br />
يمكنك تخزين القيم بواحدة من ستة طرق اساسية :<br />
<br />
<span style="color: darkred;" class="mycode_color">- View state .<br />
- Control state .<br />
- Application-Level Variables<br />
- Cache .<br />
- Session .<br />
- Cookies .</span><br />
<br />
وسنتعرف عليها خلال هذا الدرس إن شاء الله .]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
<span style="color: red;" class="mycode_color">State Management :</span><br />
<br />
لعلك ومن خلال تجاربك في تطوير Stand alone Application تدرك انك وقت تعريفك لمتغير ما فسيظل هذا المتغير محتفظاً بقيمته حتى انهاء البرنامج أو الخروج خارج ال Scope الخاص بهذا المتغير ، إلا أن هذا الوضع مختلف تماماً في ASP.net حيث ستضيع قيم المتغيرات مع أول تعديل ، لذا كان من اللازم عليك أن تقوم بتخزين متغيراتك وقيم بحيث يمكنك استرجاعها ، وهو ما سنتعرف على بعض تقنياته في هذا الدرس .<br />
<br />
يمكنك تخزين القيم بواحدة من ستة طرق اساسية :<br />
<br />
<span style="color: darkred;" class="mycode_color">- View state .<br />
- Control state .<br />
- Application-Level Variables<br />
- Cache .<br />
- Session .<br />
- Cookies .</span><br />
<br />
وسنتعرف عليها خلال هذا الدرس إن شاء الله .]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الخامس والسبعون - ASP.net - الجزء الثاني]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5673</link>
			<pubDate>Sun, 14 Oct 2012 19:00:43 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5673</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: darkgreen;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">نعود اليوم لنواصل سلسلة دروسنا مع ASP.net ، موعدنا في درس اليوم مع أدوات ASP.net .</span><br />
<span style="font-size: 3pt;" class="mycode_size">كما لاحظنا سابقا، فإن تعريف أي اداة من أدوات ASP.net يتم من خلال HTML مكتوب في *.aspx ، وفيما عدا ذلك فهي شديدة الشبه بالأدوات العادية في تطبيقاتنا من ناحية المظهر وتعاملك معها كمبرمج ، إلا انها تختلف في الأداء وما وراء الكود بشكل قطعي .<br />
وكذا الأمر بالنسبة للأحداث ايضاً والتي تم عمل ضغط لها لتتناسب مع عالم الويب ، ومع اي Event يتم نقل البيانات إلى السيرفر مباشرة .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">خاصية AutoPostBack :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">تتيح لك هذه الخاصية النقل إلى السيرفر مباشرة مع اي تحديث فيها ، تجد هذه الخاصية في مربعات النص Text Box وادوات الاختيار والتحديد Check Box &amp; Radio Buttons والقوائم بانواعها List Box و Combo Box ، والقيمة الافتراضية لها هي false .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">الخصائص الأساسية لأدوات الويب .<br />
</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">تشتق جميع أدوات الويب من الفئة System.Web.UI.Control والتي نجد لها الخصائص والدوال التالية :</span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: darkred;" class="mycode_color">Controls : تعيد جميع الأدوات الأبناء لهذه الأداة .<br />
HasControls() : تعيد قيمة منطقية بوجود أو عدم وجود أدوات داخل هذه الأداة .<br />
ID : الاسم الموحد لكل اداة - لا يمكن تكراره - .<br />
Page : تعود بمتغير على الصفحة التي تحتوي هذه الاداة .<br />
Parent : الأداة الحاضنة لهذه الأداة .<br />
Visible : ظهور او اختفاء هذه الاداة .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">كما تقدم الفئة System.Web.UI.WebControls.WebControl للأدوات المشتقة منها بعض الخصائص المتعلقة بالمظهر والعرض ، منها :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: darkred;" class="mycode_color">BackColor : لون الخلفية .<br />
BorderColor : لون الحدود .<br />
BorderStyle : ستايل الحدود .<br />
BorderWidth : عرض الحدود .<br />
Enabled : تفعيل او عدم تفعيل الأداة .<br />
CssClass : ال class الخاص بال styles لهذه الأداة .<br />
Font : معلومات الخط من الحجم والاسم وخلافه لهذه الاداة .<br />
ForeColor : لون خط الأداة .<br />
Height, Width : العرض والارتفاع .<br />
TabIndex : موقعها من التنقل باستخدام Tab .<br />
ToolTip : في حالة وجود Tips للاداة .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">مثال : استعراض اسماء جميع الأدوات في الفورم :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">باستخدام ال Collection الناتج عن الخاصيةControls اضافة للدالة HasControls() لمعرفة وجود أدوات من عدمه ، يمكنك كتابة الكود التالي :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]string Information="";[/SIZE]<br />
[SIZE=3]if(myPanel.HasControls())<br />
{[/SIZE]<br />
[SIZE=3]foreach (Control c in PanelName.Controls)<br />
{<br />
if (!object.ReferenceEquals(c.GetType(),typeof(System.Web.UI.LiteralControl)))<br />
{<br />
Information+= string.Format("Control Name: {0} &lt;br/&gt;", c.ToString());<br />
Information+= string.Format("ID: {0} &lt;br/&gt;", c.ID);<br />
Information+= string.Format("Control Visible: {0} &lt;br/&gt;", c.Visible);<br />
Information+= string.Format("ViewState: {0} &lt;br/&gt;", c.EnableViewState);<br />
Information+= "&lt;br/&gt;&lt;hr/&gt;&lt;br/&gt;";<br />
Response.Wite(Information);<br />
}[/SIZE]<br />
[SIZE=3]}<br />
}[/SIZE]</code></div></div><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim Information As String = "" [/SIZE]<br />
[SIZE=3]If myPanel.HasControls() Then <br />
<br />
For Each c As Control In PanelName.Controls <br />
If Not Object.ReferenceEquals(c.[GetType](), GetType(System.Web.UI.LiteralControl)) Then <br />
Information += String.Format("Control Name: {0} &lt;br/&gt;", c.ToString()) <br />
Information += String.Format("ID: {0} &lt;br/&gt;", c.ID) <br />
Information += String.Format("Control Visible: {0} &lt;br/&gt;", c.Visible) <br />
Information += String.Format("ViewState: {0} &lt;br/&gt;", c.EnableViewState) <br />
Information += "&lt;br/&gt;&lt;hr/&gt;&lt;br/&gt;" <br />
Response.Wite(Information) <br />
<br />
End If <br />
Next <br />
End If [/SIZE]</code></div></div><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">مثال : انشاء أدوات وقت التصميم :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>TextBox t1 = new TextBox();<br />
t1.ID = string.Format("dynamict1");<br />
myPanel.Controls.Add(t1);</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim t1 As New TextBox() <br />
t1.ID = String.Format("dynamict1") <br />
myPanel.Controls.Add(t1) [/SIZE]</code></div></div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: darkgreen;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">نعود اليوم لنواصل سلسلة دروسنا مع ASP.net ، موعدنا في درس اليوم مع أدوات ASP.net .</span><br />
<span style="font-size: 3pt;" class="mycode_size">كما لاحظنا سابقا، فإن تعريف أي اداة من أدوات ASP.net يتم من خلال HTML مكتوب في *.aspx ، وفيما عدا ذلك فهي شديدة الشبه بالأدوات العادية في تطبيقاتنا من ناحية المظهر وتعاملك معها كمبرمج ، إلا انها تختلف في الأداء وما وراء الكود بشكل قطعي .<br />
وكذا الأمر بالنسبة للأحداث ايضاً والتي تم عمل ضغط لها لتتناسب مع عالم الويب ، ومع اي Event يتم نقل البيانات إلى السيرفر مباشرة .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">خاصية AutoPostBack :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">تتيح لك هذه الخاصية النقل إلى السيرفر مباشرة مع اي تحديث فيها ، تجد هذه الخاصية في مربعات النص Text Box وادوات الاختيار والتحديد Check Box &amp; Radio Buttons والقوائم بانواعها List Box و Combo Box ، والقيمة الافتراضية لها هي false .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">الخصائص الأساسية لأدوات الويب .<br />
</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">تشتق جميع أدوات الويب من الفئة System.Web.UI.Control والتي نجد لها الخصائص والدوال التالية :</span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: darkred;" class="mycode_color">Controls : تعيد جميع الأدوات الأبناء لهذه الأداة .<br />
HasControls() : تعيد قيمة منطقية بوجود أو عدم وجود أدوات داخل هذه الأداة .<br />
ID : الاسم الموحد لكل اداة - لا يمكن تكراره - .<br />
Page : تعود بمتغير على الصفحة التي تحتوي هذه الاداة .<br />
Parent : الأداة الحاضنة لهذه الأداة .<br />
Visible : ظهور او اختفاء هذه الاداة .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">كما تقدم الفئة System.Web.UI.WebControls.WebControl للأدوات المشتقة منها بعض الخصائص المتعلقة بالمظهر والعرض ، منها :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: darkred;" class="mycode_color">BackColor : لون الخلفية .<br />
BorderColor : لون الحدود .<br />
BorderStyle : ستايل الحدود .<br />
BorderWidth : عرض الحدود .<br />
Enabled : تفعيل او عدم تفعيل الأداة .<br />
CssClass : ال class الخاص بال styles لهذه الأداة .<br />
Font : معلومات الخط من الحجم والاسم وخلافه لهذه الاداة .<br />
ForeColor : لون خط الأداة .<br />
Height, Width : العرض والارتفاع .<br />
TabIndex : موقعها من التنقل باستخدام Tab .<br />
ToolTip : في حالة وجود Tips للاداة .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">مثال : استعراض اسماء جميع الأدوات في الفورم :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">باستخدام ال Collection الناتج عن الخاصيةControls اضافة للدالة HasControls() لمعرفة وجود أدوات من عدمه ، يمكنك كتابة الكود التالي :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]string Information="";[/SIZE]<br />
[SIZE=3]if(myPanel.HasControls())<br />
{[/SIZE]<br />
[SIZE=3]foreach (Control c in PanelName.Controls)<br />
{<br />
if (!object.ReferenceEquals(c.GetType(),typeof(System.Web.UI.LiteralControl)))<br />
{<br />
Information+= string.Format("Control Name: {0} &lt;br/&gt;", c.ToString());<br />
Information+= string.Format("ID: {0} &lt;br/&gt;", c.ID);<br />
Information+= string.Format("Control Visible: {0} &lt;br/&gt;", c.Visible);<br />
Information+= string.Format("ViewState: {0} &lt;br/&gt;", c.EnableViewState);<br />
Information+= "&lt;br/&gt;&lt;hr/&gt;&lt;br/&gt;";<br />
Response.Wite(Information);<br />
}[/SIZE]<br />
[SIZE=3]}<br />
}[/SIZE]</code></div></div><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim Information As String = "" [/SIZE]<br />
[SIZE=3]If myPanel.HasControls() Then <br />
<br />
For Each c As Control In PanelName.Controls <br />
If Not Object.ReferenceEquals(c.[GetType](), GetType(System.Web.UI.LiteralControl)) Then <br />
Information += String.Format("Control Name: {0} &lt;br/&gt;", c.ToString()) <br />
Information += String.Format("ID: {0} &lt;br/&gt;", c.ID) <br />
Information += String.Format("Control Visible: {0} &lt;br/&gt;", c.Visible) <br />
Information += String.Format("ViewState: {0} &lt;br/&gt;", c.EnableViewState) <br />
Information += "&lt;br/&gt;&lt;hr/&gt;&lt;br/&gt;" <br />
Response.Wite(Information) <br />
<br />
End If <br />
Next <br />
End If [/SIZE]</code></div></div><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">مثال : انشاء أدوات وقت التصميم :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>TextBox t1 = new TextBox();<br />
t1.ID = string.Format("dynamict1");<br />
myPanel.Controls.Add(t1);</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim t1 As New TextBox() <br />
t1.ID = String.Format("dynamict1") <br />
myPanel.Controls.Add(t1) [/SIZE]</code></div></div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الرابع والسبعون - ASP.net]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5672</link>
			<pubDate>Sun, 14 Oct 2012 18:46:10 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5672</guid>
			<description><![CDATA[<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">في درسنا السابق جربنا التعامل مع Visual Studio وعمل صفحات ويب غير تفاعليه ، في هذا الدرس سنجرب تجربتنا الأولى مع المواقع التفاعلية .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">تجربة ASP.net :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">قم بفتح الأدوات Standerd ، قم برسم مربع نص TextBox واداة عنوان Label وزر أمر Button ، في زر الأمر قم بكتابة الكود التالي :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Label1.Text= TextBox1.Text;</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Label1.Text= TextBox1.Text</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">وجرب ... في الواقع لقد قمت بعمل اول صفحة ASP.net لك .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">ماذا حدث فعلياً ؟</span><br />
لو فتحت صفحة ال HTML ستجد أن لديك كود HTML عادي يحتوي على فورم ، في الواقع فإن ما تم هو حدوث Submit إلى السيرفر حيث قام بارسال بيانات الفورم كاملة إلى السيرفر ، وهناك على السيرفر تمت معالجة البيانات وتم اعادة الصفحة التي تحتوي على Label يحتوي على المحتوى Ahmed او اياً كان محتوى مربع النص قبل الارسال ، لو جربت مشاهدة الكود HTML الخاص بالصفحة الناتجة ستجد الجزء التالي من الكود :</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;p&gt;[/color]<br />
[color=#000080]&lt;span id=[COLOR=#0000ff]"Label1"[/color]&gt;[/COLOR]Ahmed[color=#000080]&lt;/span&gt;[/color]<br />
[color=#000080]&lt;/p&gt;[/color]<br />
[color=#000080]&lt;p&gt;[/color]<br />
[color=#ff8000]&lt;input name=[COLOR=#0000ff]"TextBox1"[/color] type=[color=#0000ff]"text"[/color] value=[color=#0000ff]"Ahmed"[/color] id=[color=#0000ff]"TextBox1"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/p&gt;[/color]<br />
[color=#000080]&lt;p&gt;[/color]<br />
[color=#ff8000]&lt;input type=[COLOR=#0000ff]"submit"[/color] name=[color=#0000ff]"Button1"[/color] value=[color=#0000ff]"Button"[/color] id=[color=#0000ff]"Button1"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/p&gt;[/color]</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">كما ذكرنا ، تمت معالجة البيانات ، وتم اعادة الناتج إلى Label1 ، اما الاكواد وخلافه فهي في السيرفر فقط .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">انواع ارسال البيانات .</span><br />
في أي Form هناك طريقتين لارسال البيانات هي POST و GET ، في الطريقة الأولى وهي الافتراضية يتم ارسال بيانات ال Form مباشرة ، اما في GET فيتم ارسالها في عنوان المتصفح ، جرب تعديل الفورم الخاص بنا ليصبح بالشكل التالي :</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#ff8000]&lt;form id=[COLOR=#0000ff]"form1"[/color] runat=[color=#0000ff]"server"[/color] method=[color=#0000ff]"get"[/color]&gt;[/COLOR]</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">قم بتجربة الموقع مرة أخرى ، لاحظ الصورة التالية :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: 3pt;" class="mycode_size"><img src="https://vb4arb.com/vb/uploaded/18_01350240325.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350240325.jpg]" class="mycode_img" /></span></div>
<br />
<span style="font-size: 3pt;" class="mycode_size">كما ترى ، يتم ارسال كافة محتويات الفورم في العنوان ، طبعاً معظم المتصفحات تضع حدوداً على طول الفورم أما في حالة POST فليست هناك اي قيود .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">لكل واحدة منهم طريقة قراءة فيما لو اردت قراءتها منفصلة بالكود ، وهو ما قد نتعرف عليه في مرات قادمة إن شاء الله تعالى .</span>]]></description>
			<content:encoded><![CDATA[<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">في درسنا السابق جربنا التعامل مع Visual Studio وعمل صفحات ويب غير تفاعليه ، في هذا الدرس سنجرب تجربتنا الأولى مع المواقع التفاعلية .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">تجربة ASP.net :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">قم بفتح الأدوات Standerd ، قم برسم مربع نص TextBox واداة عنوان Label وزر أمر Button ، في زر الأمر قم بكتابة الكود التالي :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Label1.Text= TextBox1.Text;</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Label1.Text= TextBox1.Text</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">وجرب ... في الواقع لقد قمت بعمل اول صفحة ASP.net لك .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">ماذا حدث فعلياً ؟</span><br />
لو فتحت صفحة ال HTML ستجد أن لديك كود HTML عادي يحتوي على فورم ، في الواقع فإن ما تم هو حدوث Submit إلى السيرفر حيث قام بارسال بيانات الفورم كاملة إلى السيرفر ، وهناك على السيرفر تمت معالجة البيانات وتم اعادة الصفحة التي تحتوي على Label يحتوي على المحتوى Ahmed او اياً كان محتوى مربع النص قبل الارسال ، لو جربت مشاهدة الكود HTML الخاص بالصفحة الناتجة ستجد الجزء التالي من الكود :</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#000080]&lt;p&gt;[/color]<br />
[color=#000080]&lt;span id=[COLOR=#0000ff]"Label1"[/color]&gt;[/COLOR]Ahmed[color=#000080]&lt;/span&gt;[/color]<br />
[color=#000080]&lt;/p&gt;[/color]<br />
[color=#000080]&lt;p&gt;[/color]<br />
[color=#ff8000]&lt;input name=[COLOR=#0000ff]"TextBox1"[/color] type=[color=#0000ff]"text"[/color] value=[color=#0000ff]"Ahmed"[/color] id=[color=#0000ff]"TextBox1"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/p&gt;[/color]<br />
[color=#000080]&lt;p&gt;[/color]<br />
[color=#ff8000]&lt;input type=[COLOR=#0000ff]"submit"[/color] name=[color=#0000ff]"Button1"[/color] value=[color=#0000ff]"Button"[/color] id=[color=#0000ff]"Button1"[/color] /&gt;[/COLOR]<br />
[color=#000080]&lt;/p&gt;[/color]</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">كما ذكرنا ، تمت معالجة البيانات ، وتم اعادة الناتج إلى Label1 ، اما الاكواد وخلافه فهي في السيرفر فقط .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">انواع ارسال البيانات .</span><br />
في أي Form هناك طريقتين لارسال البيانات هي POST و GET ، في الطريقة الأولى وهي الافتراضية يتم ارسال بيانات ال Form مباشرة ، اما في GET فيتم ارسالها في عنوان المتصفح ، جرب تعديل الفورم الخاص بنا ليصبح بالشكل التالي :</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[color=#ff8000]&lt;form id=[COLOR=#0000ff]"form1"[/color] runat=[color=#0000ff]"server"[/color] method=[color=#0000ff]"get"[/color]&gt;[/COLOR]</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">قم بتجربة الموقع مرة أخرى ، لاحظ الصورة التالية :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: 3pt;" class="mycode_size"><img src="https://vb4arb.com/vb/uploaded/18_01350240325.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350240325.jpg]" class="mycode_img" /></span></div>
<br />
<span style="font-size: 3pt;" class="mycode_size">كما ترى ، يتم ارسال كافة محتويات الفورم في العنوان ، طبعاً معظم المتصفحات تضع حدوداً على طول الفورم أما في حالة POST فليست هناك اي قيود .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">لكل واحدة منهم طريقة قراءة فيما لو اردت قراءتها منفصلة بالكود ، وهو ما قد نتعرف عليه في مرات قادمة إن شاء الله تعالى .</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الثالث والسبعون - مقدمة إلى تطوير المواقع]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5671</link>
			<pubDate>Sun, 14 Oct 2012 18:38:13 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5671</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">الآن نبدا في مجموعة من الدروس عن موضوعنا الاخير لهذه السلسلة ، وهو الموضوع الخاص بتطوير مواقع الإنترنت باستخدام ASP.net .</span><br />
<span style="font-size: 3pt;" class="mycode_size">فيما مضى من الدروس ، كنا نتحدث في عالم ال Console وال Desktop Applications ، وخلال هذه المراحل كنا نعتمد على وجود جهاز واحد للتنفيذ ، وحتى في حالة وجود شبكة فقد كان الوضع يعتمد على عمليات ارسال واستقبال بيانات بين الجهازين او المشاركة في المصادر او الاتصال ب web service كما رأينا ، اما مع عالم ال ASP.net او عالم ال server side languages عموماً فالوضع مختلف نسبياً ، ولذا قبل البداية نحب ان نتعرف على انواع مواقع الإنترنت :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">- مواقع ثابتة : هذه المواقع عبارة عن مجموعة من التوصيفات باستخدام HTML ، يمكن استخدام صور وفلاشات وخلافه ولكن لا يوجد اي نوع من انواع المعالجة في هذا الموقع .<br />
- موقع ديناميكية عند العميل : هذا النوع من المواقع يتمتع ببعض انواع المعالجة ولكنها تظل في جانب العميل فقط ، يتم في هذه المواقع استخدام Scripts مثل Java و VBScript ، لكن الصفحة التي تراها امامك تعمل عندك انت فقط .<br />
- مواقع دينامكية : هذا النوع يتم عمل معالجة لبياناته في السيرفر وتحصل انت فقط على الناتج الذي يمكن ان يكون من النوع الأول والثاني ، في هذه الحالة يسمى تطبيق انترنت وليس موقع انترنت .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">مثال :<br />
</span>صفحة بريدك الالكتروني التي تراها امامك هي صفحة من النوع الثاني حيث تحتوي على بعض اوامر الجافا سكريبت اضافة لبعض الجداول والحقول وخلافه من HTML ، لكن في الواقع فإن تشكيل هذه الصفحة بهذه الصيغة جاء عن طريق بعض عمليات السيرفر التي قامت بقراءة بعض قواعد البيانات وشكلت لك الجداول التي تحتوي على البريد الوارد لك وخلافه .<br />
لذا في هذه الصفحة انت غير قادر على رؤية اكواد اللغة التي تمت برمجة السيرفر بها ، ولكنك تستطيع مشاهدة النتائج فقط حيث ان عمليات المعالجة تتم على السيرفر فقط .<br />
</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">الآن نبدا في مجموعة من الدروس عن موضوعنا الاخير لهذه السلسلة ، وهو الموضوع الخاص بتطوير مواقع الإنترنت باستخدام ASP.net .</span><br />
<span style="font-size: 3pt;" class="mycode_size">فيما مضى من الدروس ، كنا نتحدث في عالم ال Console وال Desktop Applications ، وخلال هذه المراحل كنا نعتمد على وجود جهاز واحد للتنفيذ ، وحتى في حالة وجود شبكة فقد كان الوضع يعتمد على عمليات ارسال واستقبال بيانات بين الجهازين او المشاركة في المصادر او الاتصال ب web service كما رأينا ، اما مع عالم ال ASP.net او عالم ال server side languages عموماً فالوضع مختلف نسبياً ، ولذا قبل البداية نحب ان نتعرف على انواع مواقع الإنترنت :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">- مواقع ثابتة : هذه المواقع عبارة عن مجموعة من التوصيفات باستخدام HTML ، يمكن استخدام صور وفلاشات وخلافه ولكن لا يوجد اي نوع من انواع المعالجة في هذا الموقع .<br />
- موقع ديناميكية عند العميل : هذا النوع من المواقع يتمتع ببعض انواع المعالجة ولكنها تظل في جانب العميل فقط ، يتم في هذه المواقع استخدام Scripts مثل Java و VBScript ، لكن الصفحة التي تراها امامك تعمل عندك انت فقط .<br />
- مواقع دينامكية : هذا النوع يتم عمل معالجة لبياناته في السيرفر وتحصل انت فقط على الناتج الذي يمكن ان يكون من النوع الأول والثاني ، في هذه الحالة يسمى تطبيق انترنت وليس موقع انترنت .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">مثال :<br />
</span>صفحة بريدك الالكتروني التي تراها امامك هي صفحة من النوع الثاني حيث تحتوي على بعض اوامر الجافا سكريبت اضافة لبعض الجداول والحقول وخلافه من HTML ، لكن في الواقع فإن تشكيل هذه الصفحة بهذه الصيغة جاء عن طريق بعض عمليات السيرفر التي قامت بقراءة بعض قواعد البيانات وشكلت لك الجداول التي تحتوي على البريد الوارد لك وخلافه .<br />
لذا في هذه الصفحة انت غير قادر على رؤية اكواد اللغة التي تمت برمجة السيرفر بها ، ولكنك تستطيع مشاهدة النتائج فقط حيث ان عمليات المعالجة تتم على السيرفر فقط .<br />
</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الثاني والسبعون - مقدمة إلى Mono]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5670</link>
			<pubDate>Sun, 14 Oct 2012 18:37:07 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5670</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
الموضوع الثاني الذي سنتحدث عنه قبل دخول عالم ASP.net هو موضوع تشغيل برنامجك على نظم التشغيل المختلفة ، في عالم الجافا تعتمد على VM والذي يجعلها قابلة للعمل على اي مكان عليه VM حتى لو كان ثلاجة او فرن مايكرويف ، في المقابل يسبب هذا الموضوع بعض البطء في تنفيذ الجافا ولكنه على كل حال من أهم مميزات الجافا .<br />
<br />
وفي العالم المقابل عالم Microsoft كانت منتجات Visual Basic و C# أو MFC غير قابلة للعمل سوى على نظم التشغيل من مايكروسوفت .<br />
<br />
ولكن مع الوقت تم تقدم طرق وأدوات لتسمح لبرامجك بالعمل على نظم تشغيل متعددة ، أشهرها هو Mono وهو موضوع درسنا الحالي .<br />
<br />
في الواقع حتى اللحظة لم أجد مصدر يفيد بأن Mono اصبحت متوافقة مع .net 2008 ، ولكنها متوافقة مع .net 2.0 سواء على شكل ASP.net أو برامج تطبيقية أو قواعد بيانات وخلافه ، وبرغم ذلك وجدت عدة روابط للمحاولات الحالية للتوافق تفيد بوصولهم إلى تطبيق أغلب نقاطها - ليس كلها - ، على كل يمكنك الدخول على هذا الرابط لمتابعة الاخبار :<br />
<a href="http://www.mono-project.com/plans" target="_blank" rel="noopener" class="mycode_url">http://www.mono-project.com/plans</a><br />
<br />
من الموقع السابق قم بعمل Download لل Mono ، وخلال مراحل التحميل قم باختيار التقنيات التي ترغب ل Mono بالعمل معها .<br />
المرحلة الثانية هي بتشغيل ال Command Line الخاص بال Mono والذي ستجده في قائمة البرامج ، ستجد من ضمن الأدوات المتاحة لك الأدوات التالية :<br />
<br />
mcs/gmcs: كومبايلر للسي شارب<br />
vbnc: كومبايلر للفيجوال بيسك<br />
ilasm/ilasm2: كومبايلر لل CIL<br />
<br />
كل واحدة منهم - السي شارب كمثال - يتم التعامل معها كما قمنا بالتعامل سابقاً مع ال Visual Studio Command Line سابقاً ، الفارق الوحيد بين gmcs و mcs هو أن gmcs يدعم التقنيات الجديدة الموجودة مع عالم .net 2.0 .<br />
<br />
لنفترض ملف باسم sample.cs يحتوي على كود C# عادي جداً ، قم بفتح ال Command Line الخاص ب Mono ثم اكتب الأمر التالي :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>gmcs /target:library /out:Sample.dll Sample.cs</code></div></div>وفقط !<br />
<br />
الآن اصبحت لديك مكتبة قابلة للعمل على اي نظام تشغيل ، يمكنك عمل build ك exe ايضاً وتشغيلها عبر mono في لينكس مثلاً ...<br />
<br />
<span style="color: green;" class="mycode_color">والله الموفق ...<br />
والسلام عليكم ورحمة الله وبركاته .<br />
</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
الموضوع الثاني الذي سنتحدث عنه قبل دخول عالم ASP.net هو موضوع تشغيل برنامجك على نظم التشغيل المختلفة ، في عالم الجافا تعتمد على VM والذي يجعلها قابلة للعمل على اي مكان عليه VM حتى لو كان ثلاجة او فرن مايكرويف ، في المقابل يسبب هذا الموضوع بعض البطء في تنفيذ الجافا ولكنه على كل حال من أهم مميزات الجافا .<br />
<br />
وفي العالم المقابل عالم Microsoft كانت منتجات Visual Basic و C# أو MFC غير قابلة للعمل سوى على نظم التشغيل من مايكروسوفت .<br />
<br />
ولكن مع الوقت تم تقدم طرق وأدوات لتسمح لبرامجك بالعمل على نظم تشغيل متعددة ، أشهرها هو Mono وهو موضوع درسنا الحالي .<br />
<br />
في الواقع حتى اللحظة لم أجد مصدر يفيد بأن Mono اصبحت متوافقة مع .net 2008 ، ولكنها متوافقة مع .net 2.0 سواء على شكل ASP.net أو برامج تطبيقية أو قواعد بيانات وخلافه ، وبرغم ذلك وجدت عدة روابط للمحاولات الحالية للتوافق تفيد بوصولهم إلى تطبيق أغلب نقاطها - ليس كلها - ، على كل يمكنك الدخول على هذا الرابط لمتابعة الاخبار :<br />
<a href="http://www.mono-project.com/plans" target="_blank" rel="noopener" class="mycode_url">http://www.mono-project.com/plans</a><br />
<br />
من الموقع السابق قم بعمل Download لل Mono ، وخلال مراحل التحميل قم باختيار التقنيات التي ترغب ل Mono بالعمل معها .<br />
المرحلة الثانية هي بتشغيل ال Command Line الخاص بال Mono والذي ستجده في قائمة البرامج ، ستجد من ضمن الأدوات المتاحة لك الأدوات التالية :<br />
<br />
mcs/gmcs: كومبايلر للسي شارب<br />
vbnc: كومبايلر للفيجوال بيسك<br />
ilasm/ilasm2: كومبايلر لل CIL<br />
<br />
كل واحدة منهم - السي شارب كمثال - يتم التعامل معها كما قمنا بالتعامل سابقاً مع ال Visual Studio Command Line سابقاً ، الفارق الوحيد بين gmcs و mcs هو أن gmcs يدعم التقنيات الجديدة الموجودة مع عالم .net 2.0 .<br />
<br />
لنفترض ملف باسم sample.cs يحتوي على كود C# عادي جداً ، قم بفتح ال Command Line الخاص ب Mono ثم اكتب الأمر التالي :<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>gmcs /target:library /out:Sample.dll Sample.cs</code></div></div>وفقط !<br />
<br />
الآن اصبحت لديك مكتبة قابلة للعمل على اي نظام تشغيل ، يمكنك عمل build ك exe ايضاً وتشغيلها عبر mono في لينكس مثلاً ...<br />
<br />
<span style="color: green;" class="mycode_color">والله الموفق ...<br />
والسلام عليكم ورحمة الله وبركاته .<br />
</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الواحد والسبعون - XML Commenting]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5669</link>
			<pubDate>Sun, 14 Oct 2012 18:33:51 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5669</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
بما أن دروسنا في مجال التطبيقات العامة تقريباً انتهى ، وقبل البدء في عالم ASP.net سنراجع على عدة دروس سريعة ، درسنا اليوم حول ما يعرف باسم XML Commenting .<br />
<br />
بالواقع فإن عمل Comments للأكواد يعد أمراً في غاية الأهمية خصوصاً في حالة المشاريع الكبيرة ، حيث تستطيع مراقبة كودك كما يستطيع اي شخص آخر بقليل من الجهد معرفة كودك والاكمال عليه حتى ولو بعد توقفك عن العمل في نفس الكود بفترة طويلة جداً .<br />
<br />
وكما عرفنا في بدايات هذه الدروس ، يتم عمل ال Comment بالشكل التالي :<br />
<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>// here we will do something, set x=startvalue<br />
x = FirstClass.Default();</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>' here we will do something, set x=startvalue<br />
x = FirstClass.Default()</code></div></div>الآن سنتعرف على طريقة جديدة ، تمكننا من كتابة ال Comments بأسلوب XML بما يوفر لنا عدة مزايا سنتعرف عليها خلال الدرس .<br />
<br />
<span style="color: red;" class="mycode_color">*** من اوائل اللغات التي طبقت هذه الطريقة كانت Java من خلال javadoc .</span><br />
<br />
يتم ذلك بداية من خلال وضع /// ، بعد وضع هذه العلامة تستطيع وضع أي علامات خاصة بك للكود والذي سيتم التعامل مع لاحقاً على أن XML ما دام يطبق مبادئ XML ، هناك مجموعة من العناصر القياسية التي يفضل استخدامها لتوحيد المفاهيم .<br />
<br />
<span style="color: navy;" class="mycode_color">&lt;c&gt; : لتحديد ان اللاحق لا بد أن يعرض بخط مختلف <br />
&lt;code&gt; : لتحديد ان اتعدد الاسطر سيتم التعامل مع ككود<br />
&lt;example&gt; : تحديد مثال لشرح الكود المكتوب<br />
&lt;exception&gt; : الملف الذي يحتوي على الاستثناءات والأخطاء التي يمكن ان تنتج عن هذا الكود أو الفئة<br />
&lt;list&gt; : ادراج قائمة جداول داخل ال Documentation<br />
&lt;param&gt; لشرح بارميتر معين<br />
&lt;permission&gt; وصف وسائل الحماية لجزء معين<br />
&lt;remarks&gt; خيارات ال Build<br />
&lt;returns&gt; وصف ناتج الدالة return;<br />
&lt;see&gt; رابط آخر لجزء آخر من ال Documentation<br />
&lt;seealso&gt; مثل السابق ، ولكن (انظر ايضاً)<br />
&lt;summary&gt; وصف اجمالي للجزء المشروح<br />
&lt;value&gt; لوصف خاصية معينة</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
بما أن دروسنا في مجال التطبيقات العامة تقريباً انتهى ، وقبل البدء في عالم ASP.net سنراجع على عدة دروس سريعة ، درسنا اليوم حول ما يعرف باسم XML Commenting .<br />
<br />
بالواقع فإن عمل Comments للأكواد يعد أمراً في غاية الأهمية خصوصاً في حالة المشاريع الكبيرة ، حيث تستطيع مراقبة كودك كما يستطيع اي شخص آخر بقليل من الجهد معرفة كودك والاكمال عليه حتى ولو بعد توقفك عن العمل في نفس الكود بفترة طويلة جداً .<br />
<br />
وكما عرفنا في بدايات هذه الدروس ، يتم عمل ال Comment بالشكل التالي :<br />
<br />
C#:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>// here we will do something, set x=startvalue<br />
x = FirstClass.Default();</code></div></div>vb.net:<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>' here we will do something, set x=startvalue<br />
x = FirstClass.Default()</code></div></div>الآن سنتعرف على طريقة جديدة ، تمكننا من كتابة ال Comments بأسلوب XML بما يوفر لنا عدة مزايا سنتعرف عليها خلال الدرس .<br />
<br />
<span style="color: red;" class="mycode_color">*** من اوائل اللغات التي طبقت هذه الطريقة كانت Java من خلال javadoc .</span><br />
<br />
يتم ذلك بداية من خلال وضع /// ، بعد وضع هذه العلامة تستطيع وضع أي علامات خاصة بك للكود والذي سيتم التعامل مع لاحقاً على أن XML ما دام يطبق مبادئ XML ، هناك مجموعة من العناصر القياسية التي يفضل استخدامها لتوحيد المفاهيم .<br />
<br />
<span style="color: navy;" class="mycode_color">&lt;c&gt; : لتحديد ان اللاحق لا بد أن يعرض بخط مختلف <br />
&lt;code&gt; : لتحديد ان اتعدد الاسطر سيتم التعامل مع ككود<br />
&lt;example&gt; : تحديد مثال لشرح الكود المكتوب<br />
&lt;exception&gt; : الملف الذي يحتوي على الاستثناءات والأخطاء التي يمكن ان تنتج عن هذا الكود أو الفئة<br />
&lt;list&gt; : ادراج قائمة جداول داخل ال Documentation<br />
&lt;param&gt; لشرح بارميتر معين<br />
&lt;permission&gt; وصف وسائل الحماية لجزء معين<br />
&lt;remarks&gt; خيارات ال Build<br />
&lt;returns&gt; وصف ناتج الدالة return;<br />
&lt;see&gt; رابط آخر لجزء آخر من ال Documentation<br />
&lt;seealso&gt; مثل السابق ، ولكن (انظر ايضاً)<br />
&lt;summary&gt; وصف اجمالي للجزء المشروح<br />
&lt;value&gt; لوصف خاصية معينة</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس السبعون - مقدمة إلى wcf]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5668</link>
			<pubDate>Sun, 14 Oct 2012 18:22:52 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5668</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
واحدة من التقنيات الجديدة التي واكبت ظهور .NET 3.0 كانت تقنية Windows Communication Foundation والتي يرمز لها اختصاراً WCF ، وهي مجموعة من الدوال API's التي تختص بعالم الاتصال وال web services وال remote access وخلافه .<br />
<br />
النقطة التي نتحدث عنها وستكون شغلنا الشاغل هنا هو كيفية التخاطب بين برنامجين على جهازين x و y حتى في حالة x=y بحيث تسمح لنا هذه العملية بعمل التطبيقات على الشبكات والوصول للأجهزة عن بعد وبرامج المحادثة ونقل الملفات ... الخ من التطبيقات التي تميز عصر الإنترنت الحالي .<br />
<br />
هناك الكثير من التقنيات التي ظهرت لدعمك كمبرمج في تطوير برامج من هذه النوعية ، حيث وفرت لك مجموعة من الحلول لتسهيل التعامل مع ال API's الخاصة بعمليات الشبكات وخلافه ، مثل DCOM ، MSMQ ، ومع ظهور تقنية .net تم تقديم الفئة System.Runtime.Remoting الخاصة بمثل هذه العمليات ، هناك ايضاً تقنية XML Web Services ، تمكنك هذه التقنيات من تسهيل عمليات عمل نظم موزعة بصورة كبيرة جداً ، وإن كنت لا ترغب في العمل في هذا المستوى العام فيمكنك التخصيص زيادة والعثور على خيارات اكبر واوسع مقابل زيادة بسيطة في نسبة التعقيد عن طريق استخدام Named Pipes, Sockets, and P2P وهي الاشهر فعلياً بين مستخدمين ال .net على الأقل في وطننا العربي نظراً لعدم شهرة التقنيات السابقة - برغم انها توفر الكثير من الوقت فعلياً ، يمكنك البدء من الدرس السابق كمثال - .<br />
<br />
كانت هذه الحياة لك كمبرمج .net قبل عالم WCF ، في الدرس القادم سنبدأ بالتعرف على طبيعة هذه التقنية .<br />
<br />
<span style="color: green;" class="mycode_color">نواصل في وقت لاحق ...</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
واحدة من التقنيات الجديدة التي واكبت ظهور .NET 3.0 كانت تقنية Windows Communication Foundation والتي يرمز لها اختصاراً WCF ، وهي مجموعة من الدوال API's التي تختص بعالم الاتصال وال web services وال remote access وخلافه .<br />
<br />
النقطة التي نتحدث عنها وستكون شغلنا الشاغل هنا هو كيفية التخاطب بين برنامجين على جهازين x و y حتى في حالة x=y بحيث تسمح لنا هذه العملية بعمل التطبيقات على الشبكات والوصول للأجهزة عن بعد وبرامج المحادثة ونقل الملفات ... الخ من التطبيقات التي تميز عصر الإنترنت الحالي .<br />
<br />
هناك الكثير من التقنيات التي ظهرت لدعمك كمبرمج في تطوير برامج من هذه النوعية ، حيث وفرت لك مجموعة من الحلول لتسهيل التعامل مع ال API's الخاصة بعمليات الشبكات وخلافه ، مثل DCOM ، MSMQ ، ومع ظهور تقنية .net تم تقديم الفئة System.Runtime.Remoting الخاصة بمثل هذه العمليات ، هناك ايضاً تقنية XML Web Services ، تمكنك هذه التقنيات من تسهيل عمليات عمل نظم موزعة بصورة كبيرة جداً ، وإن كنت لا ترغب في العمل في هذا المستوى العام فيمكنك التخصيص زيادة والعثور على خيارات اكبر واوسع مقابل زيادة بسيطة في نسبة التعقيد عن طريق استخدام Named Pipes, Sockets, and P2P وهي الاشهر فعلياً بين مستخدمين ال .net على الأقل في وطننا العربي نظراً لعدم شهرة التقنيات السابقة - برغم انها توفر الكثير من الوقت فعلياً ، يمكنك البدء من الدرس السابق كمثال - .<br />
<br />
كانت هذه الحياة لك كمبرمج .net قبل عالم WCF ، في الدرس القادم سنبدأ بالتعرف على طبيعة هذه التقنية .<br />
<br />
<span style="color: green;" class="mycode_color">نواصل في وقت لاحق ...</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس التاسع والستون - Web Services]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5667</link>
			<pubDate>Sun, 14 Oct 2012 18:21:32 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5667</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .</span></span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">هذا موعدنا مع ال Web Service ، وبما اني قمت بشرحها في دروس سابقة لذا يمكنك القراءة من هذه الاجزاء الأربعة مباشرة :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">1- مقدمة إلى Web Services . <br />
<a href="https://vb4arb.com/vb/showthread.php?1629" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1629</a><br />
</span><span style="color: #22229c;" class="mycode_color"><br />
</span><span style="font-size: 3pt;" class="mycode_size">2- عمل Web Service خاصة بك من خلال .net - الجزء الثاني <br />
</span><a href="https://vb4arb.com/vb/showthread.php?1628" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1628</a><br />
<span style="color: #22229c;" class="mycode_color"><br />
</span><span style="font-size: 3pt;" class="mycode_size">3- استخدام WebService خاصة بك في مشروعاتك الفعلية - الجزء الثالث <br />
</span><a href="https://vb4arb.com/vb/showthread.php?1627" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1627</a><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">4- كيف تستخدم خدمات الإنترنت المنتشرة ضمن تطبيقاتك - الجزء الرابع والأخير<br />
</span><a href="https://vb4arb.com/vb/showthread.php?1626" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1626</a><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">والله الموفق ...</span></span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">والسلام عليكم ورحمة الله وبركاته .</span></span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .</span></span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">هذا موعدنا مع ال Web Service ، وبما اني قمت بشرحها في دروس سابقة لذا يمكنك القراءة من هذه الاجزاء الأربعة مباشرة :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">1- مقدمة إلى Web Services . <br />
<a href="https://vb4arb.com/vb/showthread.php?1629" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1629</a><br />
</span><span style="color: #22229c;" class="mycode_color"><br />
</span><span style="font-size: 3pt;" class="mycode_size">2- عمل Web Service خاصة بك من خلال .net - الجزء الثاني <br />
</span><a href="https://vb4arb.com/vb/showthread.php?1628" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1628</a><br />
<span style="color: #22229c;" class="mycode_color"><br />
</span><span style="font-size: 3pt;" class="mycode_size">3- استخدام WebService خاصة بك في مشروعاتك الفعلية - الجزء الثالث <br />
</span><a href="https://vb4arb.com/vb/showthread.php?1627" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1627</a><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">4- كيف تستخدم خدمات الإنترنت المنتشرة ضمن تطبيقاتك - الجزء الرابع والأخير<br />
</span><a href="https://vb4arb.com/vb/showthread.php?1626" target="_blank" rel="noopener" class="mycode_url">https://vb4arb.com/vb/showthread.php?1626</a><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">والله الموفق ...</span></span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">والسلام عليكم ورحمة الله وبركاته .</span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الثامن والستون - مقدمة إلى عالم wwf]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5666</link>
			<pubDate>Sun, 14 Oct 2012 18:12:18 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5666</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .</span><span style="color: green;" class="mycode_color"><br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
منذ الاصدار .net 3.0 تم اضافة ما يسمى بـ Windows Workflow Foundation ويعرف اختصاراً WWF ، وهي مجموعة من المهام والدوال API تسمح لك بادارة ومراقبة وتنفيذ الـ workflow او سير العمليات إن صحت الترجمة .<br />
طبعاً تعد هذه الخاصية واحدة من انفع الخصائص لمهندسي البرمجيات التي تمت اضافتها داخل ال viusal studio حيث اصبح بالامكان دمج ال workflows مع الكود أو التنفيذ الفعلي مباشرة .<br />
ال WF او ال Workflow هي مجموعة العمليات التي يتم تشكيل البرنامج بناء عليها ، حيث يتكون البرنامج من مجموعة مرتبطة مع بعضها البعض من ال Business Process والتي تحتوي بدورها على مجموعة من المهام ذات الصلة بينها وبين بعضها البعض والتي تعمل سوية .<br />
<br />
<span style="color: red;" class="mycode_color">مثال : </span><br />
خدمة الصيانة لمنتج : يحتوي هذا البرنامج على طلب الايصال وادخال رقمه وعمل Check على قاعدة البيانات للتأكد من وجوده ثم تقديم خدمة الصيانة ثم طباعة ايصال صيانة .<br />
هذه العملية كلها تسمى Business Process والعناصر الداخلية تسمى tasks والبرنامج يتكون من عدة Business Process .<br />
هناك العديد من البرامج التي تقدم خدمة اداة ال Workflow ، ولكن الميزة هنا انها مرتبطة ارتباطاً وثيقاً بالكود بحيث يمكن عمل trace لكل واحدة على حدة وتتبع الأخطاء إن وجدت ، اضف إلى ذلك امكانيه التعديل لاحقاً في الجزئيات الكبرى بسهولة ويسر .<br />
<br />
سنبدأ ابتداء من الدرس القادم في معرفة WWF .]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .</span><span style="color: green;" class="mycode_color"><br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
منذ الاصدار .net 3.0 تم اضافة ما يسمى بـ Windows Workflow Foundation ويعرف اختصاراً WWF ، وهي مجموعة من المهام والدوال API تسمح لك بادارة ومراقبة وتنفيذ الـ workflow او سير العمليات إن صحت الترجمة .<br />
طبعاً تعد هذه الخاصية واحدة من انفع الخصائص لمهندسي البرمجيات التي تمت اضافتها داخل ال viusal studio حيث اصبح بالامكان دمج ال workflows مع الكود أو التنفيذ الفعلي مباشرة .<br />
ال WF او ال Workflow هي مجموعة العمليات التي يتم تشكيل البرنامج بناء عليها ، حيث يتكون البرنامج من مجموعة مرتبطة مع بعضها البعض من ال Business Process والتي تحتوي بدورها على مجموعة من المهام ذات الصلة بينها وبين بعضها البعض والتي تعمل سوية .<br />
<br />
<span style="color: red;" class="mycode_color">مثال : </span><br />
خدمة الصيانة لمنتج : يحتوي هذا البرنامج على طلب الايصال وادخال رقمه وعمل Check على قاعدة البيانات للتأكد من وجوده ثم تقديم خدمة الصيانة ثم طباعة ايصال صيانة .<br />
هذه العملية كلها تسمى Business Process والعناصر الداخلية تسمى tasks والبرنامج يتكون من عدة Business Process .<br />
هناك العديد من البرامج التي تقدم خدمة اداة ال Workflow ، ولكن الميزة هنا انها مرتبطة ارتباطاً وثيقاً بالكود بحيث يمكن عمل trace لكل واحدة على حدة وتتبع الأخطاء إن وجدت ، اضف إلى ذلك امكانيه التعديل لاحقاً في الجزئيات الكبرى بسهولة ويسر .<br />
<br />
سنبدأ ابتداء من الدرس القادم في معرفة WWF .]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الخامس والستون - ADO.net - الوضع المنفصل]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5661</link>
			<pubDate>Sun, 14 Oct 2012 17:41:17 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5661</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
حتى نهاية درسنا السابق كنا قادرين على فهم الوضع المنفصل للاتصال بقاعدة البيانات عن طريق DataSet وما تحتويه من DataTables , DataRows, DataColumns<br />
<br />
في هذا الدرس سنبدأ في محاولة استخدام الأدوات وربطها بقواعد اليبانات مثل أداة DataGrid وغيرها ، سنتعرف عليها قبل ان نربطها بالكود الخاص بنا .<br />
<br />
<span style="color: red;" class="mycode_color">استخدام ال DataGrid :</span><br />
في مشروعنا الذي قمنا بانشاءه سابقاً ووضعنا فيه جدول الموظفين ، كل ما عليك هو سحب اداة DataGridView من ضمن الأدوات الموجودة بالشكل التالي :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_01350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350236411.jpg]" class="mycode_img" /></div>
<br />
كل ما علينا هو ربط قاعدة البيانات بالمصدر عن طريق Choose DataSource ، قم باختيار اضافة New DataSource ، وقم بتتبع المعالج ، اضافة DataBase ومن ثم نقوم باختيار قاعدة البيانات الخاصة بنا .<br />
<br />
<span style="color: red;" class="mycode_color">*** في العادة بدلاً من ابحث عن ال ConnectionString اقوم بعمل DataSource واستعرض ال ConnectionString ، ثم اقوم بالغائها </span><br />
<br />
بعد انتهاء الشاشة الخاصة باختيار الداتا سورس ، تظهر لك شاشة تخبرك باختيار الجدول أو جملة الاستعلام التي تود لها أن تظهر في الجدول ، سنجرب اختيار جدول مباشرة وهو جدول الموظفين ، وفي مثال لاحق سنجرب اختيار جملة استعلام .<br />
<br />
سيكون الناتج شيئاً مثل هذا :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_11350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_11350236411.jpg]" class="mycode_img" /></div>
<br />
بالطبع يمكنك اتاحة الفرصة للتعديل والاضافة من الجدول .<br />
<br />
الآن سنجرب تعديل بسيط جداً ، سنطبق شرط للبحث بحيث لا يتم عرض البيانات سوى التي لها الاسم الأول = الأسم الأول الموجود في مربع نص ، من ال dataGrid اختر Add Query ومن ثم اكتب جملة استعلام كالتالي :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_21350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_21350236411.jpg]" class="mycode_img" /></div>
<br />
ستلاحظ ظهور شاشة في الأعلى بالشكل التالي ، جرب كتابة الاسم حتى النهاية وشاهد النتائج :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_31350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_31350236411.jpg]" class="mycode_img" /></div>
<br />
هل يوجد اسهل من هكذا حل ؟]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span><br />
<br />
حتى نهاية درسنا السابق كنا قادرين على فهم الوضع المنفصل للاتصال بقاعدة البيانات عن طريق DataSet وما تحتويه من DataTables , DataRows, DataColumns<br />
<br />
في هذا الدرس سنبدأ في محاولة استخدام الأدوات وربطها بقواعد اليبانات مثل أداة DataGrid وغيرها ، سنتعرف عليها قبل ان نربطها بالكود الخاص بنا .<br />
<br />
<span style="color: red;" class="mycode_color">استخدام ال DataGrid :</span><br />
في مشروعنا الذي قمنا بانشاءه سابقاً ووضعنا فيه جدول الموظفين ، كل ما عليك هو سحب اداة DataGridView من ضمن الأدوات الموجودة بالشكل التالي :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_01350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350236411.jpg]" class="mycode_img" /></div>
<br />
كل ما علينا هو ربط قاعدة البيانات بالمصدر عن طريق Choose DataSource ، قم باختيار اضافة New DataSource ، وقم بتتبع المعالج ، اضافة DataBase ومن ثم نقوم باختيار قاعدة البيانات الخاصة بنا .<br />
<br />
<span style="color: red;" class="mycode_color">*** في العادة بدلاً من ابحث عن ال ConnectionString اقوم بعمل DataSource واستعرض ال ConnectionString ، ثم اقوم بالغائها </span><br />
<br />
بعد انتهاء الشاشة الخاصة باختيار الداتا سورس ، تظهر لك شاشة تخبرك باختيار الجدول أو جملة الاستعلام التي تود لها أن تظهر في الجدول ، سنجرب اختيار جدول مباشرة وهو جدول الموظفين ، وفي مثال لاحق سنجرب اختيار جملة استعلام .<br />
<br />
سيكون الناتج شيئاً مثل هذا :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_11350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_11350236411.jpg]" class="mycode_img" /></div>
<br />
بالطبع يمكنك اتاحة الفرصة للتعديل والاضافة من الجدول .<br />
<br />
الآن سنجرب تعديل بسيط جداً ، سنطبق شرط للبحث بحيث لا يتم عرض البيانات سوى التي لها الاسم الأول = الأسم الأول الموجود في مربع نص ، من ال dataGrid اختر Add Query ومن ثم اكتب جملة استعلام كالتالي :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_21350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_21350236411.jpg]" class="mycode_img" /></div>
<br />
ستلاحظ ظهور شاشة في الأعلى بالشكل التالي ، جرب كتابة الاسم حتى النهاية وشاهد النتائج :<br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_31350236411.jpg" loading="lazy"  alt="[صورة مرفقة: 18_31350236411.jpg]" class="mycode_img" /></div>
<br />
هل يوجد اسهل من هكذا حل ؟]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الرابع والستون - ADO.net - الوضع المنفصل]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5660</link>
			<pubDate>Sun, 14 Oct 2012 17:22:40 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5660</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">في دروسنا السابقة اقتصر حديثنا في تقنية ADO.net عن الوضع المتصل connected layer وهو الذي ينشأ رابطة مباشرة بينك وبين قاعدة البيانات بحيث تؤثر جميع تعديلاتك فيها لحظياً ، الجزء الثاني الذي تقدمه لنا هذه التقنية هي امكانية تطبيق الوضع المنفصل disconnected layer والذي يسمح لك بالتعامل مع قاعدة البيانات في الذاكرة عن طريق مجموعة من الفئات ومن ثم نقل كافة التعديلات مرة واحدة إلى قاعدة البيانات .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">يتم ذلك عن طريق عمل DataAdapter يكون وسيط بين قاعدة البيانات وبين البرنامج ، ومن ثم انشاء DataSet يتم العمل عليها ثم ارسالها مرة أخرى إلى قاعدة البيانات .<br />
تحتوي ال DataSet على أي عدد من DataTable تحتوي على كائنات DataRow و DataColumn<br />
</span><br />
<span style="font-size: 3pt;" class="mycode_size">بقي ان نذكر بأن هذا الوضع لا يلزم فيه اي نوع من الاتصال مع قاعدة بيانات ، فال DataSet هي نفسها قاعدة بيانات لذا سنواصل دروسنا في البداية دون اي اتصال بقاعدة بيانات فعلية ثم نعود إليها مرة أخرى في نهاية الدروس .</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .<br />
السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">في دروسنا السابقة اقتصر حديثنا في تقنية ADO.net عن الوضع المتصل connected layer وهو الذي ينشأ رابطة مباشرة بينك وبين قاعدة البيانات بحيث تؤثر جميع تعديلاتك فيها لحظياً ، الجزء الثاني الذي تقدمه لنا هذه التقنية هي امكانية تطبيق الوضع المنفصل disconnected layer والذي يسمح لك بالتعامل مع قاعدة البيانات في الذاكرة عن طريق مجموعة من الفئات ومن ثم نقل كافة التعديلات مرة واحدة إلى قاعدة البيانات .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">يتم ذلك عن طريق عمل DataAdapter يكون وسيط بين قاعدة البيانات وبين البرنامج ، ومن ثم انشاء DataSet يتم العمل عليها ثم ارسالها مرة أخرى إلى قاعدة البيانات .<br />
تحتوي ال DataSet على أي عدد من DataTable تحتوي على كائنات DataRow و DataColumn<br />
</span><br />
<span style="font-size: 3pt;" class="mycode_size">بقي ان نذكر بأن هذا الوضع لا يلزم فيه اي نوع من الاتصال مع قاعدة بيانات ، فال DataSet هي نفسها قاعدة بيانات لذا سنواصل دروسنا في البداية دون اي اتصال بقاعدة بيانات فعلية ثم نعود إليها مرة أخرى في نهاية الدروس .</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[الدرس الثالث والستون - عالم ADO.net وما يتعلق به - الجزء الثالث]]></title>
			<link>https://vb4arb.com/vb/showthread.php?tid=5658</link>
			<pubDate>Sun, 14 Oct 2012 17:08:54 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://vb4arb.com/vb/member.php?action=profile&uid=3403">Raggi Tech</a>]]></dc:creator>
			<guid isPermaLink="false">https://vb4arb.com/vb/showthread.php?tid=5658</guid>
			<description><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .</span></span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">في هذا الدرس سنحاول التعرف على ماهية الوضع المتصل Connected Layer في ADO.net .</span><br />
<span style="font-size: 3pt;" class="mycode_size">يسمح لك الوضع المتصل Connected Layer والذي يعتمد على وجود اتصال مفعل بقاعدة بياناتك اثناء عمليات التعديل بالتعامل مع قاعدة بياناتك من خلال connection للاتصال و command لتنفيذ الاستعلامات اضافة إلى data reader الخاصة بال DataProvider الذي تنوي التعامل معه وفي حالتنا هذه هو ال SQL .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">سنقوم الآن بعمل تطبيق بسيط لعرض كافة اسماء الموظفين في قائمة ، لذا قم بالمتابعة معنا خطوة بخطوة :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">1-</span><span style="color: red;" class="mycode_color"> جلب المكتبات التي سوف نتعامل معها وهي في حالتنا هذه System.Data.SqlClient :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>using System.Data.SqlClient;</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Imports System.Data.SqlClient</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">2- التعامل مع Connection من اجل الوصول إلى قاعدة البيانات الخاصة بنا وفتحها :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>SqlConnection cn = new SqlConnection();</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] cn.ConnectionString = @"Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Employee;Integrated Security=True;Pooling=False";[/SIZE]<br />
[SIZE=3]cn.Open();[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Dim cn As New SqlConnection()</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]cn.ConnectionString = "Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Employee;Integrated Security=True;Pooling=False" [/SIZE]<br />
[SIZE=3]cn.Open() [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">*** كيف تعرف ال ConnectionString .</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">أ- هناك العديد من المواقع التي تقدم لك خدمة معرفة ال ConnectionString مثل موقع : </span><a href="http://www.connectionstrings.com/" target="_blank" rel="noopener" class="mycode_url"><span style="font-size: 3pt;" class="mycode_size">www.connectionstrings.com</span></a><span style="font-size: 3pt;" class="mycode_size"> .</span><br />
<span style="font-size: 3pt;" class="mycode_size">ب- لو كنت تعمل من خلال قاعدة بيانات داخل بيئة عمل .net يمكنك معرفة ال ConnectioString لها باختيارها من قائمة Server Explorer ومن ثم مشاهدة ال Properties بالشكل التالي :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: 3pt;" class="mycode_size"><img src="https://vb4arb.com/vb/uploaded/18_01350234415.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350234415.jpg]" class="mycode_img" /></span></div>
<br />
<span style="font-size: 3pt;" class="mycode_size">ج- باستخدام اي من أدوات .net الجاهزة والتي سنتعرف على بعض منها في مراحل قادمة .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">3- كتابة جملة استعلام بسيطة لطلب كل أسماء الموظفين الأولى + الثانية على شكل </span>fullname بالاضافة إلى العمر - لو لم تفهم هذه الجملة راجع دروس TSQL - :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]string strSQL = "Select [First Name]+[Last Name] as [Full Name], Age From Employee_info";[/SIZE]<br />
[SIZE=3]SqlCommand myCommand = new SqlCommand(strSQL, cn);[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim strSQL As String = "Select [First Name]+[Last Name] as [Full Name], Age From Employee_info" <br />
Dim myCommand As New SqlCommand(strSQL, cn) [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">4- تعريف DataReader لقراءة البيانات وتنفيذها على شكل ExecuteReader :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]SqlDataReader myDataReader;[/SIZE]<br />
[SIZE=3]myDataReader = myCommand.ExecuteReader();[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim myDataReader As SqlDataReader [/SIZE]<br />
[SIZE=3]myDataReader = myCommand.ExecuteReader() [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">5- الدوران على كافة الحقول ووضعها في ListBox1 :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]string listItem = "";[/SIZE]<br />
[SIZE=3]while (myDataReader.Read())[/SIZE]<br />
[SIZE=3]{[/SIZE]<br />
[SIZE=3]listItem= "Full Name: " + myDataReader["Full Name"].ToString() + " Age: " + myDataReader["Age"].ToString();[/SIZE]<br />
[SIZE=3]listBox1.Items.Add(listItem);[/SIZE]<br />
[SIZE=3]}[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim listItem As String = "" [/SIZE]<br />
[SIZE=3]While myDataReader.Read() [/SIZE]<br />
[SIZE=3]listItem = "Full Name: " + myDataReader("Full Name").ToString() + " Age: " + myDataReader("Age").ToString() [/SIZE]<br />
[SIZE=3]listBox1.Items.Add(listItem) [/SIZE]<br />
[SIZE=3]End While [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">سيكون ناتج تنفيذ هذا الكود شيئاً مثل هذا :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: 3pt;" class="mycode_size"><img src="https://vb4arb.com/vb/uploaded/18_11350234415.jpg" loading="lazy"  alt="[صورة مرفقة: 18_11350234415.jpg]" class="mycode_img" /></span></div>
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">6- اغلاق وسائل الاتصال وعدم تركها مفتوحة :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>myDataReader.Close();</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] cn.Close();[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>myDataReader.Close()</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] cn.Close()[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">*** هناك حل آخر لفتح قاعدة البيانات واغلاقها مباشرة بعد انتهاء تنفيذ المهمة</span> ، اثناء عملك ExecuteReader يمكنك تحديد CommandBehavior يحدث بعد اغلاقها ، يحتوي هذا ال Enum على الخيارات التالية :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_21350234415.jpg" loading="lazy"  alt="[صورة مرفقة: 18_21350234415.jpg]" class="mycode_img" /></div>
<br />
<span style="font-size: 3pt;" class="mycode_size">الخيار الأول هو فقط ما يهمنا ، في هذه الحالة سيكون شكل الكود بالشكل التالي :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">هنا لن نقلق مجدداً بشأن اغلاق ال Coonection حيث سيتم اغلاقه تلقائياً بعد كتابة هذا السطر :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] myDataReader.Close()[/SIZE]</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<br />
<span style="font-size: 3pt;" class="mycode_size">           myDataReader.Close()</span><br />
<span style="font-size: 3pt;" class="mycode_size">- طبعاً لا تنس أن بامكانك عمل نفس جملة الاستعلام Update او Delete أو Insert بدلاً من Select ، وحسب جملة الاستعلام المطلوبة .</span>]]></description>
			<content:encoded><![CDATA[<div style="text-align: center;" class="mycode_align"><span style="font-family: times new roman;" class="mycode_font"><span style="font-size: 5pt;" class="mycode_size"><span style="font-weight: bold;" class="mycode_b"><span style="color: #000080;" class="mycode_color">كاتب الموضوع : <span style="color: green;" class="mycode_color">أحمد جمال<br />
<br />
</span></span></span></span></span></div>
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">بسم الله الرحمن الرحيم .</span></span><br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: green;" class="mycode_color">السلام عليكم ورحمة الله وبركاته .</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">في هذا الدرس سنحاول التعرف على ماهية الوضع المتصل Connected Layer في ADO.net .</span><br />
<span style="font-size: 3pt;" class="mycode_size">يسمح لك الوضع المتصل Connected Layer والذي يعتمد على وجود اتصال مفعل بقاعدة بياناتك اثناء عمليات التعديل بالتعامل مع قاعدة بياناتك من خلال connection للاتصال و command لتنفيذ الاستعلامات اضافة إلى data reader الخاصة بال DataProvider الذي تنوي التعامل معه وفي حالتنا هذه هو ال SQL .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">سنقوم الآن بعمل تطبيق بسيط لعرض كافة اسماء الموظفين في قائمة ، لذا قم بالمتابعة معنا خطوة بخطوة :</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">1-</span><span style="color: red;" class="mycode_color"> جلب المكتبات التي سوف نتعامل معها وهي في حالتنا هذه System.Data.SqlClient :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>using System.Data.SqlClient;</code></div></div></span><br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Imports System.Data.SqlClient</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">2- التعامل مع Connection من اجل الوصول إلى قاعدة البيانات الخاصة بنا وفتحها :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>SqlConnection cn = new SqlConnection();</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] cn.ConnectionString = @"Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Employee;Integrated Security=True;Pooling=False";[/SIZE]<br />
[SIZE=3]cn.Open();[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>Dim cn As New SqlConnection()</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]cn.ConnectionString = "Data Source=AHMED-PC&#92;SQLEXPRESS;Initial Catalog=Employee;Integrated Security=True;Pooling=False" [/SIZE]<br />
[SIZE=3]cn.Open() [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">*** كيف تعرف ال ConnectionString .</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">أ- هناك العديد من المواقع التي تقدم لك خدمة معرفة ال ConnectionString مثل موقع : </span><a href="http://www.connectionstrings.com/" target="_blank" rel="noopener" class="mycode_url"><span style="font-size: 3pt;" class="mycode_size">www.connectionstrings.com</span></a><span style="font-size: 3pt;" class="mycode_size"> .</span><br />
<span style="font-size: 3pt;" class="mycode_size">ب- لو كنت تعمل من خلال قاعدة بيانات داخل بيئة عمل .net يمكنك معرفة ال ConnectioString لها باختيارها من قائمة Server Explorer ومن ثم مشاهدة ال Properties بالشكل التالي :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: 3pt;" class="mycode_size"><img src="https://vb4arb.com/vb/uploaded/18_01350234415.jpg" loading="lazy"  alt="[صورة مرفقة: 18_01350234415.jpg]" class="mycode_img" /></span></div>
<br />
<span style="font-size: 3pt;" class="mycode_size">ج- باستخدام اي من أدوات .net الجاهزة والتي سنتعرف على بعض منها في مراحل قادمة .</span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">3- كتابة جملة استعلام بسيطة لطلب كل أسماء الموظفين الأولى + الثانية على شكل </span>fullname بالاضافة إلى العمر - لو لم تفهم هذه الجملة راجع دروس TSQL - :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]string strSQL = "Select [First Name]+[Last Name] as [Full Name], Age From Employee_info";[/SIZE]<br />
[SIZE=3]SqlCommand myCommand = new SqlCommand(strSQL, cn);[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim strSQL As String = "Select [First Name]+[Last Name] as [Full Name], Age From Employee_info" <br />
Dim myCommand As New SqlCommand(strSQL, cn) [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">4- تعريف DataReader لقراءة البيانات وتنفيذها على شكل ExecuteReader :</span></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]SqlDataReader myDataReader;[/SIZE]<br />
[SIZE=3]myDataReader = myCommand.ExecuteReader();[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim myDataReader As SqlDataReader [/SIZE]<br />
[SIZE=3]myDataReader = myCommand.ExecuteReader() [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">5- الدوران على كافة الحقول ووضعها في ListBox1 :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]string listItem = "";[/SIZE]<br />
[SIZE=3]while (myDataReader.Read())[/SIZE]<br />
[SIZE=3]{[/SIZE]<br />
[SIZE=3]listItem= "Full Name: " + myDataReader["Full Name"].ToString() + " Age: " + myDataReader["Age"].ToString();[/SIZE]<br />
[SIZE=3]listBox1.Items.Add(listItem);[/SIZE]<br />
[SIZE=3]}[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]Dim listItem As String = "" [/SIZE]<br />
[SIZE=3]While myDataReader.Read() [/SIZE]<br />
[SIZE=3]listItem = "Full Name: " + myDataReader("Full Name").ToString() + " Age: " + myDataReader("Age").ToString() [/SIZE]<br />
[SIZE=3]listBox1.Items.Add(listItem) [/SIZE]<br />
[SIZE=3]End While [/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">سيكون ناتج تنفيذ هذا الكود شيئاً مثل هذا :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><span style="font-size: 3pt;" class="mycode_size"><img src="https://vb4arb.com/vb/uploaded/18_11350234415.jpg" loading="lazy"  alt="[صورة مرفقة: 18_11350234415.jpg]" class="mycode_img" /></span></div>
<br />
<span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">6- اغلاق وسائل الاتصال وعدم تركها مفتوحة :</span></span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>myDataReader.Close();</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] cn.Close();[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>myDataReader.Close()</code></div></div></span><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] cn.Close()[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size"><span style="color: red;" class="mycode_color">*** هناك حل آخر لفتح قاعدة البيانات واغلاقها مباشرة بعد انتهاء تنفيذ المهمة</span> ، اثناء عملك ExecuteReader يمكنك تحديد CommandBehavior يحدث بعد اغلاقها ، يحتوي هذا ال Enum على الخيارات التالية :</span><br />
<br />
<div style="text-align: center;" class="mycode_align"><img src="https://vb4arb.com/vb/uploaded/18_21350234415.jpg" loading="lazy"  alt="[صورة مرفقة: 18_21350234415.jpg]" class="mycode_img" /></div>
<br />
<span style="font-size: 3pt;" class="mycode_size">الخيار الأول هو فقط ما يهمنا ، في هذه الحالة سيكون شكل الكود بالشكل التالي :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3]myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)[/SIZE]</code></div></div><span style="font-size: 3pt;" class="mycode_size">هنا لن نقلق مجدداً بشأن اغلاق ال Coonection حيث سيتم اغلاقه تلقائياً بعد كتابة هذا السطر :</span><br />
<span style="font-size: 3pt;" class="mycode_size">C#:</span><br />
<span style="font-size: 3pt;" class="mycode_size"><br />
<div class="codeblock"><div class="title">كود :</div><div class="body" dir="ltr"><code>[SIZE=3] myDataReader.Close()[/SIZE]</code></div></div></span><br />
<br />
<span style="font-size: 3pt;" class="mycode_size">vb.net:</span><br />
<br />
<br />
<span style="font-size: 3pt;" class="mycode_size">           myDataReader.Close()</span><br />
<span style="font-size: 3pt;" class="mycode_size">- طبعاً لا تنس أن بامكانك عمل نفس جملة الاستعلام Update او Delete أو Insert بدلاً من Select ، وحسب جملة الاستعلام المطلوبة .</span>]]></content:encoded>
		</item>
	</channel>
</rss>