Program Structure

نستكمل حديثنا عن لغة البرمجة رينج ونختم جزء الاساسيات من البرمجة وهو موضوعنا اليوم – عن كيفية تحميل أكثر من ملف  في مشروع واحد. 

Program Structure

يتكون البرنامج من العديد من الدوال وال Classes والمتغيرات والجمل ومن الممكن وضع تلك الانواع في ملفات كمكتبات واستدعاءها عند الحاجة الي استخدامها العديد من المرات في العديد من المشاريع.

تحتوي الملفات على أي من تلك النقاط التالية:

  • Load File
  • Statements and Global Variables
  • Functions
  • Packages and Classes

ملحوظة: قد يحتوي التطبيق على أكثر من ملف في المشروع الواحد.

يمكننا استدعاء الكثير من الملفات (بامتداد اللغة) في المشروع عن طريق أمر”Load”

"Load "filename. Ring

دوال التحويل بين الأرقام والحروف

Convert between Numbers and Bytes

للتحويل بين الأنواع المختلفة من البيانات، لتبادل البيانات بين لغة الكمبيوتر bits (0,1)s وكذلك لغة البشر (الأرقام والحروف).

Bytes: عبارة عن سلسلة من bits للتعبير عن الحرف.

  • ()Int2Bytes

للتحويل من عدد صحيح ب Decimal الي حرف (character) سواء على هيئة حروف أو أرقام.

  • ()Bytes2Int

للتحويل من حرف (character) الي عدد صحيح ب Decimal.

  • ()Float2Bytes() & Double2Bytes

للتحويل من عدد عشري ب Decimal الي حرف (character).

  • () Bytes2Float & () Bytes2Double

للتحويل من حرف (character) الي عدد عشري ب Decimal.

ملحوظة:

  • يتم استخدام Float للأعداد العشرية التي حجمها bytes 4
  • يتم استخدام Double للأعداد العشرية التي حجمها bytes 8

مثال:

(X1= Int2Bytes (55
See "Int2Bytes= "+ x1+nl
See "Bytes2Int= "+Bytes2Int(x1) + nl
(X2 = Float2Bytes (5.12
See "Float2Bytes= "+x2+nl
See "Bytes2Float= "+Bytes2Float(x2) + nl
(X3= Double2Bytes (9999977.12345
See "Double2Bytes= "+x3+ nl
See "Bytes2double= "+Bytes2double(x3)+nl

 

مثال توضيحي علي استدعاء الملفات:

  • رقم(1)  عبارة عن ملف باسم Conversionfile.ring. 
  • رقم(2) تم تحميل الملف الاول Conversionfile.ring في بداية الملف التاني، وبالتالي يعرض جميع ما بداخل الملف ويقوم بتنفيذه داخل الملف التاني.

                                                                     (1)

See"Conversions Functions"+nl+"========="+nl
see"
(Asci to character ==> Char(Ascii
(character to Ascii ==> Ascii(Char
(Hex to Decimal ==> Dec(Hexadecimal
(Decimal to Hex ==> Hex(decimal
() String to Hex==> Str2hex
()Hex to String ==> Hex2Str
   "

                                                                           (2)

"Load"Conversionfile.ring
(while(1
See nl+"Choose the number of conversions "+nl+"the number is: "+nl
Give Choice
see "Enter your data"+nl
Give Data
switch Choice
on 1
Data=0+Data
(x1= Char(Data
See "The Number In character = "+x1
on 2
(x2=Ascii(Data
See "The Number In ASCII= "+x2
on 3
(x3=Dec(Data
See "The Number In Decimal= "+x3
on 4
(x4=Hex(0+Data
See "The Number In Hexadecimal= "+x4
on 5
(x5=Str2hex(Data
See "The Number In Hexadecimal= "+x5
on 6
(x6=Hex2Str(Data
See "String is= "+x6
off
end

مثال أخر:

في هذا المثال تم تحميل ملف registration.ring داخل ملف registrationFileSuccess.ring  حتي يتم تعريف المتغيرات المستخدمه في الملف التاني(الموجودة في الملف الاول) – ثم تحميل الملف registrationFileSuccess.ring داحل الملف الاخير الخاص بالمشروع الرئيسي journey.ring

  • الملف الاول:خاص بعملية التسجيل باسم registration.ring
  • الملف التاني: خاص بعملية القراءة والكتابة داخل ملف registrationFileSuccess.ring

الكود الخاص بالملف الاول:

registration.ring#
See "name : " Give name
See "ID: " Give ID
See "Phone : " Give Phone
See "E-mail : " Give Email

الكود الخاص بالملف الثاني:

 registrationFileSuccess.ring#
"Load"registration.ring
("+fp= fopen("registration.txt","r
(fwrite(fp,name) fputc(fp,nl
(fwrite(fp,ID) fputc(fp,nl
(fwrite(fp,phone) fputc(fp,nl
(fwrite(fp,Email) fputc(fp,nl
(fputs(fp,"date:25-7-2017") fputc(fp,n
(fputs(fp,"Visa Number: 8765940321") fputc(fp,nl
(fputs(fp,"Enquiry No. :453627890") fputc(fp,nl
(fclose(fp
See "Congratulations!!!!! "+nl
See " good luck, your are win ! :" +nl
See " your Journey Information :" +nl
("See Read("registration.txt

الكود الخاص بملف المشروع الرئيسي:

journey.ring#
[]=alist1
(While(True
for x=1 to 5
See" Hello in the Journey to America
follow the next steps below and look at Your luck "+nl+nl
"load"Registration.ring
if (Find(alist1,ID,2) =0 ) #search ID in the secodn columns
[alist1=[:name=name,:ID=ID,:phone=phone,:Email=Email
See copy("*",50)+nl
See "Your_number is : " +x +nl
see"Thanks for your registration"+nl
(nrandom= random(5
If nrandom=X
"Load"RegistrationFileSuccess.ring
See "Congratulations!!!!! "+nl
See " good luck, your are win ! :" +nl
See " your Journey Information :" +nl
("See Read("registration.txt
Else
See "oh Sorry! the random number is: "+nrandom+nl
Ok
See copy("*",50)+nl
else
See"You are forbidden"+nl
See copy("*",50)+nl
exit
ok
next
end

ومن هنا كانت نهاية موضوعنا ونهاية اساسيات البرمجة في لغة رينج وقد تم تجميع الدوال المستخدمة سابقا في مدونتنا في ملف pdf علي هيئة ملفات – الملف الاساسي باسم Basic

كما تم تجميعهم في ملف واحد:

theAllBasic

والي لقاء اخر والسلام عليكم ورحمة الله وبركاتة

 

 

Advertisements

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s