الاثنين، 30 ديسمبر 2013

برمجة متقدمة سي شارب الخصائص C# - Properties

 الخصائص C# - Properties

برمجة متقدمة سي شارب الخصائص C# - Properties

برمجة متقدمة سي شارب الخصائص C# - Properties


مزيد من المعلومات »

التسميات:

أساسيات البرمجة برمجة المواقع بي اتش بي حلقات التكرار أو الدوارة PHP Loop Types

حلقات التكرار أو الدوارة PHP Loop Types

PHP Loop Types


مقدمة عن حلقات التكرار PHP Loop Types :-

كما ذكرنا سابقا ان جميع اللغات البرمجية تتشابه في صيغة وطريقة كتابة أساسيات البرمجة مثل المتغيرات و الجمل الشرطية  وكذلك بالنسبة ل حلقات التكرار PHP Loop .

ماهي حلقات التكرار ؟PHP Loop 

حلقات التكرار PHP Loopعبارة عن كود برمجي يقوم بتنفيذ شيء ما بتكرار بناء على شرط معطى خلال حلقات التكرار PHP Loop فمثلا نريد حلقة تكرار PHP Loopتقوم بطباعة الأرقام الزوجية ما بين 2 - 100 فاننا ننشأء حلقة تكرار  PHP Loop بحيث يتم طباعة ألارقام بشرط تكون زوجية أي تقبل القسمة على 2 وباقي القسمة صفر.

أنواع حلقات التكرار PHP Loop

  1. حلقة التكرار PHP Loop for حيث تكرار عدد مرات.
  2. حلقة التكرارPHP Loop while تكرار القيمة بينما الشرط المعطى صحيح.
  3. حلقة التكرار PHP Loop do while تكرار القيمة بينما الشرط المعطى صحيح.
  4. حلقة التكرار PHP Loop foreach تكرار القيمة حسب عدد المصفوفة.

أولا حلقات التكرار PHP Loop من نوع for

الصيغة العامة لحلقات التكرار for

for (القيمة الابتدائية; الشرط; الزيادة)
{
 الكود;
}

مثال لحلقات التكرار.

<html>
<body>
<?php
$a = 0;
$b = 0;
for( $i=0; $i<5; $i++ )
{
   $a += 10;
   $b += 5;
 echo "a= " .$a."
";
 echo "b= " .$b."
";
}
echo ("At the end of the loop a=$a and b=$b" );
?>
</body>
</html>

ناتج مثال حلقات التكرار من نوع for

a= 10
b= 5
a= 20
b= 10
a= 30
b= 15
a= 40
b= 20
a= 50
b= 25
At the end of the loop a=50 and b=25

ثانيا حلقات التكرار من نوع while

إن حلقة  التكرار التي نوع while تقوم أولا بفحص الشرط في حال كان صحيح يبدأ عمل حلقة التكرار وتنفيذ الكود.
الصيغة العامة لحلقات التكرار من نوع while
while (الشرط)
{
   الكود الذي سوف ينفذ;
}

مثال على حلقات التكرار من نوع while

<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10)
{
   $num--;
   $i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>

ناتج كود حلقات التكرار while

Loop stopped at i = 10 and num = 40 

ثالثا حلقة التكرار من نوع do while

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

الصيغة العامة لحلقة التكرار من نوع do while

do
{
   الكود الذي سينفذ;
}while (الشرط)

مثال على حلقة التكرار do while

<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10)
{
   $num--;
   $i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>

ناتج كود حلقة التكرار do while

Loop stopped at i = 10

رابعا حلقة التكرار foreach

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

الصيغة العامة  ل حلقة التكرار foreach

foreach (array as value)
{
    code to be executed;

}

مثال على حلقة التكرار for each

<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
  echo "Value is $value <br />";
}
?>
</body>
</html>

ناتج حلقة التكرار for each

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5

خامسا جملة التوقف break

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

مثال على استخدام جملة التوقف break

<html>
<body>
<?php
$i = 0;
while( $i < 10)
{
   $i++;
   if( $i == 3 )break;
}
echo ("Loop stopped at i = $i" );
?>
</body>
</html>

ناتج جملة التوقف break

Loop stopped at i = 3

سادسا جملة الاستمرار continue 

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

مثال على جملة الاستمرار continue

<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
  if( $value == 3 )continue;
  echo "Value is $value <br />";
}
?>
</body>
</html>

ناتج جملة الاستمرار continue

Value is 1
Value is 2
Value is 4
Value is 5

