• السابق التالي







  • يناير
    3
    التعامل مع الملفات و المجلدات عن طريق C#.Net -الجزء الثاني- الملفات النصية
    2010
    كتـب بـواسطة : مهند بندق , التصنيف : دروس في البرمجة , عدد المشاهدات (3435)

    في الجزء السابق من هذا الدرس (( التعامل مع الملفات والمجلدات عن طريق C#.Net -الجزء الأول- Your File Explorer)).

    قمنا بالتعرف على الفئات الأساسية للتعامل مع الملفات و المجلدات .. و التعامل معها..

    سنقوم بالتعامل مع ما بداخل الملفات ((الملفات النصية, و الملفات الثنائية)) أقصد بالملفات النصية تلك التي ما يحتويها عبارة عن نص فقط .. أما الثنائية أي نوع من الملفات الأخرى مثل ملفات الموسيقى و الصور أو أي نوع آخر.

    في هذا الجزء سنتعامل فقط مع الملفات النصية , وفي الجزء القادم بإذن الله سنتعامل مع الملفات الثنائية.

    قبل الشروع في هذا الدرس سأذكر أداتين مهمتين في برمجة الويندوز :-

    1)    Folder Browser Dialog لاستعراض المجلدات الموجودة في جهازك و الاختيار منها.

    يتم استعمالها بسحبها إلى Form الخاص بك, أو بتعرفها ككائن عادي

    FolderBrowserDialog OpenMyFolder = new FolderBrowserDialog();

    ثم استدعاء الطريقة ShowDialog بعرضها للمستخدم

    OpenMyFolder.ShowDialog();

     

    ثم الاستعلام عن المجلد الذي تم اختياره بالخاصية SelectedPath ..

    OpenMyFolder.SelectedPath

    2)    Open File Dialog لاستعراض الملفات الموجودة في جهازك و الاختيار منها.

    ويمكنك استعمالها بسحبها مباشرة إلى Your Form أو بالطريقة المفضلة وهي تعريفها ككائن عادي..

    OpenFileDialog OpenMyFile = new OpenFileDialog();

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

    OpenMyFile.Filter = "ملف نصي(*.txt)|*.txt";

    لتحديد الملفات النصية فقط .. ويمكن إضافة مجموعات أخرى إلى جانبها مثل JPG  و PNG وغيرها هكذا ..

    OpenMyFile.Filter = "ملف نصي(*.txt)|*.txt|ملفات الصور Jpg And Png |*.jpg;*.png";

     

    واستدعاء الطريقة ShowDialog

    OpenMyFile.ShowDialog();

    ليظهر هكذا

     

    ولنستعلم عن الملف الذي تم اختياره

    string MyFilePath = OpenMyFile.FileName;

    ولتفعل خاصية تعدد الاختيارات أي في حالة رغبتك تحديد أكثر من ملف في آن واحد نسند القيمة True للخاصية Multiselect.

     

    OpenMyFile.Multiselect = true;

    وهناك الخاصية FileNames التي تعود بمصفوفة من نوع String ..

    string[] AllSelectedFiles = OpenMyFile.FileNames;

     

     

    كما أريد أن اذكر دواعي استعمال الفئة Path ,, سأذكر بعض الطرق المهمة وهي :-

    Path.GetDirectoryName("Your Path");

    للحصول على اسم المجلد فقط .

    Path.GetFileName("File Path");

    للحصول على اسم الملف.

    Path.GetFileNameWithoutExtension("Your Path")

    للحصول على اسم الملف بدون الامتداد.

    Path.ChangeExtension("Path Of My File", ".exe");

    لتغيير امتداد ملف.

    Path.GetPathRoot("File Or Folder Path");

    للحصول على القرص الذي يحتوي على الملف أو المجلد.

     

     

    بعد هذه المقدمة .. سنتعامل الآن مع الملفات النصية وقراءة ما بداخلها عن طريق StreamReader .. و الكتابة داخلها عن طريق StreamWriter .

    نقوم بتعريف الكائن ..

    StreamReader MyReader = new StreamReader("FilePath");

     

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

    1)      Read تقوم هذه الطريقة بتعبئة مصفوفة من الحروف char[] بحسب عدد الأحرف التي تحددها وأيضا بتحديد نقطة البدء .. بالشكل التالي :-

    char[] MyCharArr = new char[30];

    MyReader.Read(MyCharArr, 0, 30);

     

    2)      ReadLine  تستعمل لقراءة سطر واحد وبدورها تقوم بتحول مؤشر القراءة Position للفئة القاعدية أي خاصية BaseStream الموجودة في هذه الفئة .. بالتالي عند القراءة في المرة التي تليها عن طريق ReadLine سيقرأ السطر الثاني وليس الأول.. يمكننا استغلال هذه الطريقة لقراءة عدد معين من الاسطر في وتعبئتها في مصفوفة من string .

    string[] StArr = new string[3];

    for (int i = 0; i < StArr.Length; i++)

    {

      StArr[i] = MyReader.ReadLine();

    }

    3)      الطريقة ReadToEnd لقراءة الملف بالكامل ..

    string FileText = string.Empty;

    FileText = MyReader.ReadToEnd();

    ولا ننسى دائما قفل الملف

    MyReader.Close();

    و بالنسبة للكتابة داخل ملف نستعمل الفئة StreamWriter

    StreamWriter MyWriter = new StreamWriter("FilePath");

    وللكتابة هناك طريقتنا WriteLine كسابقتها .. و الطريقة Write .. تستخدم بعدة طرق ..

    منها استقبال مصفوفة من الحروف , وتحديد نقطة البداية و النهاية , وعدة طرق أخرى راجع مستندات MSDN لمزيد من المعلومات حولها ..

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

    MyWriter.Write("Your Text");

    و اقفل الملف

    MyWriter.Close();

     

    في النهاية قد قمت بإنشاء مثال بسيط يقوم بفتح وإنشاء ملف و الكتابة داخله.. شبيه بمحرر النصوص Notepad.

    قم بتحميله

     

     

     

    هكذا قد انتهى هذا الجزء من الدرس ,, وترقبونا في الدرس القادم للتعامل مع الملفات الثنائية .. إلى ذلك الحين تقبلوا مني أطيب التحيات ولا تنسونا من صالح دعائكم ..

     

     

    مهند بندق.

     
    التعليقات (2)
    بواسطة عيد حمزة من مصر 2 اغسطس 2012

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


    بواسطة مهند بندق من ليبيا 3 اغسطس 2012

    سيد عيد هذا الكود المطلوب

    this.TopMost = true;

    وشكرا على المرور أما بخصوص الكود الذي راسلتني من اجله لمعرفة مسار System
    تستطيع استعمال
    Environment.GetFolderPath(Environment.SpecialFolder.System)

    ولمعرفة مسار ويندوز
    Environment.GetFolderPath(Environment.SpecialFolder.Windows)

    وهكذا تستطيع الوصول للعناصر الموجودة في enum المسماة

    Environment.SpecialFolder

    للوصول الى بقية مجلدات المستخدم ونظام التشغيل

    تحياتي..






           
    الإسم
    الدولة
    البريد الإلكتروني
    المحتوى  
    أكتب النص الظاهر في الصورة
     


    ديسمبر
    23
    برنامج للتعديل على ويندوز 7 Windows ودمج التحديثات Win Integrator
    2009
    كتـب بـواسطة : مهند بندق , التصنيف : أخبار وشروحات , عدد المشاهدات (7605)
    أغلبنا يعرف البرنامج الشهير في تعديل نسخ Windows XP ودمج التحديثات و اللغات فيه وإنشاء ملفات الإجابة وحقن حزم التحديث service pack وهو Nlite , وظهر برنامج آخر عند صدور Windows Vista يؤدي نفس الغرض بالتعامل مع برنامج أنشأته الميكروسوفت وهو Windows Automated Installation Kit وهو صعب الاستخدام نوعا ما فالتعامل معه يكون بسطر الأوامر ووجد Vlite لتبسيط العمل به حيث يعتبر كواجهة غير مباشرة له.. وعند ظهور ويندوز 7 أصدرت ميكروسوفت الإصدار الثالث من Windows Automated Installation Kit لتعامل مع
     


    ديسمبر
    17
    التعامل مع الملفات والمجلدات عن طريق C#.Net -الجزء الأول- Your File Explorer
    2009
    كتـب بـواسطة : مهند بندق , التصنيف : دروس في البرمجة , عدد المشاهدات (3563)
    من الاشياء أو المهام التي لا بد من المبرمج اتقانها هي التعامل مع الملجدات ,و الملفات بمختلف أنواعها , حيث يقوم بإجراء عمليات عليها من نسخ وتعديل وحذف , و التعامل مع الملفات النصية بصورة خاصة للكتابة داخلها جمل معينة أو البحث داخلها ..

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





    حقوق النشر محفوظة لـ مهند بندق © 2009 - 2018
    Programmed And Designed By : Mohaned Bondoq
    Copyright © 2009 - 2018