بسم الله الرحمن الرحيم
كما وعدت درس بعد الفجر :d: ,, ولازلت أنتظر التطبيقات :f:
صناعة الـ Function
إعداد المخرجات
إعداد :: Ashalshaikh
الثلث الثاني :ـ (( افهم هذا وسيكون الثاني مثل شربة المأ)) 
تحديد Extended
- قيمة ,, تصدر من بعد الدوال ,, وهي قليلا ما تأتي ,,
- تتحمل الأرقام فقط !!
- تفسد بعد تشغيل دالة أخرى !! كما تعلمنا سابقا
هناك دالة تحدد @Extended !!
وهي
كود:
SetExtended (ExtendedNam)
لنجرب الآن شيءا بسيطا !! :d:
كما قلت بسيطا ,, ليس صنع دالة ولا أي شيء ,, فقط تعريف واستدعاء
كود:
[COLOR=#000090]SetExtended[/COLOR] [COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]2[/COLOR][COLOR=#ac00a9]3[/COLOR][COLOR=#ac00a9]6[/COLOR][COLOR=#ac00a9]5[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#000090]MsgBox[/COLOR] [COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]""[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#ff33ff]@extended[/COLOR][COLOR=#ff0000])[/COLOR]
الآن لنعملها في دالة :d::bleh:
كود:
e[COLOR=#ff0000]([/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#9999cc]""[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#ff33ff]@extended[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Func[/COLOR] e[COLOR=#ff0000]([/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#000090]SetExtended[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]2[/COLOR][COLOR=#ac00a9]3[/COLOR][COLOR=#ac00a9]6[/COLOR][COLOR=#ac00a9]5[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]EndFunc[/COLOR] [COLOR=#009933];==>e [/COLOR]
دالة بسيطة صح :d: ؟!!
الآن ودي أخبركم سر :d:
الـ SetExtended فيها شي عجيب مختلف عن معظم الدوال ,, ما عدا SetError (موضوع الدرس الجاي)
تدرون إيش الميزة :d:
يمكن للمبرمج أن يحدد قيمة Return التي تخرج منها
لا تنسى :: يمكن لـ Retrurns أن تتحمل جميع أنواع البيانات 
تقولون لي كيف ؟!! :bleh:
أقولكم ,,,, لما نكتب FileGetSize(File) يخرج لنا الحجم صح !!
في دالة SetExtended نحن سنتحكم بما سيخرج
طيب وش الفايدة ؟!!
رح نلعب على أمر الـ Return :d: رح نخليه يسترجع اللي نبيه عن طريق SetExtended + تحديد الـ Extended

:d:
طيب هات مثال
؟!!
أصبر أصبر لا تعصب ,, جايك في الطريق :d:
نسيت أقولك شي :d:
الصيغة الحقيقة لـ SetExtended هي
كود:
[COLOR=#000090]SetExtended[/COLOR] [COLOR=#ff0000]([/COLOR]Nam[COLOR=#ff0000][[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=black]Return[/COLOR]Val[COLOR=#ff0000]][/COLOR][COLOR=#ff0000])[/COLOR]
خلاص ,, خلصت ,, الآن هات المثال
؟!!
قلتلك لا تعصب ,, ودي أول أوريك شي صغيرووووووووون :hh::bleh:
خلينا نتأكد من المعلومة !! قبل لا نتورط :d:
شوفوا هالمثال :d:
كود:
[COLOR=#aa0000]$DD[/COLOR] [COLOR=#ff0000]=[/COLOR] [COLOR=#000090]SetExtended[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Ashalshaikh"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#9999cc]""[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#aa0000]$DD[/COLOR][COLOR=#ff0000])[/COLOR]
انقهروا ,, صارت دالة أساسية ترجع اسمي :bleh: :d: :hh:
وين مثالك 
الصبر طيب !! :d:
خلينا نستخدم هذه الخاصية الآن في دالة :d:
كود:
[COLOR=#aa0000]$DD[/COLOR] [COLOR=#ff0000]=[/COLOR] e[COLOR=#ff0000]([/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#aa0000]$DD[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#ff33ff]@extended[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Func[/COLOR] e[COLOR=#ff0000]([/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Return[/COLOR] [COLOR=#000090]SetExtended[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]2[/COLOR][COLOR=#ac00a9]3[/COLOR][COLOR=#ac00a9]6[/COLOR][COLOR=#ac00a9]5[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#9999cc]"Zyzoom.org"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]EndFunc[/COLOR] [COLOR=#009933];==>e [/COLOR]
خلينا نتدرج !!
في البداية تشتغل الدالة e() ثم ,, يتحدد الـ @Extended ,,,, ثم يرجع الـ SetExtended كلمة زيزوووم ,,, الآن أصبحت كلمة زيزوووم أمام كلمة Return بمعنى أن القيمة الراجعة هي زيزوووم !!
بمعنى أنها ستصبح هكذا
كود:
[COLOR=#aa0000]$DD[/COLOR] [COLOR=#ff0000]=[/COLOR] e[COLOR=#ff0000]([/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR][COLOR=#aa0000]$DD[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#ff33ff]@extended[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Func[/COLOR] e[COLOR=#ff0000]([/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Return[/COLOR] [COLOR=#9999cc]"Zyzoom.org"[/COLOR]
[COLOR=#0000ff]EndFunc[/COLOR] [COLOR=#009933];==>e [/COLOR]
أظن الأمور توضحت :d:
مثال رئيسي
مثال بدالة تعد كم مرة تكرر نص بداخل نص ,,
بمعنى لديك
AS ASD ER AS RE TE AS
عندما تضع بداخلها AS ,,, ستخبرك بـ 4 (دور الرابع :bleh

,, وهكذا :d:
وسترجع العبارة بدون العبارة المختارة
الفكرة ::
هناك دالة أساسية تدعى StringReplace ,, حدثتكم عنها من قبل ,,
تستبدل نص بنص داخل نص :bleh: ابحث في الموضوع وستجد معلومات أكثر !!
وهي تسترجع الـ @Extended بعدد الإستبدالات :d: (عدد التكراار :y

والنص بدون النص المطلوب ,, سنستبدل المطلوب بـ "" :y:
كود:
[COLOR=#aa0000]$DD[/COLOR] [COLOR=#ff0000]=[/COLOR] e[COLOR=#ff0000]([/COLOR][COLOR=#9999cc]"AS ASD ER AS RE TE AS"[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#9999cc]"AS"[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#000090]MsgBox[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ac00a9]0[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#ff33ff]@extended[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#aa0000]$DD[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Func[/COLOR] e[COLOR=#ff0000]([/COLOR][COLOR=#aa0000]$Text[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#aa0000]$FindSearch[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Local[/COLOR] [COLOR=#aa0000]$ET[/COLOR] [COLOR=#ff0000]=[/COLOR] [COLOR=#000090]StrIngReplace[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#aa0000]$Text[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#aa0000]$FindSearch[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#9999cc]""[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]Return[/COLOR] [COLOR=#000090]SetExtended[/COLOR][COLOR=#ff0000]([/COLOR][COLOR=#ff33ff]@extended[/COLOR][COLOR=#ff0000],[/COLOR] [COLOR=#aa0000]$ET[/COLOR][COLOR=#ff0000])[/COLOR]
[COLOR=#0000ff]EndFunc[/COLOR] [COLOR=#009933];==>e [/COLOR]
صحيح المثال سيئ :b: ,,, ولكنه يؤدي المطلوب