أساسي نقي

أساسي نقي
نموذجمنظم ، إلزامي ، إجرائي
عائلةأساسي
صمم بواسطةفانتازي للبرمجيات
المطورفانتازي للبرمجيات
ظهرت لأول مرة1998 (1998)
إصدار مستقر
6.11 LTS / 5 يونيو 2024 ؛ منذ 4 أشهر (2024-06-05)
نظام التشغيلويندوز ، لينكس ، ماك أو إس ، راسبيري باي أو إس ، أميغا أو إس
رخصةبرنامج تجريبي
ملحقات اسم الملف.pb، .pbi، .pbf، .pbp
موقع إلكترونيwww.purebasic.com
بيئة تطوير متكاملة PureBasic 5.10

PureBasic هي لغة برمجة حاسوبية إجرائية يتم توزيعها تجاريًا وبيئة تطوير متكاملة تعتمد على BASIC وتم تطويرها بواسطة Fantaisie Software لنظامي التشغيل Windows و Linux و macOS . يتوفر إصدار Amiga ، على الرغم من أنه تم إيقافه وتم إصدار بعض أجزائه كمصدر مفتوح . كان أول إصدار عام من PureBasic لنظام التشغيل Windows في 17 ديسمبر 2000. وقد تم تحديثه باستمرار منذ ذلك الحين.

تتمتع PureBasic بنموذج ترخيص مدى الحياة. وكما هو مذكور على الموقع الإلكتروني، لا يزال مستخدم PureBasic الأول (الذي سجل في عام 1998) يتمتع بالوصول المجاني إلى التحديثات الجديدة ولن يتغير هذا. [1]

يتم تجميع PureBasic مباشرة إلى مجموعات التعليمات IA-32 أو x86-64 أو PowerPC أو 680x0 ، مما يؤدي إلى إنشاء ملفات تنفيذية مستقلة صغيرة ومكتبات DLL لا تحتاج إلى مكتبات وقت تشغيل تتجاوز مكتبات النظام القياسية. يمكن إنشاء البرامج التي تم تطويرها دون استخدام واجهات برمجة التطبيقات (APIs) الخاصة بالمنصة بسهولة من نفس ملف المصدر مع القليل من التعديل أو بدونه.

يدعم PureBasic التجميع المضمّن ، مما يسمح للمطور بتضمين أوامر التجميع FASM داخل الكود المصدر PureBasic، مع استخدام المتغيرات المعلنة في الكود المصدر PureBasic، مما يتيح للمبرمجين ذوي الخبرة تحسين سرعة أقسام الكود الحرجة للسرعة. يدعم PureBasic بيئة OGRE ثلاثية الأبعاد وقد دمجها. يتم دعم بيئات ثلاثية الأبعاد أخرى مثل محرك Irrlicht بشكل غير رسمي.

لغة البرمجة

صفات

PureBasic هو مُجمِّع BASIC أصلي متعدد المنصات 32 بت و64 بت. الأنظمة المدعومة حاليًا هي Windows وLinux وmacOS. إصدار AmigaOS قديم ومفتوح المصدر. يُنتج المُجمِّع ملفات قابلة للتنفيذ أصلية وقواعد PureBasic بسيطة ومباشرة، وقابلة للمقارنة مع لغة C العادية بدون الأقواس ومع معالجة سلسلة Unicode الأصلية ومكتبة كبيرة من وظائف الدعم المضمنة. [2] يمكنه تجميع تطبيقات وحدة التحكم، [3] وتطبيقات واجهة المستخدم الرسومية، [4] وملفات DLL. [5]

مثال على Hello World

سيؤدي السطر الفردي التالي من كود PureBasic إلى إنشاء ملف تنفيذي مستقل بتنسيق x86 (4.5 كيلوبايت (4608 بايت) على إصدار Windows) يعرض مربع رسالة يحتوي على النص " Hello World ".

 MessageRequester ( "صندوق الرسائل" ، "مرحبا بالعالم" ) 

والإصدار التالي من نفس الكود، والذي يستخدم بدلاً من ذلك استدعاء API مضمن لنظام Windows دون الحاجة إلى إعلانات أو مراجع خارجية أخرى، سوف يقوم بإنشاء ملف تنفيذي مستقل أصغر حجمًا يبلغ 2.0 كيلوبايت (2048 بايت) بتنسيق x86 لنظام Windows.

 MessageBox_ ( 0 , "مرحبا بالعالم" , "صندوق الرسائل" , 0 )   

فيما يلي إصدار وحدة التحكم لمثال Hello World.

 OpenConsole () ؛ فتح نافذة وحدة التحكم. طباعة ( "Hello, World!" ) تأخير ( 5000 ) ؛ إيقاف مؤقت لمدة 5 ثوانٍ          
 
             

البرمجة الإجرائية

PureBasic هي لغة BASIC من "الجيل الثاني"، مع شروط وحلقات منظمة، وبرمجة موجهة نحو الإجراءات مدعومة. لا يُطلب من المستخدم استخدام الإجراءات، لذا قد يختار المبرمج أسلوب ترميز يتضمن Goto وGosub Label و Return .

