محمود سمير

الدرس التاسع لتعلم البرمجة بدون كود نتعرف فيه على مصمم الناقل

1 مشاركة في هذا الموضوع

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

نتعلم اليوم باذن الله من خلال هذا الدرس كل التفاصيل المتعلقة بمصمم الناقل Transporter Designer

ولعلنا نبدأ دراستنا بسؤال ! لماذا يسمى الناقل بهذا الاسم ؟

ببساطة لانه يستخدم كوسيلة لنقل صفات وملامح لغة البرمجة الى عالم البرمجة بدون كود.

تعريف الناقل :

" هو عبارة عن مكون Component يدخل فى تكوين لغات البرمجة التفاعلية التى ترتكز على البرمجة بدون كود

وهذا المكون يستخدم فى عملية التفاعل Interaction التى تتم من خلال عدد من الصفحات التفاعلية Interaction Pages

ومن ثم يتم توليد كل من (الشفيرة المصدرية Code والتى تولد تحد المسمى Result ) و (المعلومات Information )

بصورة تلقائية "

يتم تسجيل ملفات الناقل تحتى مسمى الاحقة او الامتداد TRF بمعنى Transporter File

بينما تسجل ملفات الصفحات التفاعلية تحت الاحقة او الامتداد IDF بمعنى Interaction Designer File

ماهو التكوين البنائى للناقل Transporter ?

يتكون الناقل ببساطة من ثلاثة اجزاء

1 - روابط (مسار الملفات) تشير الى ملفات الصفحات التفاعلية Interaction Pages

2 - قناع الشفيرة المصدرية (Code Mask) وهذا القناع يكتب بلغة وصفية Script Language بسيطة جدا

وصغيرة الحجم ايضا وتسمى هذه اللغة الوصفية بالاسم RPWI

3 - التوفيق (Matching ) وهو الرابط بين كل من الصفحات التفاعلية وقناع الكود حيث ان الصفحات التفاعلية

تشتمل على متغيرات Variables وكذلك قناع الكود يشتمل على متغيرات وعملية التوفيق هى تحديد الازواج

Pairs المرتبة من هذه المتغيرات ( متغير من الصفحة التفاعلية و متغير من قناع الشفيرة المصدرية)

ميكانيكية التفاعل باستخدام الناقل Interaction Using Transporter

1 - يتم تنشيط الصفحات التفاعلية بحيث يتاح لنا ادخال البيانات الازمة وتحديد الاختيارات المطلوب

2 - تتم عملية الاستبدال لاماكن المتغيرات المعرفة فى قناع الشفيرة المصدرية Code Mask بالقيم التى تم ادخالها

من خلال الصفحات التفاعلية وذلك استنادا على ماتم فى عملية التوفيق Matching

2 - يستخدم قناع الشفيرة المصدرية Code Mask فى تحديد الشفيرة التى يتم انتاجها بناء على الاختيارات التى تمت

من خلال الصفحات التفاعلية

ماذا يستطيع قناع الشفيرة المصدرية ان يقدم لنا ؟

1 - التحكم فى الشفيرة المصدرية التى يتم انتاجها

2 - تقسيم و تنظيم الشفيرة المصدرية التى يتم انتاجها الى مجموعة من الخطوات على شكل Tree

3 - توليد اى معلومات Information بجانب الشفيرة المصدرية

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

هذه القواعد بسيطة جدا وهى قواعد اللغة الوصفية التى تسمى RPWI

وسوف تتضح القواعد من خلال اطلاعك على الامثلة العملية

1 - الكود الذى نود توليده يكتب مباشرة

2 - المتغيرات الخاصة بقناع الشفيرة المصدرية تكتب بين علامتين اكبر من واصغر من كالتالى

<variable_name>

3 - الامر <RPWI:POSITIVE>

هذا الامر يعنى ان يتم توليد الكود الموضوع بين <RPWI:TEST> و <RPWI:ENDTEST> فى حالة كون نتيجة الاختبار

سليمة

4 - الامر <RPWI:NEGATIVE>

هذا الامر يعنى ان يتم توليد الكود الموضوع بين <RPWI:TEST> و <RPWI:ENDTEST> فى حالة كون نتيجة الاختبار

غير سليمة سليمة

5 - الامر <RPWI:VALUE> يحدد القيمة التى سوف يتم مقارنتها بقيم المتغيرات المذكورة بعد الامر <RPWI:TEST>

6 - نتيجة الاختبار تكون سليمة عندما تكون المتغيرات التى تلى الامر <RPWI:TEST> لها نفس القيمة المحددة بالامر <RPWI:VALUE>

7 - لعمل اختبار يتم كتابة الامر <RPWI:TEST> يليه متغير او عدد من المتغيرات ويتم انها الاختبار بالامر <RPWI:ENDTEST>

جمل الاختبار المتتابعة (اختبار داخل اختبار) Nested Test Statements يسمح بها.

8 - الامر <RPWI:INFORMATION>

يستخدم لتوليد معلومات توضع فى صندوق المعلومات التابع للخطوة فى مصمم الاهداف

Step Detials - Information Tap inside Goal Designer

9 - الامر <*> او <RPWI:NOTE> يستخدم لاضافة ملاحظات او تعليقات Comments

10 - الامر < RPWI:NEWSTEP> يستخدم لانشاء خطوة جديدة

