دوال واجهة برمجة التطبيقات Api

الكاتب : نجيب المجيدي   المشاهدات : 1,697   الردود : 10    ‏2003-12-21
      مشاركة رقم : 1    ‏2003-12-21
  1. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    السلام عليكم إخواني الأعزاء
    أحب أن أدعوكم جميعاً
    و أقصد هنا جميع اعضاء المنتدى لمناقشة هذا الموضوع مناقشة جادة نظراً لأهميته لكل من يحب عمل برامج لم يكن يحلم بعملها من قبل باستخدام لغة البرمجة لوحدها
    وأدعو أيضاً من لهم خبرة في التعامل مع هذه الدوال لمناقشة آرائهم و الاستفادة من خبرتهم في هذا المجال
    ولترتيب الطرح في هذا الموضوع أقترح الآتي:

    1- طرح إحدى دوال API.
    2- مناقشة الغرض من هذه الدالة ومتى يجب استخدامها وبالتالي
    طريقة التصريح عنها .
    3- مناقشة الاستخدامات الأخرى لهذه الدالة إن وجدت وكذا كيفية تمرير
    القيم لها .
    4- طرح المشاكل التي قد تتسبب بها الدالة وكيفية معالجتها .
    5- مناقشة امكانية استخدام هذه الدالة مع كل نظام تشغيل على حده .

    أي أن يكون هذا الموضوع مخصصاً لمناقشة كل ما يتعلق بدوال API
    تمهيداً لتخصيص قسم خاص لها.
    وهذا ما أنوي اقتراحه على الأخ المشرف ولكن بعد أن نثبت اهميتها وأن القسم الخاص بها لن يبقى مهجوراً (أليس كذلك:p )
     
  2.   مشاركة رقم : 2    ‏2003-12-21
  3. العمراوي

    العمراوي مشرف سابق

    التسجيل :
    ‏2002-11-24
    المشاركات:
    7,510
    الإعجاب :
    4
    موضوع مهم للغاية .,.,.,.,

    وعلى أي حال لو لاقى الموضوع الإهتمام المناسب من الأعضاء فسيثبت وأما على إنشاء منتدى خاص بها فلكل حدث حديث .,.,.,.,

    وأنا مشارك في هذا الموضوع بقوة .,.,.,.,
     
  4.   مشاركة رقم : 3    ‏2003-12-21
  5. Nora

    Nora عضو

    التسجيل :
    ‏2003-09-04
    المشاركات:
    59
    الإعجاب :
    0
    السلام عليكم ورحمة الله وبركاته .

    بالفعل موضوع مهم لكن أنا بصراحة لا أدري كيف يتم البدء بالتعامل مع هذه الدوال بعد معرفة خصائصها من API Guid حيث أن الخوف يكمن في الاستخدام الخاطئ لهذه الدوال الذي قد يؤدي الى نتائج غير مرغوب فيها ...

    لذلك طرح أمثلة برمجية عملت و أدت الغرض ( طبعا بعد مناقشة الغرض من هذه الدالة ومتى يجب استخدامها ) من ذوي الخبرة سيفيد كثيراً ...
     
  6.   مشاركة رقم : 4    ‏2003-12-21
  7. 3laa3sam

    3laa3sam عضو فعّال

    التسجيل :
    ‏2003-06-21
    المشاركات:
    619
    الإعجاب :
    0
    كويس...

    ممتاز ....بس عارف حاجه مش كل دوال الAPI بتشتغل ع الويندوز وانا من شايف إن الاحسن الواحد ميلجئش ليها إلا بعد ما تزهق الروح ....!!!
     
  8.   مشاركة رقم : 5    ‏2003-12-23
  9. العمراوي

    العمراوي مشرف سابق

    التسجيل :
    ‏2002-11-24
    المشاركات:
    7,510
    الإعجاب :
    4
    يا عزيزي علاء .,.,.,.,

    دوال الApi تعتبر هي الوسيلة الأسرع والأحسن للتعامل مع الويندوز وأيضا الوسيلة الأكثر فعالية لكونها لا ترتبط بجهاز معين أو كونها لا ترتبط بOCX معين و كلها دوال موجوده في مكتبة الويندوز نفسه .,.,.,.,.,

    ويالله يا شباب ورونا الهمة والتفاعل .,.,.,.,
     
  10.   مشاركة رقم : 6    ‏2003-12-23
  11. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    بسم الله

    تحياتي للأخ المشرف و أشكر الأخ علاء على المشاركة
    قد نتفق على أن بعض دوال واجهة برمجة التطبيقات تسبب مشاكل في عمق النظام ولكن هذه الدوال
    إذا أحسنا استخدامها و ذلك بعد أن نعرف ماهية المشاكل التي تسببها ونعمل على منع ذلك باستخدام إجراءات
    إضافية وأحياناً باستخدام دوال API أخرى وهذا ما نحن بصدده هنا في هذا الموضوع
    أي دراسة هذه الدوال ومعرفة الاستخدام الأمثل لها.
    وقد سبق وأشرت إلى أن استخدام هذه الدوال ليس عبطاً فهي مصممة أصلاً لتقوم بمهام معقدة في النظام لا يستطيع المبرمج
    تأديتها باستخدام مهارات البرمجة العادية
    إذاً لن يكون لديك الخيار أصلاً لتفضل شيءً آخر عليها وكذلك كما أشار الأخ المشرف فإنها لا ترتبط بأدوات معينة
    وهي معرفة في جميع إصدارات الويندوز وهنا نأتي إلى مبدأ التوافقية المدعوم بشدة في هذه الدوال

    ولكن يحدث في بعض الأحيان أن لا توجد المكتبة التي تدعم إحدى هذه الدوال وهنا نجد أننا يمكن أن نعثر على هذه
    المكتبة في دقائق عن طريق الانترنت

    إذاً ما المشكلة في استخدامها (في الحقيقة لا أستطيع أن أتخيل الفيجوال بيسك بدون دوال API)

    وإذاً لنبدأ ...

    أحب أن أبدأ بمقدمة بسيطة عن API Text Viewer
    هذا هو برنامج بسيط لاستعراض دوال API يحمل ضمن CD فيجوال بيسك ويمكن أيضاً تحميله من الإنترنت
    وبعد تشغيله نختار من قائمة ملف الأمر Load Text File ومن ثم نختار الملف Win32API.txt من مربع حوار الفتح
    ونختار الزر فتح
    يمكن بعد ذلك و كخطوة اختيارية نختار Convert Text to database لتحويل الملف إلى قاعدة بيانات لتوفير سرعة بحث أعلى ونحفظه
    وبعد ذلك نختار الأمر
    Load DataBase File و نحدد قاعدة البيانات win32api.mdb
    في API Type نحدد الخيار Declars وذلك للبحث عن تصريحات الدوال أو Constants للبحث عن الثوابت التي تمرر
    لبعض الدوال أو Types للبحث عن أنواع البيانات المعرفة للمستخدم و التي نحتاجها عند استخدام بعض الدوال


    ولنبدأ بالمثال التالي :
    نريد برنامج يقوم بإغلاق الويندوز وهذا يتضمن عمليات إعادة التشغيل و تسجيل الخروج ...
    سنقوم بالبحث عن التصريح الخاص بالدالة ExitWindowsEx وهو كالتالي :
    [align=left]
    كود:
    Public Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
    ما علينا بعد ذلك إلا البحث عن الثوابت التي تحدد العملية المطلوبة هل نريد الإغلاق أو إعادة التشغيل إلخ....
    وستكون الثوبت كالآتي :
    [align=left]
    كود:
    Public Const EWX_LOGOFF = 0
    Public Const EWX_REBOOT = 2
    Public Const EWX_SHUTDOWN = 1
    نلا حظ أننا نستطيع استخدام الكلمة المحجوزة Public أو Private بحسب منطقة التعريف

    وبعد اختيار الأمر Copy نقوم بلصق التصريحات في المكان الخاص بها في نافذة برمجة فيجوال بيسك
    ونكتب الكود التالي مثلاً :
    [align=left]
    كود:
    Private Sub Command1_Click()
    ExitWindowsEx EWX_SHUTDOWN, 0
    End Sub
    فهل من الممكن عمل ذلك بدون استخدام هذه الدالة


    وبذا نكون قد انتهينا

    عفواً أقصد بدأنا حيث أننا سنبدأ بمناقشة المشاكل التي قد تتسبب بها هذه الدالة إذا وجدت مشاكل وكذا تمرير الثوابت لها
    وأنا في انتظار مشاركاتكم

    ( أفتقدك بشدة يارغيد وأتلهف لقراءة ماتكتبه )
     
  12.   مشاركة رقم : 7    ‏2003-12-25
  13. 3laa3sam

    3laa3sam عضو فعّال

    التسجيل :
    ‏2003-06-21
    المشاركات:
    619
    الإعجاب :
    0
    أنا قلت...رائي ياجماعه

    معرفش ...محقق كونان بس أنا كان كل القصد أقول رئيي وبس وأنا ع فكره لسى مصمم إن الاحسن الواحد يبتعد من إستخدام (API) .
    نجيب المجيدي ....باين عليك عندك إلمام مش بطال في اللغه دي وده شيء جميل جداً بصراحه يعني بس عارف حاجه بدايه الموضوع ده وحكايه الاستعاضه بشيء أخر عوضاً عن إستخدام ال(API) ده شيء جميل جداً.

    عموماً....ربنا معاكم كلكم ويالا زي مقال المحقق كونان (ورونا الهمه والتفاعل).
     
  14.   مشاركة رقم : 8    ‏2003-12-25
  15. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    شكراً يا أخ علاء, بس على فكرة أنا مش بالشكل اللي انت متصوره أنا مجرد تلميذ
    في هذا المجال ومعلوماتي سطحية
    أنا فتحت باب النقاش هنا عشان نستفيد من بعض ولحد الآن أرى ان التفاعل اللي كنت اتصورة مش موجود
    عموماً أشكرك انت و الأخ المحقق كونان على المشاركة وأقول ان فكرة تخصيص قسم لهذا الموضوع شكلها كانت ساذجة
    يالله ... ما علينا
     
  16.   مشاركة رقم : 9    ‏2003-12-25
  17. 3laa3sam

    3laa3sam عضو فعّال

    التسجيل :
    ‏2003-06-21
    المشاركات:
    619
    الإعجاب :
    0
    ومين قال....

    ياسيدي..مين قال كده، فكرتك كويسه بس لما يكون هناك في تفاعل ممتاز عموماً مش عاوز أديك وعد إني هشارك بس خليها للوقت .
    وع فكره...إوعى تقول ع نفسك كلام زي ده من تاني , ماشي !!!
     
  18.   مشاركة رقم : 10    ‏2003-12-26
  19. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    وأنا في انتظار مشاركاتك يا علاء
     

مشاركة هذه الصفحة