|
احصائيات سريعة
اكثر المحتويات زيارة
الدوال في الاكسل (4,649 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (3,223 مشاهده) الدرس الثالث : بعض تطبيقات الدوال في اكسل (2,413 مشاهده) تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (1,853 مشاهده) الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (1,698 مشاهده) شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (1,660 مشاهده) تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (1,659 مشاهده) أنواع العلاقات وطريقة الربط بين الجداول. (1,568 مشاهده) مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,372 مشاهده) الدرس الأول : عمل شريحة في البوربوينت (1,317 مشاهده) أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,315 مشاهده) دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,151 مشاهده) كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,135 مشاهده) اضافه صوت ونص لخلفيه في باور بوينت (1,096 مشاهده) درس تعريب المجلة (1,080 مشاهده) برنامج Windows Movie Maker لتكوين أفلام (1,067 مشاهده) شرح طريقة التجميع Grouping في برنامج الاكسل (1,060 مشاهده) التعرف على مكونات الكمبيوتر (1,029 مشاهده) مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (981 مشاهده) كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (909 مشاهده) مقدمة عن لغة البيسك (898 مشاهده) ما هو المات لاب MATLAB؟ (890 مشاهده) الفيجوال بيسك - مقدمة (865 مشاهده) دروس في الأوفيس الأكسس - Access0- (831 مشاهده) نبذه عن الفيجوال بيسك (795 مشاهده)
الجديد
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (490 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (284 مشاهده) ضبط خيارات اللغة فى الـ Microsoft Word0--- (303 مشاهده) استخدام لوحة المفاتيح في الـ Word0---- (431 مشاهده) إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (384 مشاهده) دمج المراسلات0-- (198 مشاهده) وضع صورة كخلفية للنص0-- (287 مشاهده) السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (223 مشاهده) كتابة الأرقام الكسرية ورموز المعادلات0-- (342 مشاهده) درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (260 مشاهده) دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (736 مشاهده) دورة الأكسيس : الدرس الرابع : العلاقات0---- (439 مشاهده) أساسيات في Access0--0 (283 مشاهده) تصميم تقرير لطباعة البيانات0---- (343 مشاهده) تصميم نموذج استعراض البيانات0--تصميم نموذج استعراض البيانات0-- (319 مشاهده) تصميم نموذج إدخال البيانات0--- (340 مشاهده) إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (289 مشاهده) خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (234 مشاهده) خطوات إنشاء الماكرو في تذييل النموذج (1)0- (240 مشاهده) استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (281 مشاهده) استعلامات SQL في Access - تحديث البيانات الجدولية0-- (249 مشاهده) الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (144 مشاهده) الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (174 مشاهده) تصميم تقرير لطباعة الإجمالي0--- (206 مشاهده) استعلامات التحديد Select Query مع أمثله (1)0--- (258 مشاهده)
البحث
روابط ذات صلة
مدرسة المشاغبين
منتديات مدرسة المشاغبين خدمات منوعة و فوائد عامه دليل مواقع تحميل رفع الملفات بطاقات كروت الأسرة المسلمة الحياة الجنسية دردشة شات قصص روايات العاب فلاش flash games برامج مجانية رسائل مسجات جوال بلوتوث البوم صور المرجع الإسلامي هاكات سكربتات scripts ستايلات style أدوات المصمم design الجافا java الوطن العربي ديوان شعر قصائد poetry poem طبخ أكلات food نكت طرائف مضحكة ابتسامات خلفيات تواقيع ترجمة قواميس translate فلاشات إسلاميه طب صحة تداوي أمراض ستلايت قنوات فضائية satellite دروس شروح تعليم lessons معلومات ثقافيه ابحاث علميه عالم حواء عالم المرأة تفسير الأحلام dreams إحداثيات المناطق gps بروكسي أفلام فيديو ماسنجر مسنجر قبائل تاريخ ارشيف خريطة خارطة سايت ماب
من هنا وهناك
قريبا باذن الله
قريبا باذن الله قريبا باذن الله قريبا باذن الله قريبا باذن الله |
دروس كمبيوتر وصيانة دروس حاسب دروس مجلة درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus > البرمجة تحت اللنكس -Linux Programming > تخاطب البرامج بإستخدام الـ pipe
كلمات البحث
تخاطب , البرامج , بإستخدام , pipe ,
ابحث ايضا عن
تعلم تخاطب البرامج بإستخدام الـ pipe
دروس تخاطب البرامج بإستخدام الـ pipe
تعليم تخاطب البرامج بإستخدام الـ pipe
درس تخاطب البرامج بإستخدام الـ pipe
لتعليم تخاطب البرامج بإستخدام الـ pipe
شروح تخاطب البرامج بإستخدام الـ pipe
تدريس تخاطب البرامج بإستخدام الـ pipe
تعلمي تخاطب البرامج بإستخدام الـ pipe
شرح تخاطب البرامج بإستخدام الـ pipe
تعليمي تخاطب البرامج بإستخدام الـ pipe
معلم تخاطب البرامج بإستخدام الـ pipe
كيفية تخاطب البرامج بإستخدام الـ pipe
الدرس تخاطب البرامج بإستخدام الـ pipe
الشرح تخاطب البرامج بإستخدام الـ pipe
الدروس تخاطب البرامج بإستخدام الـ pipe
تعلمي تخاطب البرامج بإستخدام الـ pipe
علم تخاطب البرامج بإستخدام الـ pipe
لشرح تخاطب البرامج بإستخدام الـ pipe
فهم تخاطب البرامج بإستخدام الـ pipe
تخاطب البرامج بإستخدام الـ pipe
بسم الله الرحمن الرحيم
تطرقنا في درسنا السابق إلى الدالة fork و إستخداماتها و تعلمنا كيف من الممكن أن ننشئ من برنامجنا الأصلي برنامج إبن له Child, في درسنا اليوم سوف نتطرق إلى الدالة Pipe التي من خلالها سوف نجعل البرنامج و إبنه يتبادلون الرسائل بينهم بواسطة ما يسمى بالـ pipe .
أولاً: ما هو الـ pipe ? الـ pipe هو دالة - system call - في نظام التشغيل Linux/Unix و التي من شأنها تبادل المعلومات بين البرامج أو الـ Processes, سواء كان بين الأب و إبنه أو برنامج و برنامج آخر ... و الـ pipe هو نظام نقل بيانات أحادي الإتجاه one-way, و يمكن القول أنها عبارة عن ملف مؤقت Temporary File و التي من شأنها أن يكتب البرنامج الأول معلومات إلى البرنامج الثاني لكي يقرأها ... كما هو موضح في الرسم 1.1
و من الممكن إنشاء الـ pipe بإستخدام الدالة pipe و التي تأخذ الشكل التالي: int pipe(int fd[2]); و نلاحظ أن الدالة تستقبل مصفوفة من عنصرين و اللذين يكونان بالشكل التالي: fd[0] is for reading. fd[1] id for writing. و عند نجاح إستدعاء الدالة فإنها ترجع القيمة صفر و عند الخطأ -1 .
و لاكن عند المثال يتضح المقال, وقبل أن نأخذ هذا المثال سنتعرف على دالتين هما: int read(int fd, void *buf, size_t count); int write(int fd, const void *buf, size_t count); و اللتان تقرآن و تكتبان في الـ pipe, المتغير الأول نعطيه في الـ read المتغير [fd[0 و في الـ write نعطيه المتغير [fd[1. أما المتغير الثاني فنعطيه أي شيئ سواء كان record أو متغير عادي و لكن لابد أن يكون مؤشر كما هو واضح أو يكون مصفوفة ( طبعاً المصفوفة و المؤشر شيئ واحد كما نعرف ). و جميع الثلاثة دوال pipe, read and write توجد في المكتبة: unistd.h
و الآن لنأحذ المثال التالي:
#include <unistd.h> #include <stdio.h> int main( ) { int fd[2]; /* descriptors for the pipes */ char buf[1]; /* buffer to be used for read and write */ if (pipe(fd) == -1) perror("error creating a pipe"); else { switch(fork()) { case –1: perror("error creating a child"); break; case 0: /* child process is a pipe reader */ close(fd[1]); /*Close pipe write end */ read(fd[0], (char)buf, 1); /* read pipe into buf */ printf("%c \n", buf[0]); /* print contents of buf */ break; default: /*parent process is pipe writer */ close(fd[0]); /*Close read end */ write(fd[1], 'a', 1); /* write pipe into buf */ break; } /* end of switch */ } /* end of else */ }
لشرح هذا المثال: في الأول هذا برنامج بسيط يرسل الأب إلى الإبن الحرف a و يطبعة الإبن. عرفنا المتغير fd من نوع int كمصفوفة من متغيرين للـ pipe ثم عرفنا المتغير buf من نوع char و مصفوفة من عنصر واحد ( تذكر المصفوفة هي مجرد تمثيل بإستخدام المؤشرات ). ثم أنشأنا الـ pipe و تأكدنا أنه لم يرجع سالب واحد ( أي لايوجد فيه أخطاء ). الآن عملنا fork طبيعية كما درسنا في الدرس السابق.
في جزء الإبن: case 0 ... سوف نغلق طرف الكتابة في الإبن لأننا سوف نقرأ ثم نصل إلى الجملة: read(fd[0], buf, 1);
عندها يقف الإبن في إنتظار أن يكتب له ... الآن في الجزء الخاص بالأب سنغلق طرف القراءة لأننا سوف نكتب في الـ pipe و سوف نكتب للأبن الحرف a في طرف الكتابة [fd[1 الآن الإبن سوف تصله هذه الرسالة و سوف يقرأها من طرف القراءة [fd[0 و يخزنه في المتغير buf ثم سنطبع المتغير buf و ستجد أنه الحرف a .
طبعاً من الممكن أن نغير قليلاً في البرنامج لنجعله يقرأ سلاسل حرفية أو حتى سجلات Structures .
في درسنا هذا درسنا فقط الـ Low level Piping أما الـ High level Piping فهو شبيه جداً بالملفات ربما نتطرق إليه في درس آخر.
الآن يمكنك التعديل على البرنامج السابق لعمل أشياء كثيره جداً لتقسيم المهام بين الاب و الابن ثم التراسل فيما بينهم.
و إن شاء الله سوف نتطرق في درسنا القادم إلى دوال الـ exec family .
هذا و الله أعلم ...
تحياتي طلال السبيعي.
تخاطب البرامج بإستخدام الـ pipe
أضف هذه المادة في موقعك:
مواد مشابهة:
|