11- الامر <RPWI:PUTMARK> لتسجيل الرقم التعريفى ID الخاص بالخطوة الحالية او النشطة Active Step فى منطقة ما (المناطق

المتاحة من 1 الى 30 )

12 - الامر <RPWI:SETMARK> يستخدم لتحديد الخطوة النشطة Active Step عن طريق رقم منطقة Area Number تم تسجيل الرقم

التعريفى الخاص بالخطوة ID بها مسبقا.

13- رقم المنطقة 1 محفوظ لتسجيل الرقم التعريفى ID الخاص بالخطوة النشطة Active Step فى مصمم الاهداف عند بداية عملية

التفاعل Interaction

14- الامر <RPWI:IGNORELAST> يستخدم لحذف اخر حرف موجود فى الكود الذى يتم توليده اذا كان هذا الحرف مطابقا

للحرف المذكور بعد هذا الامر مباشرة.

التطبيق العملى:

لفتح مصمم الناقل يمكنك استخدام شريط الادوات او من شريط القائمة

rAB87010.gif

szx87157.gif

Es287274.gif

OdP87628.gif

مثال على ناقل لجملة IF

اى IF Statement Transporter

الملفات الخاصة بهذا المكون

C:\SSRPWI\DOUBLES\RPWI1\ISF\ISF400.ISF

C:\SSRPWI\DOUBLES\RPWI1\IDF\IDF400.IDF

C:\SSRPWI\DOUBLES\RPWI1\TRF\TRF400.TRF

فى مولد الصفحات التفاعلية - يتم وصف الصفحة التفاعلية كالاتى

TITLE IF Statement

LARGEGET Condition

المتغيرات فى الصفحة التفاعلية

D_TB_Condition

المتغيرات فى قناع الشفيرة المصدرية (الكود)

<T_CONDITION>

الازواج المرتبة لعملية التوفيق Matching

D_TB_Condition

<T_CONDITION>

ax387697.gif

QmQ93478.gif

R1w93617.gif

NlE93732.gif

7i593871.gif

مثال على ناقل لحدود ظهور المتغيرات Variable-Scope Transporter

ملفات المكون

C:\SSRPWI\DOUBLES\RPWI1\ISF\ISF602.ISF

C:\SSRPWI\DOUBLES\RPWI1\IDF\IDF602.IDF

C:\SSRPWI\DOUBLES\RPWI1\TRF\TRF602.TRF

وصف الصفحة التفاعلية

TITLE Scope of Variable

LARGEGET Variable Name

ENTER

LISTBOX Scope

متغيرات الصفحة التفاعلية

D_TB_VariableName

D_LB_Scope

متغيرات قناع الكود

<T_VAR>

<T_SCOPE>

الازواج المرتبة لعملية التوفيق Matching

D_TB_VariableName

<T_VAR>

D_LB_Scope

<T_SCOPE>

eib93922.gif

l1E94027.gif

cpo94108.gif

gzS94200.gif

0G694363.gif

مثال على ناقل لانشاء ملف Create File Transporter

ملفات المكون

C:\SSRPWI\DOUBLES\RPWI1\ISF\ISF444.ISF

C:\SSRPWI\DOUBLES\RPWI1\IDF\IDF444.IDF

C:\SSRPWI\DOUBLES\RPWI1\TRF\TRF444.TRF

وصف الصفحة التفاعلية

TITLE Create File
LARGEGET variable (Handle)
ENTER
LARGEGET File Name
ENTER
LISTBOX Attribute

متغيرات الصفحة التفاعلية

D_TB_variable

D_TB_FileName

D_LB_Attribute

متغيرات قناع الكود

<T_FILE>

<T_HANDLE>

<T_ATTRIB>

الازواج المرتبة فى عملية التوافق

D_TB_variable

<T_Handle>

D_TB_FileName

<T_FILE>

D_LB_Attribute

<T_ATTRIB>

قناع الكود Code Mask

<RPWI:NEWSTEP> Create file <T_FILE> Store handle in <T_HANDLE>
<RPWI:INFORMATION> Create new file
<RPWI:INFORMATION> File : <T_FILE>
<RPWI:INFORMATION> Variable(handle) : <T_HANDLE>
<RPWI:POSITIVE>
<RPWI:VALUE> 1
<RPWI:TEST> <T_ATTRIB>
<T_HANDLE> = FCREATE( <T_FILE> , 0 )
<RPWI:INFORMATION> Attribute : Normal
<RPWI:ENDTEST>
<RPWI:VALUE> 2
<RPWI:TEST> <T_ATTRIB>
<T_HANDLE> = FCREATE( <T_FILE> , 1 )
<RPWI:INFORMATION> Attribute : Read Only
<RPWI:ENDTEST>
<RPWI:VALUE> 3
<RPWI:TEST> <T_ATTRIB>
<T_HANDLE> = FCREATE( <T_FILE> , 2 )
<RPWI:INFORMATION> Attribute : Hidden
<RPWI:ENDTEST>
<RPWI:VALUE> 4
<RPWI:TEST> <T_ATTRIB>
<T_HANDLE> = FCREATE( <T_FILE> , 3 )
<RPWI:INFORMATION> Attribute : System
<RPWI:ENDTEST>

NIu94393.gif

twn94420.gif

RUK94450.gif

ULS94487.gif

wz994543.gif

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .