مشاهدة النسخة كاملة : وقفه مع المبرمج Phillip 1


الشهاب الحارق
28 Feb 2002, 02:54 AM
وقفه في مختبر المبرمج Phillip Kerman

الدرس الأول التحقق من متصفح المستخدم أو الزائر إذ يمتلك مشغل فلاش الإصدار الخامس أم لا

شاهد المثال (http://shihaab.topcities.com/detectionVersion.html)

والسبب هو أنه إذا كان المستخدم لا يمتلك فلاش 5 فأنهُ كثير من الوظائف والنصوص البرمجية لان

تؤدي مهامه المسندة إليها كما ينبغي .


فإذا كنت ترغب في معرفة ذلك أتبع التالي

حمل التمرين (http://shihaab.topcities.com/workshop1.zip)

في الإطار الأول أكتب هذا النص البرمجي

atLeastflash4 = “1”;


في الإطار الثاني ضع blank key frame وكتب هذا النص البرمجي

If(Number(atleastflash4)==1) {

}else{
tellTarget (“flashThreeButton”) {

gotoAndStop(2);

}

stop();

}


الشرح : يقول Phillip أن الشرط الأول هو تحصيل حاصل أي لا يقوم بفعل شيء أبداً

بل أنه سيكمل المترجم العمل إلى الإطار الثالث والسبب أنه لا تستطيع أي نسخة قبل النسخة

الرابعة قراءة أداة الشرط if أي أن النسخ السابقة للبرنامج الفلاش لا تدعم أداة الشرط هذه

ولكن الغريب في الأمر أن النسخ القديم تدعم else بينما لا تدعم كما ذكرنا if

المهم إذا كانت النسخة في متصفح المستخدم تدعم أداة الشرط لن يحدث شي ء أما إذا كانت النسخة لا

تدعم أداة الشرط if فبالتأكيد ستذهب إلى الشق الأخر من النصوص البرمجية وهي الذهاب إلى الفلم المسمى

Flashthreebutton والوقوف في الإطار الثاني بالنسبةِ له

ثم النص البرمجي stop() لوقف المترجم عن القراءة


الآن تعال نصنع الفص button الذي ذكرنا للتو

اصنع فلم أذهب في الإطار الثاني داخل الفلم وأرسم زر معين

ثم حوله إلى زر ولا تنسى أن تسمى الاسم التعريفي للفلم flashtreebutton

ثم ألصق هذا النص البرمجي فيه

On(Press) {

GetURL (“http://www.macromedia.com/shockwave/download/index.cgi?p1_prod_version=shockwaveflash,”_blank”) ;

}

الشرح المستخدم الذي لا يملك فلاش 4 أي اقدم من هذه الإصدارة سرى هذا الزر

كذلك تستطيع كتابة رسالة للمستخدم لإعلامه عن التحديث أي سأترك الذوق لك

هذا العنوان سيقوم بتحديث متصفح المستخدم إلى النسخة الأخيرة من مشغل فلاش

في نفس الفلم في الإطار الأول ضع stop();


الآن تعال نهتم بمستخدمين النسخة الرابعة وما فوق

في المشهد الرئيسي في الإطار الثاني اصنع فلم وضع به زر وسمي الفلم في الاسم التعريفي flashfourbutton

الآن ضع blank Key Frame في الإطار الثالث وأكتب هذا النص البرمجي

playerVersion = eval(“$version”);
revision = subString(playerVersion,5,1);
if(Number(int(revision))<Number(int(5))){
tellTarget(“flashfourbutton”) {
gototAndStop(2);
}
}else{
getURL (“flash_five_content.html”,”_self”);
}
stop();


الشرح

المتغير playerVersion يساوي المتغير $version

وحيث أنه يستخدم العلامة $ فإننا اضطررنا أن نستخدم الوظيفة

Eval() لتقيم هذه القيمة وإرجاعها ألينا من خلال الشرط

والمتغير $version هو متغير مخصص لمعرفة بيئة التشغيل للمستخدمين

وعادة ما تكون القيمة المرجعة بالشكل التالي

Win 5,0,30,0

ف win هي البيئة المشغلة للمستخدم

5 هي الأساس أي النسخة الأساسية مثل الإصدارة خمسة أو ستة وهكذا

0 هي التفصيل مثلاً النسخة 5.5 و 6.1 وهكذا

30 وهو رقم الطبعة أو التحديث
0 وهو غير مستخدم أي فقط تحصيل حاصل

ثم قلنا أن المتغير revision يساوي القيم في المتغير المذكور للتو

معتمدً على الوظيفة subString() للمزيد عن هذه الوظيفة يمكنك الإطلاع على

المترجم الأسبوعي 2 (http://www.saven7.com/vb/showthread.php?s=&threadid=5543)

يقول المبرمج أن Number() لم تكن موجودة في فلاش 4 (لا تعليق)


المهم ما دام الأمر يتعلق بفلاش 4 فلابد من وضع الوظيفة int() وتعني integer أي تحويل الرقم

من عدد حقيقي إلى عدد صحيح مثلاً من 3.2 إلى 3 أو تحويل نص إلى رقم كمثالنا هذا . لمعرفة هل القيمة في هذا المتغير

وهو revision بعد تحويلها إلى رقم اصغر من الرقم الصحيح 5 إذا كان كذلك فالمستخدم يملك مشغل فلاش 4 فلا بد

أن يذهب إلى الزر flashfourbutton لعمل تحديث


غير ذلك سيذهب إلى موقعك الشخصي أو غيره حيث السطر الخير من النصوص البرمجية

تبين أن المستخدم يمتلك النسخة المشغلة للإصدارة الأخيرة


السؤال ماذا لو تم تحديث الفلاش إلى إصدارة أحدث من الذي كتبنا أي أحدث من 5

بلا شك سيكون العمل الذي صنعنا للتو ذاهبً أدراج الرياح

الحل يقول المبرمج هنالك طريقة للتخلص من هذه المشكلة حتى ولو تم الإصدار إلى الإصدارة العاشرة للبرنامج

التكملة في الدرس الثاني المكمل لهذا الدرس وذلك لا أستطيع أن أعطيك الدرس لكثرت الوظائف التي لم نتطرق

لها فيه وحتى يتسنى لنا ذلك سنقوم بشرح الوظائف في تسليط الضوء عليها .

هذا والله أعلى وأعلم السلام عليكم ورحمة الله وبركاته

كلاشن كوف
28 Feb 2002, 04:11 PM
ألف شكر أخوي الشهاب الحارق (ألف !!!ماتكفي)الحقيقة نحن عاجزين عن شكرك ولكن لا يسعنا الا ان ندعوا الله بان يكثر من امثالك ويزيد من حسناتك.

tamimi
08 Mar 2002, 04:56 PM
السلام عليكم
الصراحة انا شخصيا عاجز عن شكرك اخوي الي انت قاعد تسويه خدمة مستحيل اي شخص فلاشي بمنتديات سيفن ان ينسى خدمتك حتى لو ترك البرنامج اسمك راسخ بذاكرتنا حتى لو كان ناكرا للمعروف والجميل الصراحة تستاهل اننا نناديك بالاستاذ الفلاشي الشهاب :cool: تستاهل اكثر من كذا وتسلم على هذي الدروس ابطلع احمل الدروس كلها الي فاتتني لأني لما تصفحت القسم ماني فاهم ولالالالالالا شيء واابدا مكن جديد من 0 لأني اشوفكم بديتوا تتعمقون كثير :) يالله مع السلامة
واحب اقول كلمة هي
انور المنتدى بوجودك واضلم لا عدت مب فيه ومايهونون الشباب