الدرس السادس: معالجة المتغيرات variable manipulation

هنا سيتم شرح نظام أستريسك نظريا عن طريق سلسله من الدروس ان شاء الله تعالى.
أضف رد جديد
albalawi
مدير الموقع
مشاركات: 234
اشترك في: 11 مايو 2010, 19:53
مكان: Germany
اتصال:

الدرس السادس: معالجة المتغيرات variable manipulation

مشاركة بواسطة albalawi »

السلام عليكم ورحمة الله وبركاته.
معالجه المتغيرات:
تعلمنا في الدروس السابقه عن المتغيرات وتعريفها في نظام أستريسك .الان سوف نتعلم كيف نقوم بقرائتها ,قراءه كامله او جزئيه اي عدد معين من الخانات .وكذالك كيفيه جمع اكثر من متغير .
كما تعلمنا سابقا فنحن نستطيع ان نقراء قيمه المتغير كمايلي:

كود: تحديد الكل

exten=>100,1,Set(x=hello1234)
exten=>100,2,NoOp(${x})
عند اتصالنا على الرقم 100 فسوف يقوم النظام بتنفيذ السطرين السابقين وتظهر النتيجه التاليه :hello 1234
ماذا لواردنا فقط اظهار كلمه hello لوحدها او اردنا اظهار بعض الارقام هذا ماسوف نتعلمه هنا.
Substringالتجزئه:
الصيغه العامه :

كود: تحديد الكل

${VariableName[:البدايه[:الطول]]}
اي اذا اردنا فقط الحصول على الارقام فنقوم بمايلي:

كود: تحديد الكل

exten =>100,1,set(Var1=hello12345)
exten =>100,2,NoOp(Var2=${Var1:5})
exten =>100,3,Hangup
النتيجه كما ترون في الصوره هي 12345 حيث انه قام بمسح اول 5 احرف
image001.png
وكذالك بامكاننا الحصول على نفس النتيجه اذا قلنا له مايلي:

كود: تحديد الكل

exten =>101,1,set(Var1=hello12345)
exten =>101,2,NoOp(Var2=${Var1:-5})
exten =>101,3,Hangup
هنا قام بقراءه اخر 5 احرف والباقي لم يقرءه لذالك حصلنا على نفس النتيجه السابقه
image003.png
وكذالك اذا اردنا اظهار كلمه hello لوحدها فنقوم بمايلي:

كود: تحديد الكل

exten =>102,1,set(Var1=hello12345)
exten =>102,2,NoOp(Var2=${Var1:0:5})
exten =>102,3,Hangup
لقد بدأ هنا القراءه من موقع صفر اي الاول وبطول 5 احرف فتلاحظون في الشكل ادناه بانه قام فعلا بقراءه كلمه hello
image005.png
وكذالك اذا اردنا قراءه الاحرف والارقام التي في وسط الكلمه hello12345 مثلا فقط llo12
نقول له ابدأ من الموقع الثالث وبطول 5 مواقع لذالك تكتب مايلي:

كود: تحديد الكل

exten =>103,1,set(Var1=hello12345)
exten =>103,2,NoOp(Var2=${Var1:2:5})
exten =>103,3,Hangup
image007.png
String Concatenation سلسله المتغيرات :
يتم بناءسلسه من المتغيرات عن طرق لصقها مع بعضها البعض كمايلي:

كود: تحديد الكل

exten =>104,1,set(Var1=hello)
exten =>104,2,set(Var2=12345)
exten =>104,3,NoOp(${Var1}${Var2})
exten =>104,4,Hangup
image009.png
Inheritance of Channel Variables توريث المتغيرات:

اي يتم نقل قيمه المتغير الذي تم استحداثه في اول قناه الى جميع القنوات المنبثقه عن هذ القناه المثال التالي يوضح الفكره.

كود: تحديد الكل

[halOut4]
exten => 105,1,Set(Var1=1) 
exten => 105,2,Set(_Var2=2) 
exten => 105,3,Set(__Var3=3) 
exten => 105,4,Dial(Local/106@halOut4) 

exten => 106,1,NoOp(${Var1}) 
exten => 106,2,NoOp(${Var2}) 
exten => 106,3,NoOp(${Var3}) 
exten => 106,4,Dial(Local/107@halOut4) 

exten => 107,1,NoOp(${Var1}) 
exten => 107,2,NoOp(${Var2}) 
exten => 107,3,NoOp(${Var3}) 
exten => 107,4,Hangup
image011.png
لاحظ هنا ان الاشاره المحدده لمدى التوريث هي اشاره ال_ قبل اسم المتغير,فاذا جعلناها مره واحده كانت صالحه لقناه واحده جديده لكن اذا كانت مرتين اي __ فتكون صالحه للقناه الاولى والخارجه عنها ايضا.
جميع الحقوق محفوظة لموقع أستريسك للعرب
ليس لديك الصلاحية لمشاهدة المرفقات
albalawi
مدير الموقع
مشاركات: 234
اشترك في: 11 مايو 2010, 19:53
مكان: Germany
اتصال:

Re: الدرس السادس: معالجه المتغيرات variable manipulation

مشاركة بواسطة albalawi »

ءءء
elmadysm
مشاركات: 27
اشترك في: 09 فبراير 2011, 21:16

Re: الدرس السادس: معالجة المتغيرات variable manipulation

مشاركة بواسطة elmadysm »

مجهود رائع
بارك الله فيك
أضف رد جديد

العودة إلى ”الجزء الاول:المقدمه والدروس Introduction and lessons“