مرحبا ,,,
قد يعتقد البعض أن برمجة الجوال خاصة بلغة الجافا فقط وينسى لغة السي ( اللغة الأم)
قبل فترة كتبت موضوع لبرمجة البلوتوث + الكميرا بإستخدام الجافا والحزم البرمجية
تجد الموضوع هنا :
وسأقوم بكتابة نفس الأكواد بإستخدام السي++ ( لكي لانتجاهل لغة السي )
قبل أن أبدأ عندي ملاحظة بسيطة يمكن تكون معلومة وهي
في كل مرة تظهر أنظمة جديدة أعتقد أن لغة السي لن يكون لها نصيب في برمجتها
وبعد ذلك ألاحظ أن كل شيء مكتوب بلغة السي ؟ كيف
أكثر من 85 % من الأنظمة وندوز و لينكس وماكنتوش مكتوب بلغة السي
وهذة المعلومة ليست جديدة ,, ولكن الجديد في أنظمة الأجهزة الكفية ؟!
مثل أنظمة سيمبيان و وندوز CE ( وخاصة النظام سيمبيان )
توقعت أن تكون كل برامجة بلغة الجافا لسببين
الأول : أن النظام كلة مكتوب بلغة الجافا
الثاني : أنة نظام جديد ولم تظهر لة مترجمات سي تحتوي على كل خدمات النظام
واليوم ألاحظ الإستفتاء الغريب في موقع الشركة سيمبيان
أكثر من 70% من برامج النظام (التجارية) كتبت بلغة السي, السي++
وهذا ليس بجديد على لغة السي لأنها الأقدم ولها جيش من المبرمجين ؟!
وأعتقد أن أي نظام جديد يظهر سيختفي إذا لم يظهر لة مترجم للغة السي
-------------
نرجع للموضع :
عرفنا أن لغة السي واحدة في كل الأنظمة , والإختلاف فقط في الخدمات التي
يقدمها النظام ,, أو مايعرف بال API ( وننسى موضوع لغة السي القياسية )
وإذا فهمت api لأي نظام فإنك تصبح مبرمج سي للنظام بعينة ؟!
دوال API للنظام سيمبيان كثيرة وهذا المرجع
http://www.symbian.com/developer/techlib/v...e%2ecpp%2eindex
دوال API وأمثلة لبرمجة الكميرا :
http://www.symbian.com/developer/techlib/v...uide/index.html
ملاحظة : كما هو الحال في لغة جافا فإن لغة السي تملك حزم برمجية
لتسهيل برمجة الأجهزة مثل حزم MFC
ومن هذة الحزم CCamera
http://www.symbian.com/developer/techlib/v...ameraclass.html
ومنها المكتبة cameraserver.lib
وهذا مثال
#include <CameraServ.h> ... RCameraServ* camera = new (ELeave) RCameraServ; // establish a connection to the camera camera->Connect(); // turn on the camera TRequestStatus status(KErrNone); camera->TurnCameraOn(status); User::WaitForRequest(status); // set lighting conditions (optional) camera->SetLightingConditions(RCameraServ::ELightingNormal); // set image quality (EQualityHigh or EQualityLow) camera->SetImageQuality(RCameraServ::EQualityHigh); // take the picture camera->GetImage(iStatus, *iBmp); User::WaitForRequest(iStatus); // close connection to the camera camera->TurnCameraOff(); camera->Close(); ...
-------------------------
برمجة البلوتوث
الدوال والأمثلة
http://www.symbian.com/developer/techlib/v...2eguide%2eindex
وهذا كتاب رائع
http://www.forum.nokia.com/Forum/Common_Te...lMkVwZGY=&type=
الرسائل والبروتوكولات والشبكات
http://www.symbian.com/developer/techlib/v...gOverview%2etoc
وهذة الأمثلة لأغلب الدوال
http://www.forum.nokia.com/main/1,6566,1_32_30,00.html
وهذا المرجع لأدوات التطوير والمترجمات وكل جديد في برمجة نظام السيمبيان بلغة السي
http://www.forum.nokia.com/main/1,6566,1_32,00.html
وبالتوفيق ,,