مزيد من المعلومات »

التسميات:

الأحد، 29 ديسمبر 2013

أساسيات البرمجة - برمجة المواقع صنع القرارات الجمل الشرطية PHP Decision Making

صنع القرارات أو الجمل الشرطية PHP Decision 

أساسيات البرمجة - برمجة المواقع صنع القرارات الجمل الشرطية PHP Decision Making

مزيد من المعلومات »

التسميات:

الخميس، 26 ديسمبر 2013

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات الشرطية PHP Conditional Operator Example

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات  الشرطية PHP Conditional Operator Example

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات  الشرطية PHP Conditional Operator Example

مزيد من المعلومات »

التسميات:

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات المنطقية PHP Logical Operators Example

 أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات المنطقية PHP Logical Operators Example

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات المنطقية PHP Logical Operators Example

مزيد من المعلومات »

التسميات:

أساسيات برمجة المواقع بي اتش بي - مثال على مشغلات الاسناد PHP Assignment Operators Example

أساسيات برمجة المواقع بي اتش بي - مثال على مشغلات  الاسناد PHP Assignment Operators Example 

أساسيات برمجة المواقع بي اتش بي - مثال على مشغلات  الاسناد PHP Assignment Operators Example

مزيد من المعلومات »

التسميات:

برمجة متقدمة سي شارب ما هو ال Reflection ومتى يتم استخدامه ؟ C#

ما هو ال Reflection ومتى يتم استخدامه ؟


ما هو ال Reflection ومتى يتم استخدامه ؟

برمجة متقدمة سي شارب ما هو ال Reflection ومتى يتم استخدامه ؟ C#

برمجة متقدمة سي شارب ما هو ال Reflection ومتى يتم استخدامه ؟ C#

مزيد من المعلومات »

التسميات:

الأربعاء، 25 ديسمبر 2013

أساسيات البرمجة برمجة المواقع بي اتش بي مثال على مشغلات المقارنة PHP Comparison Operators Example

 مثال على مشغلات المقارنة PHP Comparison Operators 

أساسيات البرمجة برمجة المواقع بي اتش بي  مثال على مشغلات المقارنة PHP Comparison Operators Example

مزيد من المعلومات »

التسميات:

الثلاثاء، 24 ديسمبر 2013

أساسيات برمجة المواقع بي اتش بي مثال على المشغلات الحسابية PHP Arithmetic Operators

 مثال على المشغلات الحسابية PHP Arithmetic Operators 

أساسيات برمجة المواقع بي اتش بي مثال على المشغلات الحسابية PHP Arithmetic Operators

مزيد من المعلومات »

التسميات:

الأحد، 22 ديسمبر 2013

أساسيات برمجة المواقع بي اتش بي - أنواع المشغلات PHP Operator Types

أنواع المشغلات  PHP Operator Types

أساسيات برمجة المواقع بي اتش بي - أنواع المشغلات  PHP Operator Types

أساسيات برمجة المواقع بي اتش بي - أنواع المشغلات  PHP Operator Types

مزيد من المعلومات »

التسميات:

برمجة متقدمة سي شارب الصفات C# - Attributes

 الصفات C# - Attributes

برمجة متقدمة سي شارب الصفات C# - Attributes

برمجة متقدمة سي شارب الصفات C# - Attributes

مزيد من المعلومات »

التسميات:

الجمعة، 20 ديسمبر 2013

أساسيات برمجة المواقع بي اتش بي - تعريف الثوابت PHP Constants

 تعريف الثوابت PHP Constants

PHP Constants

مزيد من المعلومات »

التسميات:

الخميس، 19 ديسمبر 2013

أساسيات البرمجة سي شارب التعامل مع الملفات C# - File I/O

 التعامل مع الملفات C# - File I/O

الملف file :-

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

التدفق Stream:-

هو تدفق البيانات من خلال أدوات الاتصال أي عملية مرور -نقل البيانات خلال الكوابل ويوجد نوعان من التدفق أو الاستريم تدافق داخل ويسمى Input stream وتدفق خارج يسمى Output Stream.

فئة الادخال والاخراج C# I/O Classes

توجد  العديد من الفئة الادخال والاخرات التي تتعامل مع الملفات مثل انشاء ملف جديد , قراءة , كتابة ,فتح ..... الى اخره في الجدول التالي يوضح أهم الفئات التي تتعامل مع الملفات في لغة سي شارب.

