الدرس الثاني:المتغيرات Variables

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

الدرس الثاني:المتغيرات Variables

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

بسم الله الرحمن الرحيم

1-تعريف المتغيرات Variables Declarations
كما هو الحال في لغات البرمجه الاخرى,فاننا نستعل المنغيرات حتى نخزن فيها قيمه معينه لوقت معين ثم نستبدلها بقيمه وهكذا.
وكذالك أستريسك يتعامل مع بعض انواع هذه المتغيرات.

ان اسماء المتغيرات التي نعرفها في أستريسك ليست case sensitive اي ان المتغير Var هو نفسه VAR ولكن متغيرات النظام هي case sensitive
يتم تعرف المتغيرات في أستريسك بطريقه مباشره اوباستخدام اقتران Set وسنعرف لاحقا متى واين بالضبط سوف نستعمل اي طريقه.
المثال:

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

$x=1
$y=“Hello world“
Set(x=1)
Set(x=1,y=“Hello world“)
2-انواع المتغيرات:
أستريسك يتعامل مع بعض انواع هذه المتغيرات فهناك ال IntegerوStrings
Strings-1
عباره عن متغير ياخذ قيمه نصيه او نصيه وعدد ويتم تعيين ذالك باستعمال الاقتران Set

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

exten=>100 ,1,Set(x=“Hello“)
exten=>100,2,NoOp(${x})
في حال اتصالنا على الرقم 100 فاننا في اول وصله قمنا باعطاء المتغير x قيمه تساوي Hello وعندما ينتقل الى رقم الاولويه 2 فانه يقوم بقراءه قيمه المتغير x وذالك بواسطه التطبيق NoOp
ووظيبفته طباعه مابداخله على الشاشه ويفيدنا كثيرا لتتبع الوصلات. لاحظ اننا حصلنا على قيمه المتغير وذالك باحاطته به {} وإشاره $.
ليس شرطا ان تكون القيمه محاطه بالمنقوطتين فلو قمنا بكتابه المثال السابق مره اخرى هكذا:

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

exten=>100,1,Set(x=Hello)
exten=>100,2,NoOp(${x})
فسوف تظهر نفس التيجه.ولكن اذا كانت الكلمات متعدده فيجب وضعها داخل منقوطتين.

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

exten=>100,1,Set(x=“Hello World“)
exten=>100,2,NoOp(${x})
وفي حال استعمالنا اهذه الرموز [] $"\ فيجب وضع قبلها الرمز \ فإذا اردنا استعمال $ في الجمله السابقه فتصبح كما يلي:

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

exten=>100,1,Set(x=“Hello World$\“)
exten=>100,2,NoOp(${x})
Integer-2
متغير يأخذ قيمه عدديه

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

exten=>401,1,set(x=3,y=2)
exten=>401,2,NoOp($[${x}*${y}])
3-نطاق المتغيرات Variables Scope
يوجد هناك 4 نطاقات للمتغيرات فهي قد تكون global variables, shared variables, channel variables and environment variables
:Global Variables -1
وهي المتغيرات التي تعرف تحت الجزء [globals] او التي تعرف باستعمال الاقتران (("1000"= (Set(GLOBAL(Agent
فتكون ظاهره لجميع القنوات في اي وقت و بنفس القيمه المثال:

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

[globals]
Xy=004912345

[OutCall]
exten=>100,1,NoOp(${Xy})
وكذالك اذا استعملنا الصيغه الثانيه فسوف يكون المتغير ظاهرا لجميع الاجزاء :

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

[Test1]
exten=>100,1, Set(GLOBAL (Xy2)=100))

[Test2]
Exten=>100,1,NoOp(${Xy2})
:Channel Variables-2
وهي المتغيرات التي تكون معرفه داخل ال Context فتكون قيمه المتغير حسب القيمه التي يحصل عليها من كل قناه المثال التالي يوضح ذالك:

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

[Test3]
exten=>101,1,Set(xy=4)
exten=>101,2,NoOp(${xy})
exten=>101,3,hangup()


exten=>102,1,NoOp(${xy})
exten=>102,2,hangup()
عندما نتصل على الرقم 101 فاننا نعرف متغير اسمه xy واعطيناه قيمه تساوي 4 وفي السطر الثاني قرانا القيمه ثم انهينا الاتصال من خلال السطر الثالث. فاذا اعدنا الاتصال واتصلنا على الرقم 102 فسوف تكون قيمه المتغير تساوي صفرا.
:Environment Variables-3
وهي متغيرات نظام التشغيل الموجود عليه أستريسك فيمكننا معرفه قيمتها وكذالك تغييرهااذااردنا ذالك
المثال:

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

exten => 123,1,Set(ENV(HOME)=/MyNewHome)
:Shared Variables-4
هذا النطاق جديد الاستعمال وهو حاله مابين المتغيرات العامه والمتغيرات الخاصه .فمن اسمه مشترك يعني ان هذا المتغير فقط لمجموعه من القنوات اي ليس للجميع ولكن يمكن ان يكون لاكثر من قناه.

جميع الحقوق محفوظة لموقع أستريسك للعرب
Khalid
مشاركات: 0
اشترك في: 02 يونيو 2010, 09:13

Re: الدرس الثاني:المتغيرات Variables

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

السلام عليكم. ماهي الخطوات التي احتاجها لتطبيق هذه الدروس. لقد قمت بتحميل وتنصيب trixbox
ولكن لم اعرف كيف اقوم بتنفيذ هذه الاوامر المعطاه في الدروس. اين يجب ان اكتب هذه الاوامر للتنفيذ؟؟؟
albalawi
مدير الموقع
مشاركات: 234
اشترك في: 11 مايو 2010, 19:53
مكان: Germany
اتصال:

Re: الدرس الثاني:المتغيرات Variables

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

هنا اخي خالد الخطوات:
http://www.asterisk4arab.com/viewtopic.php?f=8&t=37
elmadysm
مشاركات: 27
اشترك في: 09 فبراير 2011, 21:16

Re: الدرس الثاني:المتغيرات Variables

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

مجهود رائع
بارك الله فيك
zimartin.40
مشاركات: 4
اشترك في: 21 يوليو 2015, 18:48

Re: الدرس الثاني:المتغيرات Variables

مشاركة بواسطة zimartin.40 »

بارك الله فيك أخي
أضف رد جديد

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