لي سؤال اخ وضاح
ما هي دلالة النقطة التالية
return(0)
وجدتك تكتبها في نهاية كل كود ولم افهمها وما دلالة الرقم صفر :016:
Printable View
لي سؤال اخ وضاح
ما هي دلالة النقطة التالية
return(0)
وجدتك تكتبها في نهاية كل كود ولم افهمها وما دلالة الرقم صفر :016:
بارك الله فيك
أهلا بك أخي الكريم
كل وظيفة يجب أن تعود بقيمة محددة عند استدعائها .
حتى لو لم يكن مطلوبا من الوظيفة أن تعود بقيمة يجب وضع هذه العبارة آخر سطر في الوظيفة .
مثال :
في المثال السابق كتبنا وظيفة تقوم بضرب الرقم المدخل في 2 وتعيد النتيجة .كود PHP:
int start()
{
Print (MyFunvtion(5));
}
int MyFunction(int i)
{
return(i * 2);
}
ولذلك فإن الأمر Print ستكون النتيجة 10 .
راجع درس الوظائف في هذا الموضوع لمزيد من التفاصيل .
أشكر جميع الإخوة المشاركين في هذه الدورة
وإن شاء الله يستفيدوا منها
بسم الله الرحمن الرحيم
سنتكلم في هذا الدرس عن بعض الوظائف الهامة مع الشرح
- الوظيفة NormalizeDouble :
استخدام الوظيفة يكون على الشكل التالي:
تقوم هذه الوظيفة بتحويل الرقم العشري إلى رقم عشري بعدد خانات محدد.كود PHP:
NormalizeDouble(double value, int digits);
مثلا الرقم 1.298765 يمكن تحويله إلى 1.2987 أو إلى الرقم 1.29 وهكذا.
يستفاد من هذه الوظيفة لجعل قيم الأسعار متوافقة مع وظائف الشراء والبيع.
فمثلا لو حسبنا مقاومة بناء على معادلة معينة وكانت النتيجة 1.98765432 فإننا لن نستطيع استخدام هذا الرقم مباشرة في الدخول لصفقة بيع أو شراء.
بل يجب أولا أن نجعله متوافقا مع الأسعار القياسية ولذلك فإننا يجب ان نحسنه باستخدام هذه الوظيفة على الشكل التالي:
وكما تعلمنا سابقا فإن Digits تعطينا عدد الخانات العشرية المتبعة مع الزوج الحالي.كود PHP:
double A=(معادلة حسابية);
double myAsk = NormalizeDouble(A,Digits);
بهذه الطريقة نضمن الحصول على رقم يمكن التعامل معه من خلال وظائف البيع أو الشراء.
كما انه من المستحسن أن تظهر الأرقام على المؤشر أيضا بعد تحسينها حتى لا تظهر بخانات عشرية أكبر أو أصغر.
- الوظيفة DoubleToStr :
تستخدم هذه الوظيفة على الشكل التالي:
تقوم بتحويل الرقم العشري أو الصحيح إلى نص. ويمكن أيضا التحكم بعدد الخانات العشرية التي نريدها.كود PHP:
string DoubleToStr(double value, int digits);
- الوظيفة StrToDouble :
تستخدم على الشكل التالي:
وهي عكس الوظيفة السابقة حيث تحول النص المكون من أرقام إلى رقم يمكن التعامل معه رياضيا.كود PHP:
double StrToDouble(string value);
لأن الرقم النصي مثل "4.3445" لا يمكن التعامل معه رياضيا.
قد لا تجد فائدة مثلا من هذه الوظيفة الآن ولكننا سنجدها مفيدة جدا عندما نقرأ قيما رقمية من ملفات نصية ونحتاج إلى تحويلها إلى قيما رقمية. وسيتم شرح هذه الأمور بالتفصيل عند تعاملنا مع الملفات إن شاء الله.
- الوظيفة StrToInteger :
تستخدم على الشكل التالي:
وهي نفس عمل الوظيفة السابقة ولكنها تحول النص الرقمي إلى رقم صحيح وأنتم تعلمون الفرق بين الأرقام الصحيحة والأرقام العشرية.كود PHP:
int StrToInteger(string value);
- الوظيفة StrToTime :
لها الاستخدام التالي:
وهي تحول النص الذي يتضمن تاريخا مثل "2007.05.06 05:30" إلى قيمة في متحول زمني datetime.كود PHP:
datetime StrToTime(string value);
الوظيفة TimeToStr :
لها الاستخدام التالي:
وهي تحول القيمة الزمنية إلى نص ولها بارامتر إضافي خياري نحدد من خلاله المعطيات التي نريد تحويلها إلى نص.كود PHP:
string TimeToStr(datetime value, int mode=TIME_DATE|TIME_MINUTES)
القيمة الافتراضية هي TIME_DATE|TIME_MINUTES أي أننا نريد تحويل النص الزمني إلى تاريخ وإلى دقائق بدون ثواني.
أما إذا وضعنا الثابت TIME_DATE|TIME_SECOND فهذا سيجعل القيمة النهائية تحتوي على ثواني أيضا.
مثال:
سينتج لنا نص يحتوي على التاريخ الحالي متضمنا الثواني أيضا.كود PHP:
string var1=TimeToStr(TimeCurrent(),TIME_DATE|TIME_SECONDS);
- الوظيفة CharToStr :
لها الاستخدام التالي:
مهمة هذه الوظيفة هي تحويل رقم صحيح من 0 - 255 إلى حرف وحيد.كود PHP:
string CharToStr(int char_code);
من المعلوم أن لكل حرف أبجدي للانجليزي والعربي وبعض الرموز الأخرى رقما يحدده .
وهذه الأرقام تعرف بجدول الآسكي ASCII .
فمثلا رمز المسافة هو 32 ورمز الحرف a هو 65 وهكذا.
أحيانا نضطر لكتابة بعض الرموز الخاصة عن طريق رقمها وسنجد استخدامات مفيدة لهذه الوظيفة لاحقا.
كل الوظائف السابقة تسمى وظائف التحويلات ومهمتها التحويل بين أنواع المتحولات المختلفة وهي ضرورية جدا لعمل برامجنا في المستقبل.
نكمل شرح بعض الوظائف الهامة الأخرى:
الوظائف الزمنية:
- الوظيفة Day :
هذه الوظيفة تعيد لنا قيمة اليوم كرقم فمثلا نحن الآن في التاريخ 16/7/2007 فإن قيمة ()Day ستكون 16.
هذه الوظيفة يستفاد منها في معرفة رقم اليوم لاستخدامات كثيرة منها على سبيل المثال الحماية للكود بانتهاء الصلاحية بعد يوم كذا من شهر كذا.
- الوظيفة DayOfWeek :
تعود هذه الوظيفة برقم اليوم اعتمادا على الأسبوع الحالي بدءا من الرقم صفر ليوم الأحد ثم واحد ليوم السبت وهكذا.
يمكن مثلا وضع الشرط الحالي في اكسبيرت ما لكي لا يعمل في أيام العطل السبت والأحد.
- الوظيفة DayOfYear :كود PHP:
// يجب عدم العمل في أيام العطل
if(DayOfWeek()==0 || DayOfWeek()==6) return(0);
تعود لنا برقم اليوم بالنسبة للسنة الحالية بدءا من الرقم واحد لأول يوم في السنة انتهاء بالرقم 365 لآخر يوم في السنة.
- الوظيفة Hour :
تعيد لنا هذه الوظيفة رقم الساعة بالنسبة لليوم ابتداء من الرقم صفر للساعة 12 عند منتصف الليل وانتهاء بالرقم 23 للساعة 11 مساء.
يستفاد من هذه الوظيفة مثلا لتحديد ساعات عمل اكسبيرت ما في أوقات محددة ويكون الشرط على الشكل التالي:
- الوظيفة Minute :كود PHP:
int start()
{
if(Hour()<12 || Hour()>17) return(0);
......
}
تعيد لنا هذه الوظيفة رقم الدقيقة بالنسبة للساعة الحالية بدءا من الصفر للدقيقة الأولى وانتهاء بالرقم 59 لآخر دقيقة في الساعة.
يمكن من خلال هذه الوظيفة مثلا معرفة كم تبقى من دقائق للساعة الحالية للانتهاء.
- الوظيفة Month :
تعيد لنا هذه الوظيفة رقم الشهر بالنسبة للسنة الحالية بدءا من الرقم 1 للشهر الأول من السنة وحتى الرقم 12 للشهر الأخير من السنة.
- الوظيفة Seconds:
تعيد لنا رقم الثانية بالنسبة للدقيقة الحالية بدءا من الرقم صفر لأول ثانية بالنسبة للدقية وانتهاء بالرقم 59 لآخر ثانية.
- الوظيفة Year :
تعيد لنا رقما عبارة عن السنة الحالية فمثلا:
كود PHP:
Print(Year());
// الناتج سيكون 2008
- الوظيفة TimeCurrent :
تعيد لنا آخر تاريخ ووقت حصل فيه تغير للسعر للزوج المستخدم على الشارت.
- الوظيفة TimeDay :
تعيد لنا رقم اليوم بالنسبة لتاريخ مدخل مثلا:
هذه الوظيفة مشابهة للوظيفة Day ولكنها تحتاج لتاريخ محدد.كود PHP:
int day=TimeDay(D'2003.12.31');
// النتيجة ستكون 31
- الوظائف TimeDayOfWeek TimeDayOfYear TimeHour TimeMinute TimeMonth TimeSeconds TimeYear :
نفس عمل الوظائف المشروحة سابقا والتي لها نفس الاسم بدون Time.
وجميعها لها نفس المعنى ولكن على تاريخ محدد وليس على التاريخ الحالي.
- الوظيفة TimeLocal :
تعيد لنا تاريخ ووقت الجهاز الحالي المحلي. وقد يكون مختلفا عن تاريخ ووقت السيرفر لذلك يجب الانتباه.
والآن أصبح لديك كل الوظائف اللازمة للتعامل مع التاريخ والوقت وسنرى في الدروس القادمة أنها وظائف هامة فعلا وخصوصا عند تعاملنا مع الاكسبيرتات.
جزاك الله كل خير
أخي وضاح اشكرك علي مجهودك
وشكري لن يوفيك حقك
فارجو من الله ان يجزل لك العطاء
وانا اول مرة اليوم اري موقعك واعجبت به جدا
وساحاول ان ابد من الاول لكي اتعلم
واسأل الله التوفيق لي ولكم
ابو عمار
الله يبارك فيك ويبارك لك في مالك وعلمك استاذ وضاح ... جهد واضح ما شاء الله ..
دروس الاستاذ وضاح في ملف pdf.....:asvc:
بارك الله فيكم إخوتي الكرام
انتظروا باقي الدروس الهامة جدا إن شاء الله قريبا جدا