فئة الادخال والاخراجالوصف
BinaryReaderقراءة البيانات البسيطة من تدفق الثنائي
BinaryWriterكتابة البيانات البسيطة الى الصيغة الثنائية
BufferedStreamتخزين مؤقت للبيانات في صيغة بايت من اجل بدأ عملية التدفق
Directoryيساعد على معالحة هيكل المجلدات او المسارات
DirectoryInfoيساعد على معالجة المعلومات على المجلدات
DriveInfoيزودنا بمعلومات عن السواقة
Fileيساعد في معالجة الملفات
FileInfoيساعد في معالجة معلومات الملف
FileStreamيستخدم للقراءة والكتابة على الملفات من اي مكان
MemoryStreamيستخدم للوصول للذاكراة العشوائية للملفات المخزنة في الذاكراة
Pathيستخدم لمعالجة المسار
StreamReaderيستخدم لقراءة الحروف من تدفق البايت
StreamWriterيستخدم لكتابة الحروف الى تدفق البايت
StringReaderيستخدم للقراءة النصوص من المخزن المؤقت 
StringWriterيستخدم للكتابة الي مخزن النصوص المؤقت


فئة تدفق الملف FileStream:-

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


FileStream <object_name> = new FileStream( <file_name>,

<FileMode Enumerator>, <FileAccess Enumerator>, <FileShare Enumerator>);

مثال على انشاء كائن لقراءة ملف.

FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);


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


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

  1. Append:يستخدم لفتح ملف موجود ووضع مؤشر الماوس للكتابة في اخر سطر في الملف
  2. Create: يستخدم لانشاء ملف جديد
  3. CreateNew: انشاء ملف جديد حسب نظام التشغيل المحدد
  4. Open: فتح ملف مسبق
  5. OpenOrCreate: فتح ملف مسبق في حال لم يكن موجد يقوم بانشاءه وفتحه
  6. Truncate:فتح الملف موجود وعمل اقتصاص بحجمه الى يصبح صفر بايت بمعنى حذف ما بالملف وليس الملف
FileAccess
FileAccessl مجمع تراقيمي يحتوي علىالاعضاء التالية:
ReadوReadWrite وWrite.
FileShare
FileShare مجمع مرقم يحتوي على التالي

  1. Inheritable: يسمح بوارثة الاذونات الى الابناء
  2. None: لايسمح بمشاركة الملف الحالي
  3. Read:يسمح للملف للقراءة فقط
  4. ReadWrite:يسمح للقراءة والكتابة على الملف
  5. Write: يسمح للكتابة على الملف

مثال نظرة عامة على فئة التدفق.

using System;
using System.IO;

namespace FileIOApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream F = new FileStream("test.dat", 
            FileMode.OpenOrCreate, FileAccess.ReadWrite);

            for (int i = 1; i <= 20; i++)
            {
                F.WriteByte((byte)i);
            }

            F.Position = 0;

            for (int i = 0; i <= 20; i++)
            {
                Console.Write(F.ReadByte() + " ");
            }
            F.Close();
            Console.ReadKey();
        }
    }
}
ناتج المثال
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1



سيتم التحدث عن الملفات بالتفاصيل في برمجة متقدمة لاحقا

لمتابعتي
تويتر: @aalmahallawi
IT Help Desk,
SEO Arabic Expert ,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984

التسميات:

الأربعاء، 18 ديسمبر 2013

أساسيات البرمجة سي شارب معالجة الاستثناءات C# - Exception Handling

 معالجة الاستثناءات C# - Exception Handling

الأسثناء Exception :-

الإستثناء هو خطأ يظهر أثناء تشغيل البرنامج سواء كان خطأ مفتعل أو نتيجة سهو المبرمج عن وضع قيود محدد للتعامل مع البرنامج مثلا حقل نص يستخدم لادخال الارقام وسها المبرمج عن وضع قيد يجبر المستخدم على ادخال ارقام بدل نصوص.او مثل القسم على صفر.
يقسم معالجة الاستثناءات الى اربع اقسام.
  1. try وفي هذا البلوك يتم وضع الكود الذي يجب معالجة استثناء له عند حدوث الاخطاء ويجب ان يتبعه اما واحد من catch او عدة جمل Catch.
  2. catch وهي تشير الى وقوع الخطأ وتم العثور عليه وهنا يتم معالجة الخطأ عند حدوثه.
  3. finally وتستخدم سواء حدثجب   الخطأ او  لم يحدث سوف يتم  تنفيذ الكود الذي تحتويه مثل إغلاق ملف. نفترض اننا قمنا بفتح قاعدة بيانات او ملف وحدث خطأ فهنا يجب إغلاق الملف سواء حدث الخطأ أو لم يحدث.
  4. throw وهي تقوم برمي الاخطأ اي بمعنى تجاهل الخطأ والانتقال الى الكود التالي لتنفيذه وغالبا ما يستخدم من قبل المبرمجين المبتدائين وذوي قلة الخبرة ولكن لا يمنع ذوي الاحتراف استخدامه خاصة لكتابة الاخطأ في ملف log.

الصيغة العامة لمعالجة الإستثناءات.

try
{
   //الكود الذي قد ينتج عنه خطأ
}
catch( ExceptionName e1 )
{ 
   // الاسثناء الاول
}
catch( ExceptionName e2 )
{
   // الاسثناء الثاني
}
catch( ExceptionName eN )
{
   // الاسثناء الثالث
}
finally
{
   // الجملة التالية ستنفذ سواء حدث خطأ أو لم يحدث
}

فئة معالجة الاستثناءات

1- System.ApplicationException

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

2- System.SystemException

وهذه الفئة هي الفئة الاساسية التي   تحتوي على الاستثناءات المعرفة مسبقا من قبل اللغة ومن اهم الاستثناءات المعرفة سنردها في الجدول التالي.

اسم فئة الاستثناءالوصف
System.IO.IOExceptionمعالجة اسثناءات الادخال والاخراج مثل اخطاء فتح ملف او الكتابة في ملف
System.IndexOutOfRangeExceptionاسثناء معالجة الفهرس الذي خارج المدى في المصفوفات.
System.ArrayTypeMismatchExceptionاستثناء معالجة عند حدوث خطأ في نوع  المصفوفة مثل دمج مصفوفتين ليست من نفس نوع البيانات
System.NullReferenceExceptionاستثناء عندما لا يوجد مرجع للكائن او انها يشير لقيمة فارغة
System.DivideByZeroExceptionاستثناء القسمة على صفر
System.InvalidCastExceptionاستثناء عند التحويل من نوع بيانات الى اخر .
System.OutOfMemoryExceptionاستثناء عندما لا توجد مكان في الذاكرة.
System.StackOverflowExceptionاسثناء يحدث عندما يصبح مدى المكدس لا يتسع قيم.

مثال على معالجة الاستثناءات:-

في المثال التالي نعالج خطأ القسمة على صفر.
using System;
namespace ErrorHandlingApplication
{
    class DivNumbers
    {
        int result;
        DivNumbers()
        {
            result = 0;
        }
        public void division(int num1, int num2)
        {
            try
            {
                result = num1 / num2;
            }
            catch (DivideByZeroException e)
            {
                Console.WriteLine("Exception caught: {0}", e);
            }
            finally
            {
                Console.WriteLine("Result: {0}", result);
            }

        }
        static void Main(string[] args)
        {
            DivNumbers d = new DivNumbers();
            d.division(25, 0);
            Console.ReadKey();
        }
    }
}


ناتج الكود:-

Exception caught: System.DivideByZeroException: Attempted to divide by zero. 
at ...
Result: 0


تعريف استثناء من قبل المستخدم.

عند تعريف استثناء من قبل المبرمج  فيجب وراثة الفئة ApplicationException كما ذكرنا سابقا.


using System;
namespace UserDefinedException
{
   class TestTemperature
   {
      static void Main(string[] args)
      {
         Temperature temp = new Temperature();
         try
         {
            temp.showTemp();
         }
         catch(TempIsZeroException e)
         {
            Console.WriteLine("TempIsZeroException: {0}", e.Message);
         }
         Console.ReadKey();
      }
   }
}
public class TempIsZeroException: ApplicationException
{
   public TempIsZeroException(string message): base(message)
   {
   }
}
public class Temperature
{
   int temperature = 0;
   public void showTemp()
   {
      if(temperature == 0)
      {
         throw (new TempIsZeroException("Zero Temperature found"));
      }
      else
      {
         Console.WriteLine("Temperature: {0}", temperature);
      }
   }
}

تحميل الكود السابق:- ملاحظة الانتظار 5 ثواني وسيتم تحويلك لصفحة التحميل وشكرا

ناتج الكود:-
TempIsZeroException: Zero Temperature found

كائن throw الصيغة العامة لالقاء اسثتناء.

Catch(Exception e)
{
   ...
   Throw e
}


Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
18/12/2013

التسميات: