الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشروع Arabic PHP .NET Framework : م IO

مثبّت
بدأه الحسين في 3 نوفمبر 2004 · 1 رد · 5,574 مشاهدة · في أرشيف قسم منتدى PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

طريقه إستخدام هذا الإطار :

إستجابه لطلب شرح إستخدام ذلك الإطار أحب أن أوضح التالي

- أولا هذا الإطار يعمل مع الإصدار الخامس للبي أتش بي , لما تم عليها من تحسين لمستوي البرمجه الكائنيه بها

- هذا الإطار هو عباره عن مجموعه كبيره من الفئات classes يمكننا إستخدامها كما يروق لنا ولا توجد طريقه محدده للإستخدام

- لكني أفضل إستخدام هذه الفئات من خلال أني أقوم بعمل فهرس باسم bin ويتم وضعه داخل الفهرس الرئيسي للموقع , وهذه الإستراتيجيه أقوم دائما بشرحها عندما أشرح أحدي المجموعات التابعه للإطار

- كما أنني أدرج مثال بكل مجموعه يمكننا أستخدامه مباشرة لإختبار المجموعه المشروحه

فوائد الإطار

- من سيتابع مع هذه الشروحات البسيطه سوف يدرك مدي أهميه أننا نحتاج التفكير بشكل منظم

- بالإضافه إلي السهوله للحصول علي الوظيفه المطلوبه , فعلي سبيل المثال لو إحتجنا داله معينه للقيام برسم شئ فأين يمككنا أن نجدها

الأن بكل بساطه نعلم أن وظائف الرسم والتلوين موجوده بالمجموعه System.Drawing وهكذا

- بالإضافه إلي أن قيمه هذا الإطار سوف تظهر في أخر دروس عندما نشرح كيف يمكننا التعامل مع الويب سرفس WebService من خلال الأطار

وكيف سوف ننشئ كونترولات خاصه بنا بالإضافه للكنترولات التي قمت بإعدادها في هذا الإطار

- علي العموم الموضوع إن شاء الله مثير وأنا مش قادر أقول كل حاجه الأن لكني أرجو متابعه المواضيع القادمه والله الموفق

المجموعة System.IO

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

تضم هذه المجموعة فئات عديدة ومنها

+ FileStream Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة Object الموجودة بالمجموعة System

- تمكننا تلك الفئه من التعامل مع الملفات . لإجراء عمليات الكتابه والقراءه من محتويات الملف وعمليات أخري

- لاحظ أن طبيعه هذه الفئه أنها تتعامل مع الملف علي أساس أنه محتوي (Container) للبيانات ,

ولا تتعامل مع الملف علي أساس أنه ملف تابع لمحتوي الهاردسك أو نظام التشغيل File System

+ FileSystemInfo Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة Object الموجودة بالمجموعة System

- هي فئه مجرده abstract (لا يمكننا أن نخلق منها كائنات)

- تتميز هذه الفئه بأنها تحتوي علي الوظائف المشتركه بين الملفات والفهارس

- تمكننا من التعامل مع الملفات والفهارس علي أساس أنهما جزء من محتوي الهاردسك أو نظام التشغيل File System

لذلك هي خاصه لإجراء عمليات الحذف وتغير الأسماء و القص والنسخ للملفات والفهارس إلخ

+ FileInfo Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة FileSystemInfo

- تتميز بمميزات الفئه FileSystemInfo لكنها تتعامل فقط مع الملفات

+ DirectoryInfo Class

تتميز هذه الفئة بالتالي :

- هذه الفئة مشتقة من الفئة FileSystemInfo

- تتميز بمميزات الفئه FileSystemInfo لكنها تتعامل فقط مع الفهارس

ويوضح الشكل التالي تركيب المجموعة System.IO

(لاحظ أن الأعضاء أمثال الدوال والثوابت والمتغيرات التي تحتها خط تعبر عن أعضاء إستاتيكية Static members

والأعضاء المائلة italic هي أعضاء مجردة abstract

وأيضا لم أقم بإدراج الأعضاء التي أري أنها يجب أن تكون ذات مستوي رؤية internal أو Friend )

SystemIO.gif

لاحظ أن المجلد System.IO يحتوي علي التالي

- الملف DirectoryInfo.php يحتوي علي الفئة DirectoryInfo

- الملف FileInfo.php يحتوي علي الفئة FileInfo

- الملف FileStream.php يحتوي علي الفئة FileStream

- الملف FileSystemInfo.php يحتوي علي الفئة FileSystemInfo

- الملف IOException.php يحتوي علي الفئة IOException

- الملف SeekOrigin.php يحتوي علي الواجهة SeekOrigin

كيف يمكننا إستخدام هذه الفئات :

سوف ندرج في مجلد ال bin مجموعة ال System.IO كما يلي

Img1-7.gif

يمكننا إستخدام تلك الفئات من خلال عمل تضمين including لمحتويات الملف التالي

WebApplication6/bin/System.IO.php

وهذا هو محتوي الملف

<?
include_once "System.php";

include_once "System.IO/SeekOrigin.php";
include_once "System.IO/IOException.php";
include_once "System.IO/FileStream.php";
include_once "System.IO/FileSystemInfo.php";
include_once "System.IO/FileInfo.php";
include_once "System.IO/DirectoryInfo.php";
?>

مثال

<script language="php">
include_once "../bin/System.IO.php";
include_once "../bin/System.DateTime.php";

    try {
        $dir1 = new DirectoryInfo("d:\\phptest");

        $dir1->CreateSubDirectory("subDir");
        $dir1->Rename("tttttt1");

        $t1 = Time::Now();

        echo $dir1->Size() / (1024*1024) . " mb";

        $t2 = Time::Now();
        $t2->Subtract($t1);
        echo "<br> time elapsed : " . $t2->ToString();

    }catch(IOException $ex) {
        echo $ex->getMessage();
    }
</script>

مثال أخر

<script language="php">
include_once "../bin/System.IO.php";

    try {
        $file1 = new FileInfo("test2.txt");

        $file1->MoveTo("d:\\");
        if( !$file1->Rename("renamedTest2.txt") )
            throw new IOException("can't rename file exists");
    }catch(IOException $ex) {
        echo $ex->getMessage();
    }
</script>

وقد أرفقت هنا مثال لإستخدام المجموعة System.IO

(لاحظ أن هذا الإطار يعمل مع الإصدار الخامس PHP5)

في إنتظار اي إستفسار في هذا الموضوع

انتظروني بعد العيد إن شاء الله مع الدرس القادم والمجموعة System.Data

لأني لن أكون متواجد في العشر الأواخر من رمضان , والله الموفق

أسئلكم الدعاء لي ولعامه المسلمين

اللهم أرزقنا ليله القدر , اللهم أمين

WebApplication6.rar

29_5.gif

سورة العنكبوت

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

مشروع Arabic PHP.NET

حلم طالما كان يراودني حتي قهرته بحمد الله ليكون حقيقة

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

سلسلة أنماط التصاميم البرمجية Desgin Patterns

سلسلة أنماط التصاميم البرمجية Desgin Patterns | كتيب هذه الدروس (إعداد أحمد غريب)

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

كنترول ASP.NET DataGrid CheckBoxColumn

كنترول ProgressBar

كنترول UltraPanel

مشروع الكنترول الأنيق (إهداء للفريق العربي)

الورش الإلكترونية IT Workshops

تعقب الأخطاء error tracing

كنترول ColorPicker لمطوري الويب

RichTextBox Control لمطوري ال ASP.Net

حمل كتاب جافا سكربت عربي

#2

ما شاء الله عليك اخ حسين

يعني اتحفنا بما صنعت

اكرر لك : ارجو منك ان تعطينا الطريق الواضح الذي يعمل به هذه الوحدة

شكرا لك

Let's google help you Before ask

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

My Blog : www.phplover.net

مواضيع مشابهة