فيما يلي إجراء نموذجي لفرز المصفوفة، على الرغم من أن SortArray أصبح الآن وظيفة مضمنة في PureBasic.

 إجراء bubbleSort ( Array a ( 1 ))  
   محمي i ، itemCount ، hasChanged   
  
   عدد العناصر = حجم المصفوفة ( a ())  
   يكرر
     hasChanged = # خطأ  
     عدد العناصر - 1  
     بالنسبة إلى i = 0 إلى itemCount     
       إذا كان أ ( i ) > أ ( i + 1 )     
         مبادلة أ ( i أ ( i + 1 )    
         hasChanged = # صحيح  
       نهايةإذا 
     التالي  
   حتى hasChanged = # False   
 إنهاء الإجراء

فيما يلي برنامج نموذجي يعرض محرر نصوص كبير الحجم يحتوي على عنصرين للقائمة.

;إنشاء نافذة: 
OpenWindow ( 0 ، # PB_Ignore ، # PB_Ignore ، 800 ، 600 ، "محرر نص بسيط" ، # PB_Window_SystemMenu | # PB_Window_MinimizeGadget | # PB_Window_MaximizeGadget | # PB_Window_SizeGadget )            

;أضف قائمتين: 
CreateMenu ( 0 , WindowID ( 0 )) MenuItem ( 1 , "&OK" ) MenuItem ( 2 , "&Cancel" ) 
 
 

;إضافة محرر: 
EditorGadget ( 0 , 0 , 0 , 0 , 0 ) SetGadgetFont ( 0 , LoadFont ( 0 , "Courier New" , 10 ))    
   

;معالجة رسائل النافذة حتى إغلاقها: 
كرر 
تحديد WaitWindowEvent () الحالة رقم PB_Event_Menu تحديد EventMenu () الحالة رقم 1 : MessageRequester ( "تم النقر فوق موافق مباشرة أو باستخدام '&' mnemonic." , GetGadgetText ( 0 )) الحالة رقم 2 : Break EndSelect الحالة رقم PB_Event_SizeWindow : ResizeGadget ( 0 , 0 , 0 , WindowWidth ( 0 , # PB_Window_InnerCoordinate ), WindowHeight ( 0 , # PB_Window_InnerCoordinate )) الحالة رقم PB_Event_CloseWindow : Break EndSelect ForEver     
     
         
           
          
        
            
      
    

لا يتجنب PureBasic علامات الاقتباس المزدوجة في السلاسل، لذا يجب ربطها بـ Chr(34) .

البرمجة الشيئية

صرح فريد، مطور PureBasic، أن PureBasic لن تكون أبدًا موجهة للكائنات . [6] ومع ذلك، قام العديد من المستخدمين بإنشاء أنظمة دعم موجهة للكائنات. [7] [8] [9]

أنواع البيانات

نوع بيانات متغير يتم تحديده عند استخدامه لأول مرة (واختياريًا - في المستقبل)، ويتم فصله عن اسم النقطة. هناك مجموعة من الأنواع الأساسية - .f، .d (الأعداد العائمة والمزدوجة)، .b، .c، .w، .l، .q (الأعداد الصحيحة - من بايت واحد و8 بايت)، .s - السلاسل.

يكتب لاحقة استخدام الذاكرة النطاق العددي
بايت ب 1 بايت (8 بت) -128 ... +127
أسكي أ 1 بايت (8 بت) 0 ... +255
شخصية ج 1 بايت (8 بت) (ASCII) 0 ... +255
كلمة و 2 بايت (16 بت) -32768 ... +32767
يونيكود انت 2 بايت (16 بت) 0 ... +65535
شخصية ج 2 بايت (16 بت) (يونيكود) 0 ... +65535
طويل ل 4 بايت (32 بت) −2147483648 ... +2147483647
عدد صحيح أنا 4 بايت (32 بت) x86 −2147483648 ... +2147483647
يطفو ف 4 بايت (32 بت) اعتمادا على نسبة العدد العشري.
عدد صحيح أنا 8 بايت (64 بت) x64 −9223372036854775808 ... +9223372036854775807
رباعية س 8 بايت (64 بت) −9223372036854775808 ... +9223372036854775807
مزدوج د 8 بايت (64 بت) اعتمادا على نسبة العدد العشري.
خيط س (طول السلسلة + 1) * حجم (الحرف) لا يوجد حد.
سلسلة ثابتة س{الطول } (طول السلسلة) * SizeOf(الحرف) لا يوجد حد.
  • لن يتجاوز Len(String) المستخدم لحساب طول السلسلة الحرف الفارغ الأول ( Chr(0) ).

بالإضافة إلى الأنواع الأساسية، يمكن للمستخدم تحديد نوع البناء عبر

نوع الهيكل_الاسم
   field_name.type ؛ حقل واحد. ربما يكون مرفقًا بالهياكل.
   field_name[count].type؛ المصفوفات الثابتة.
   ؛ ...
   ; البناء الاختياري StructureUnion .. EndStructureUnion يسمح لك بذلك
   ؛ لدمج حقول متعددة في منطقة واحدة من الذاكرة
   ؛ وهو ما يكون مطلوبًا في بعض الأحيان لأنواع التحويل.
   هيكل الاتحاد
      نوع_الاسم.النوع
      ؛ ...
   نهاية الهيكل الاتحادي
الهيكل النهائي

يمكن أن تكون المتغيرات مفردة (في الواقع، متغيرات قياسية)، أو مصفوفة ديناميكية (معلنة باستخدام )، أو قائمة مرتبطة ( )، أو مصفوفة ارتباطية (في الإصدارات الجديدة من اللغة) ( ) Dim var_name.type_name (size1, size2, ... )List() var_name.type_nameMap var_name.type_name()

مصمم النماذج RAD

يحتوي PureBasic على مصمم نماذج خاص به للمساعدة في إنشاء نماذج للتطبيقات، ولكن هناك أيضًا حلول أخرى من جهات خارجية متاحة. [10] [11] [12] تم استبدال المصمم المرئي غير المتكامل الأصلي بمصمم نماذج متكامل جديد في 14 فبراير 2013. [13]

مجتمع المستخدمين

يوفر PureBasic منتدى عبر الإنترنت للمستخدمين لطرح الأسئلة ومشاركة المعرفة. في 6 مايو 2013، كان المنتدى باللغة الإنجليزية يضم 4769 عضوًا واحتوى على 44043 موضوعًا تضم ​​372200 مشاركة منذ 17 مايو 2002. [14]

تظهر العديد من مواقع مشاركة التعليمات البرمجية أن PureBasic يستخدم لإنشاء أدوات [15] وألعاب بطريقة سريعة وسهلة، [16] ومشاركة كميات كبيرة من التعليمات البرمجية مفتوحة المصدر. [17]

قراءة إضافية

  • ويلوبي، جاري (2006). Purebasic: دليل المبتدئين لبرمجة الكمبيوتر . Aardvark Global. ISBN 1-4276-0428-2.
  • لوجسدون، جون. برمجة ألعاب التمرير ثنائية الأبعاد .هذا الكتاب متاح للتحميل مجانًا الآن
  • المترجمون الأساسيون: QuickBASIC، PureBasic، PowerBASIC، Blitz Basic، XBasic، Turbo Basic، Visual Basic، FutureBASIC، REALbasic، FreeBASIC . رقم ISBN 1-155-32445-5.

مراجع

  1. ^ تفاصيل ترخيص مدى الحياة للأسئلة الشائعة
  2. ^ الصفحة الرئيسية لـ PureBasic
  3. ^ PureBasic - وحدة التحكم
  4. ^ PureBasic - أداة
  5. ^ بناء DLL
  6. ^ PureBasic لن يكون موجهًا للكائنات
  7. ^ PureObject: دعم PureBasic OOP
  8. ^ دروس البرمجة الشيئية
  9. ^ مُجمِّع أولي آخر لـ OOP
  10. ^ PureVision، تصميم النماذج الاحترافية لـ PureBASIC.
  11. ^ ProGUI، مكتبة DLL تضم أكثر من 100 أمر موثق جيدًا لدمج مكونات واجهة المستخدم الرسومية الغنية والقابلة للتخصيص بسرعة في تطبيقاتك.
  12. ^ PureFORM، مصمم نماذج مجاني.
  13. ^ تم إصدار PureBasic 5.10
  14. ^ المنتدى الإنجليزي، المنتدى الرسمي.
  15. ^ صفحات برمجيات هورست شايفر
  16. ^ منطقة نقية
  17. ^ أرشيف كود أندريه بير.

المراجع العامة

  • Hale Ligh, Michael (2010). Malware Analysts Cookbook Tools for Thwarting Malicious Attacks . Indianapolis, IN: John Wiley & Sons Inc. p. 241. ISBN 978-0-470-61303-0.
  • جالبريث، نيك (2002). التشفير لتطبيقات الإنترنت وقواعد البيانات: تطوير تقنيات المفاتيح السرية والعامة باستخدام جافا . إنديانابوليس، إنديانا: وايلي. ص 300. رقم ISBN 978-0-471-21029-0.
  • "تعلم كيفية فك الشفرات". مانلي ديلي . 25 يونيو 2004.
  • جورج، فيليب. "البرمجة مع PureBasic". البرامج (141).
  • سفوبودا ، لوبوش (2012). Překvapivý PureBasic (PureBasic المفاجئ: كتاب إلكتروني تشيكي للمستخدمين المحتملين لـ PureBasic). ص. 89.
  • الموقع الرسمي
  • منتديات Purebasic الرسمية (الإنجليزية)
المقالات
  • PureBasic - لغة التطوير المثالية متعددة الأنظمة والأصلية (2015)
  • مراجعة صغيرة لـ PureBasic (2023)
المكتبات وأرشيفات الكود مفتوح المصدر
  • أرشيف أكواد PB مفتوحة المصدر لـ Andre Beer
Retrieved from "https://en.wikipedia.org/w/index.php?title=PureBasic&oldid=1251950112"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate