بيوربيزك م د خ ل ا ل ى ل غ ة بلس+ الس ي بق وة أ كتب و س رعة األسمبل ي apple ع ب د ا ل ه ا د ي ج ع ف

ملفّات مشابهة
Microsoft Word - Excel VBA

Microsoft Word - Access VBA

المحاضرة الثانية

الأول في السي شارب((c#للمبتدائين

Microsoft Word - C#2

) NSB-AppStudio برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( ) برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( NSB-AppStudio الدرس األول ) 1 ( الدرس

Banner – Hold Information SOAHOLD

Slide 1

كيفية تفعيل خدمة IIS ونشر موقع ويب على الشبكة احمللي السالم عليكم اصدقائي الكرام في هذا الكتاب سنتناول ما هي خدمة المعلومات وكيفية التفعيل ونشر الموقع

الفرق بين البرمجة الإجرائية و البرمجة المسيرة بالأحداث :

عرض تقديمي في PowerPoint

PowerPoint Presentation

بسم اهلل الرمحن الرحيم الوحدة الثانية الفيجول بيسك Microsoft VISUAL BASIC احلمد اهلل الذي أكرمين و منحين الفرصة لتوفري لكم هذا امللخص املنقى للوحدة ال

السالم عليكم و رحمة هللا شرح ربط قاعدة بيانات Access بال.. C# مذا ستستفيد من هذا الموضوع!! -معرفة طريقة صنع قاعدة بيانات بالAccess -ربط قاعدة البيانات

SP-1101W/SP-2101W eciug niitallatini kciuq 1.0v /

ABU DHABI EDUCATION COUNCIL Abu Dhabi Education Zone AL Mountaha Secondary School g-12 science section Mathematics Student Name:.. Section: How Long i

Microsoft Word - new.doc

حقيبة الدورة التدريبية التخزين السحابي Google Drive حقيبة المتدربة إعداد املدربة : عزة علي آل كباس Twitter 1438 ه

How To Make Connection Between Oracle DB Server 9i & Oracle Developer 6i

ورقة عمل الدرس الثاني تطبيقي اخلاص على هاتفي... برنامج App Inventor اعداد املعلمة : اماني ممدوح املصري مدرسة امحد شوقي الثانوية للبنات اختار اإلجابة ا

مختبر البرمجة والتحليل العددي قسم علوم الجو جمل التحكم والشرط والتكرار المرحلة الثانية PROGRAM CONTROL, CONDITION AND LOOP STATEMENTS الجمل الشرطية :-

اردوينو – الدرس الثامن – تغيير درجة الالوان لـ RGB LED

The Global Language of Business دليل ارشادي الستخدام صفحة خدمات الشركات األعضاء Members Area 1

Basic Invoice Template for Word

التحكم في الجهاز عن بعد باستخدام نظام VNC

التاريخ: االمتحان النهائي لمساق برمجة متقدمة תכנות מתקדם موعد أ الزمن: ساعتان فقط الخميس 2017/7/27 )10 عالمات( السؤال األول for او )while الالزمة لما

Forum.zyzoom.net

Allomani Warehouse User Guide

عربي Sign-Code Website Guide فيما يلي دلي ا ل لطلب اسم مستخدم جديد لConnect Sell من خ لل موقع.Sign-Code يسمح لك الموقع بالدخول اإلداري على اسم المستخد

Slide 1

مدرسة هارون الرشيد الثانوية للبنين المهارات العملية / تكنولوجيا المعلومات ( الثاني عشر) إعداد/ أ. خالد الح

FHD LED TELEVISIONS NTV6500LED تلفزيون قياس 65 بوصة مزو د بشاشة LED فائقة الدق ة 65 Full HD LED TV Resolution: 1920 x 1080 (1080p) USB - JPEG / MP3 /

جمعية زمزم للخدمات الصحية التطوعية بإشراف وزارة الشؤون االجتماعية تصريح رقم )411( نظام إدارة الجودة Quality Management System إجراءات الئحة تقنية املع

مادة اثرائية تكنولوجيا الصف الحادي عشر وحدة الوسائط المتعددة شرح برنامج VSDC إلنتاج وحترير الفيديو المشرف التربوي د.عطايا يوسف عابد مديرية التربية وال

نموذج السيرة الذاتية

شرح توزيعة Parted Magic السلم عليكم و رحمة ال تعالى و بركاته شرح توزيعة Parted Magic )الصدار الثالث( الفهرس : (1 مقدمة (2 تحميل التوزيعة (

مقدمة عن الاوناش

Microsoft Word - moneybookers

جامعة حضرموت

FS Future Series دليل البدء السريع الرجاء قراءة التعليمات التالية من أجل تثبيت وتنشيط 3D. Visualizer برنامج

دبلوم متوسط برمجة تطبيقات الهواتف الذكية

دليل المستخدم لبوابة اتحاد المالك التفاعلية

c1

اللغة العربية Items الدروس المطلوبة المتحان الفصل الدراسى األول 2019/2018 Primary 2 القراءة المحفوظات : كل الدروس : االناشيد + اآليات واالحاديث األسال

BND

Microsoft Word - SolutionOOPFinal2011.doc

Our Landing Page

Microsoft Word - Oracle1

اختر عنوان مناسب

Our Landing Page

WHAT’S NEW

متطلبات النظام متطلبات جهاز الكمبيوتر الشخصي معالج Pentium 1 Intel غيغا هرتز أو أسرع نظام التشغيل Windows 2000 أوXP Windows مع Service Pack 2 أو Vista

Schedule Planner User Guide Target Audience: Students This tool can help you better plan your course schedule by generating a visual representation of

بسم هللا الرحمن الرحيم المادة: مقدمة في بحوث العمليات )100 بحث ) الفصل الدراسي األول للعام الدراسي 1439/1438 ه االختبار الفصلي الثاني اسم الطالب: الرق

شرح برنامج استعادة الملفات المحذوفة Recover my files من اعداد : رافاييل يوسف مقدمة: آلنا يعلم ان اجهزة الكومبيوتر قادرة على حفظ الملفات على قرصها الصل

برنامج المساعدات المادية الذكي خطوات التقديم للمساعدة المادية...2 خطوات رفع المستندات المرفوضة...10 خطوات التاكد من حالة الطلب

الصف السادس االبتدائي الفصل الدراسي االول بسم هللا الرحمن الرحيم الصفحة محتويات الفصل الدراسي األول الموضو

كيفية استخدام موقع 4shared لرفع الملفات وتنظيمها على النترنت للمبتدئين. والمتقدمين في الحاسب. كتاب ل ابراهيم شاهين

عرض تقديمي في PowerPoint

مكونات الحاسب الآلي

Microsoft Word - AR_ _UM TLCD - KBRC01A.doc

Visual Basic.Net كتاب تعليمي للمبتدئيين اعداد / محمد حازم الشميري 1

جاهعة الوسيلة هركز الشبكات و أنظوة اإلعالم و االتصال والتعلين الوتلفز و التعلين عن بعد مودل Moodle التعل م نظام استخدام "دل ل االلكترون للطلبة" نظام ا

االدارة العامة لمنطقة العاصمة التعليمية مدرسة قرطبة الثانوية بنات أسرار احتراف التصميم فربما ال تستهين بهوايتك تفوق خبرة المحترفين أكتوبر 2018 اعداد ا

الدليل التدريبي لتسجيل منتج البوابة االلكترونية للمطابقة )سابر( الدليل التدريبي لتسجيل منتج 0

دولة فلسطين و ازرة التربية والتعليم العالي المبحث: تكنولوجيا المعلومات / النظري بسم هللا الرحمن الرحيم مدة االمتحان : ساعتان نموذج تجريبي مجموع العالم

Basic Invoice Template for Word

إيناس السيد محمد الشعراوى أستاذ مساعد قسم الحاسب كلية التربية - الجبيل المعلومات الشخصية الجنسية : مصرية تاريخ الميالد / 11 / م القسم علوم الحاس

Microsoft Word - Question Bank-II Sem. BA Arabic Core Course, Informatics with DTP

MEI ARABIC 103 SYLLABUS Middle East Institute Arabic 103 Beginners III Syllabus Instructor Name: Phone: MEI Phone: (202) MEI l

مشروع المكتبات الرقمية

المكونات

نموذج توصيف مقرر دراسي

???? ???????? ?????? ????? ...

عرض تقديمي في PowerPoint

الم ب س ط ة الع ر ب ي ة الت ر ج م ة Language: العربية (Arabic) Provided by: Bible League International. Copyright and Permission to Copy Taken from th

الشريحة 1

اسم المفعول

الفهرس: كيفية ضبط الموبايل/التابلت: خدمة االنترنت معرفة مسبقا على الجهاز. في حالة عدم تعريف خدمة االنترنت مسبقا على الجهاز يمكنك ضبطه يدويا ادخل على D

المدة : 5 دقي. النش ط : ال راءة. المست ى : قس التحضير.. 9 عن ان الدرس : أربط بين الص الحرف ( (. رق ال حدة : الك ءا ال عدي : يتعرف ع الص ) ( المسم ع ث

الدليل التدريبي لطلب شهادة مطابقة إرسالية )للمنتجات المستوردة( البوابة االلكترونية للمطابقة )سابر( الدليل التدريبي لطلب شهادة مطابقة إرسالية )للمنتجات

عرض تقديمي في PowerPoint

1 تجهيز ابينتو Ubuntu ك بيئة لتطوير المواقع باستخدام php

Microsoft Word - Suites_Numériques_1_sm.doc

<4D F736F F D20D8D1EDDEC920CDD0DD20C7E1E1EDE4DFD32E646F63>

دائرة اللغة العربية المادة المطلوبة المتحان اإلعادة للعام الدراسي : الصف: الثامن المهارة )الفهم واالستيعاب + التحليل األدبي( النحو المادة ال

2.3 ألعاب احتامل ستلعبون يف هذه الفع الي ة ألعاب احتامل بأزواج وستحل لونها. مالحظة: يجب أن يكون معكم يف هذه الفع الي ة زوج من مكع بات الل عب )حجارة ال

وزارة الترب ة بنك األسئلة لمادة علم النفس و الح اة التوج ه الفن العام لالجتماع ات الصف الحادي عشر أدب 0211 / 0212 األولى الدراس ة الفترة *************

Microsoft Word - Study Plan _ Arabic

Microsoft Word - intégral 2sc exp.doc

و ضم المواض ع التال ة: UAC Security من برنامجك تمك ن استخدام صالح ات ف ستا على مد ر ف األزرار أحد بجعل نقوم ك ف برنامجنا نفذ أوامر و ندوز ف ستا تتطلب

riyadh-geeks-mobile-first

متوسطة عيسى الصحبي دائرة تنيرة والية سيدي بلعباس مذكرات الجيل الثاني المستوى: 03 متوسط األستاذ: حمزة محمد

دليل ملفات الــ Log

النسخ:

بيوربيزك م د خ ل ا ل ى ل غ ة بلس+ الس ي بق وة أ كتب و س رعة األسمبل ي apple ع ب د ا ل ه ا د ي ج ع ف ر @nodekits

مدخل الى لغة بيور بيزك أ كتب بق وة الس ي بلس+ و س رعة األسمبل ي PureBasic - The Perfect Cross-Platform & Native Development Language 1

Abdelhadi @nodekits.. م سلم جزائري طالب سنة أولى جامعي تخص ص علوم حاسب م هتم بالتصميم و برمجة التطبيقات ] سطح املكتب/الويب ]. أهديه الى.. ش ر كة ص خر (عسى أن تص ل التحية) / م جم ع حس وب و مواقع الك تب الع ربية. 2

مقدمة الى Purebasic لiiغة ب -ي ور ب --ي ز ك Purebasic أو اخiiتصارا ب PB هiiي لiiغة بiiرمiiجية و بiiيئة تiiطويiiريiiة مiiتكامiiلة تiiقوم عiiلى أسiiiiii س لiiغة Basic قiiامiiت بiiتطويiiرهiiا و تiiصميمها شiiركiiة fantaisie software لiiتكون عiiابiiرة لiiلمنصات و تiiدعiiم نii ظم الiiiتشغيل: الiiiويiiiندوز و لiiiينوكiiiس بiiiمعياريiiiة bit-32/64 اضiiiافiiiة الiiiى نiiiظام املiiiاكiiiنتوش كiiiما أنiiiها أتiiiاحiiiت نiiiسخة مفتوحة املصدر قديمة نسبيا (النسخة 4) لنظام Amiga أيضا! عادة ما ي شار الى رمز اللغة بحرف Z أو قديما بالبرغي. صيغ ملفات اللغة: pb.pbi.pbf,.pbp,.pbv تiiم تiiصميم الiiلغة فiiي أواخiiر الiiتسعينات عiiلى نiiظام AmigaOS و أول اصiiدار عiiام لiiلغة Purebasic شiiiiiii م ل نiiii سخة ويiiiiندوز كiiiiان فiiiiي 17 ديiiiiسمبر 2000. و يiiiiتم تحiiiiديiiiiثها بiiiiاسiiiiتمرار مiiiiنذ ذلiiiiك الiiiiحني. و تiiiiعتمد الiiiiلغة عiiiiند اقiتنائiك عiلى نiسخة مiنها لiترخiيص (مiدى الiحياة) أو مiا يiعرف ب Model" "LifeTime License و كiما ورد من موقعهم أن هناك أشخاصا مازال لديهم حق الوصول للتحديث منذ عام :) 1998 اسiتطاعiت لiغة بiيوربiيزك لi م و اسiتنباط جiميع خiصائiص الiلغات األخiرى و تiوظiيفها كiقوة لiغة الiسي و الiجافiا و الزاروس.. و أيiضا C# و صiiiiiiii غ ر و سiرعiة و ح جiم مiلفاتiها الiتنفيذيiة كiأنiك تiكتب بiلغة التجiميع ( Assembly ) و سiهولiتها( Syntax ) كiالiبايiثون و الiروبiي كiما يiمكنك بiناء ألiعاب ثiالثiية األبiعاد بiاسiتخدام DirectX و غiيرهiا من مشغالت األلعاب زيادة الى بناء برامج تعمل على نواة النظام Driver).(Kernel Mode لتقول لك اجماال : أكتب بخ واص جميع اللغات.. بلغة واحدة.. و.. سطر واحد.. *يمكنك تحميل نسخة تجريبية من املوقع الرسمي لديهم. 3

ملا كل هذا التميز! ما الجديد فيها لiغة Purebasic ليسiت لiغة بiرمiجة عiاديiة فiقد سiبق أن بiرمiجت تiطبيقات عiديiدة مسiتعمال لiغات مiختلفة كiالiسي و الزاروس و أوتويت Autoit لذلك أ درك تماما قيمة هته اللغة و مستقبلها الشاسع. بiiطبع الiiحال بiiيوربiiيزك ليسiiت أحiiسن لiiغة ف C# أوسiiع مiiنها فiiي بiiناء تiiطبيقات الiiويiiندوز و الiiبايiiثون و الiiجافiiا فiiiiي تiiiiعد د املiiiiنصات لiiiiكن أن تجiiiiد لiiiiغة طiiiiبيعية + ال تiiiiحتاج الiiiiى طiiiiرف ثiiiiالiiiiث (dll's) + مiiiiتعددة املiiiiنصات + و سريعة العمل و خفيفة حجم + برمجة Kernel Driver فذاك ش يستحق الثناء. و لiiiiتبسيط أكiiiiثر: تiiiiولiiii د تiiiiطبيقات طiiiiبيعية Development) (Native مسiiiiتقلة ال تiiiiحتاج الiiiiى طiiiiرف ثiiiiالiiiiث أو مiiكتبات خiiارجiiية مiiثل لiiغات NET. الiiتي تii لزمiiك بتحiiميل مiiكتبات اضiiافiiية.. أو الiiجافiiا بمفسiiرهiiا VM و كiiما أن شiiiفرة بiiiرمiiiجية واحiiiدة تiiiدعiiiم جiiiميع املiiiنصات األخiiiرى (Cross-Platform). و يiiiمكنك اسiiiتدراج شiiiفرات لiiiغة التجiiميع (األسiiمبلي) بiiكل ي سiiر و سiiهولiiة.. inline asm كiiما أنiiك قiiادر عiiلى تiiطويiiر و بiiرمiiجة مiii تحكمات لiiوحiiة األردوينو.Arduino جميل جدا لكن أين السهولة في العمل لiنأخiذ مiثاال بiسيطا تiميزت لiغة ++C/C بiصعوبiتها عiند الiتعلم و خiصوصiا عiند اسiتخدام الiواجiهات الiرسiومiية (GUI) فكانت ت لزمك باستعمال شيئني : - 1 اما استعمال أوامر النظام و ملحقاته OS API ك WinApi32 و GDK/GTK على لينوكس. - 2 أو استعمال برامج و مكتبات خارجية م كلفة و ص عبة ك.. QT الخ. أما PB s فسهولة أخرى سنعرفه الحقا. املترجم Compiler ل PB s مii ترجiم لiغة بiيوربiيزك صiiiiiiiii م م لiيدعiم جiميع أصiناف املiنصات بiمختلف املiعالiجات:,x86,x86-64 PowerPC و 680x0 تiiiتم أول تiiiرجiiiمة لiiiلملف بتجiiiميعه و تiiiحويiiiله مiiiن صiiiيغة PB الiiiى شiiiفرات أسiiiمبلي (نiiiوع (Fasm ثiiiم يiiiقوم مiiiترجiiiم األسiمبلي بiتحويiلها بiشفرات مii ض من ة الiى مiلف تiنفيذي EXEs بحجiم صiغير جiدا (light-weight) يiصل الiى ٢ كيلوبايت. يستدعي على الويندوز ملف msvcrt.dll في حالة استخدامك مللحقاته.API 4

مكتبة PB s القياسية و لنغوص أكثر ضمن اللغة تستند بيوربيزك على مكتبات قياسية تحوي وظائف كثيرة لالستخدام كمثال: - صيغ.BMP JPEG JPEG2000 PNG TGA TIFF - م حرر/م تحكم الشفرات البرمجية.Scintilla - قواعد البيانات بجميع أنواعها.SQLite, PostgreSQL, ODBC محiiiiرك ألiiiiعاب مiiiii ض م ن داخiiiiل الiiiiلغة Ogre 3D engine يiiiiمكنك انiiiiشاء رسiiiiومiiiiات ثiiiiنائiiiiية و ثiiiiالثiiiiية األبiiiiعاد و اعتماد بشكل غير رسمي ملحرك.Irrlicht Engine مكتبة DirectX املرفقة بالبيئة.. الخ. - - بناء الجمل Syntax بiناء الجiمل و اجiراءاتiها فiي بiيوربiيزك سهiل لiلم بتدئiني و سiريiع لiلمتقدمiني و غiير مiكلف. تiتشابiه مiع بiعض صiيغ فيجوال بيسك كما تم تطويرها في النسخة 5.20 لتدعم بذلك البرمجة الكائنية OOP لنلق نظرة حول شفرات اللغة: #التعليقات - Comments Code() ; Comment as in the asm #املتغيرات - Variables انشاء م تغير رقمي صحيح و تعريفه حيث أن i تعني كلمة.Intger x.i x.i = 5 الستعمال املعامالت الحسابية بني املتغيرات.. x.i x = 5 y.i y = x * 2 ; 10 5

لتعريف متغيرات نصي ة يمكننا ذلك بطريقتني: نستعمل الحرف (s) أو ($) str1.s = "Abdelhadi" str2$ = "nodekits" ; 1 way ; 2 way str3$ = str1 + " " + str2$ ; Abdelhadi nodekits يمكن تحديد قيمة املتغير و تثبيته: str1.s{5} #الثوابت - Constants #x = 1 #y = "2" #z = 3.14 #العداد - Enumerations Enumeration #x ; 0 #y ; 1 #z ; 2 EndEnumeration #نافذة طرفية - Interface Console OpenConsole() Print("Hello world!") Input() ; wait for key or input a value 6

#نافذة املنق ح - interface Debug-time console تiiفيد فiiي تiiنقيح بiiعض املiiشاكiiل و األخiiطاء الiiتي ضiiiiiiiiii من مiiشاريiiعك بii د ل تiiرجiiمتها كiiل ها و تiiعطيك الiiوقiiت الiiحقيقي للتنفيذ.. Debug "It will be printed in the debug output window" #االجراءات - Procedures Procedure MsgBox(text$) MessageRequester("", text$) EndProcedure MsgBox("Hello World") و الرجاع قيمة متغير داخل اال جراء: Procedure$ InputBox(text$) ProcedureReturn InputRequester("", text$, "") EndProcedure name$ = InputBox("Print your name") MessageRequester("", name$) #التوجيه بلغة التجميع inline asm مiiن جiiمالiiيات الiiلغة أتiiاحiiت اسiiتعمال شiiفرات لiiغة التجiiميع ) أوامiiر األسiiمبلر x86) و تiiوضiiيفها ضiiمن بiiرمiiجياتiiك عiiiiبر املiiiiنصات مiiiiباشiiiiرة بiiiiاملiiiiتغيرات أو املiiiiؤشiiiiرات تiiii فيد األسiiiiiiii مبلي بiiiiشكل كiiiiبير ان كiiiiان لiiiiديiiiiك مشiiiiروع يسiiiiتهلك أجiiزاءا كiiبيرة مiiن الiiذاكiiرة بiiامiiكانiiك اسiiتعمال شiiفرات أسiiمبلي لتسiiريiiع املiiهم ة و األد اء ألنiiها تiiترجiiم مiiباشiiرة الiiى لغة اآللة. عiiiiiلى الiiiiiويiiiiiندوز و لiiiiiينوكiiiiiس بiiiiiيوربiiiiiيزك تسiiiiiتعمل األسiiiiiمبلر (http://flatassembler.net) Fasm و فiiiiiي نiiiiiظام املiاكiنتوش تسiتخدم األسiمبلر (http://yasm.tortall.net) Yasm كiما يiمكنك االسiتعانiة بiاملسiتندات و الiوثiائiق التي يقدمها كلتا املوقعني. من أجل تفعيل التوجيه علينا وضع الوسمني في البداية و النهاية ليتعرف عليهما املترجم. 7

- EnableASM : بداية التوجيه و تبليغ املترجم. - DisableASM : نهاية التوجيه.. السiتخدام صiحيح لiألوامiر عiلينا تiعريiف املiتغيرات أو املiؤشiرات قiبل اسiتعمالiهما ضiمن الiتعليمات و ان اسiتعملت ال (module) يجب كتابة اسمه بحروف صغير هكذا ] module_name. ]. مثال: MOV ebx, ll_mylabel... MyLabel:.. مالحظات.. - األخiطاء الiتي تظهiر فiي الiتوجiيه تiابiعة لiألسiمبلر و لiيس لiلبيوربiيزك قiم بiمراجiعة الخiطأ و اسiتخدم الiتوثiيقات املرفقة. 1- ال يمكن استعمال الكلمات املفتاحية لألسمبلر keywords خارج التوجيه ضمن أسماء.Lable 2- معالجات x86 ت ستعمل الكلمات املحجوزة ك : eax edx ecx الى آخره من املفاتيح. -3 مiiiiiiiiiiiiiiiiiiعiالiiiiiiiiiiiiiiiiiiجiات x64 تiسiiiiiiiiiiiiiiiiiiتiعiمiل الiiiiiiiiiiiiiiiiiiكiلiمiات xmm2 xmm1 xmm0 r9 r8 rdx rcx rax.. xmm3 الى آخره من املفاتيح. 4- عiلى الiويiندوز فiقط: مiلف املiساعiدة help-file) (ASM يiمكن تحiميله عiلى الiرابiط الiتالiي و قiم بiنقل مiلف 'ASM.HLP الiiiى املجiiiلد فiiiي الiiiبيوربiiiيزك '/Help لiiiيمكنك االسiiiتعانiiiة بiiiالiiiنقر عiiiلى الiiiكلمة املiiiحجوز و الiiiضغط على الزر F1 الظهار تفاصيله. 5- لiiiلعودة مiiiباشiiiرة الiiiى املسجiiiiii ل eax أو rax) فiiiي مiiiعماريiiiة x64) اسiiiتعمل فiiiقط ProcedureReturn بدون أي عبارة أخرى. أمثلة: Procedure Test(*Pointer, Variable)! MOV dword [p.p_pointer], 20! MOV dword [p.v_variable], 30 Debug *Pointer Debug Variable EndProcedure Procedure.l MyTest() MOV eax, 45 ProcedureReturn ; The returned value will be 45 EndProcedure 8

#البيانات في امللفات التنفيذية EXE عiادة عiند بiناء تiطبيقات ذو واجiهة رسiومiية يiمكن لiلقراصiنة اسiتخدام بiرامiج تiقوم بiفك التجiميع و تiعرض بiيانiات األخير ك ResHacker لكن على بيوربيزك ال يمكن ذلك. كمثال: البيانات العددية: Restore NumData Read.l A Read.l B MessageRequester("", Str(A)) MessageRequester("", Str(B)) DataSection NumData: Data.l 1, 2 EndDataSection البيانات النصي ة: Restore NumData Read$ A$ Read$ B$ MessageRequester("", A$ + B$) DataSection NumData: Data$ "Hello ", "world" EndDataSection اظهار محتوى ملف نص ي: Restore File1 Read.s File1Data$ MessageRequester("", File1Data$) DataSection File1: IncludeBinary "file.txt" EndDataSection 9

نظرة حول البيئة التطويرية IDE يiأتiي مiع الiلغة بiيئة تiطويiريiة مiتكامiلة النiشاء مiشاريiع بiرمiجية كiبيرة تiحوي هiذه املحiررات عiلى خiصائiص كiبيرة مiiiثل تiiiنقيح الiiiش فرات الiiiبرمiiiجية و ادارة املiiiشاريiiiع و تiiiصنيفها بiiiيئة بiiiيوربiiiيزك بiiiسيطة جiiiدا و غiiiير مiiiعقدة تiiiميزت بiiسهولiiتها الiiكبيرة فiiي ادارة خiiصائiiص املحiiرر و خiiيارات االكiiمال الiiتلقائiiي تحiiريiiر األلiiوان تiiخصيص املiiترجiiم التنقيح التلقائي الى جانب توثيق اللغة بالضغط على زر.. F1 لنلق نظرة : ) الصور من النسخة 4 القديمة) 10

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

12

انشاء الواجهات الرسومية GUI في لغة بيورك بيزك يمكنك انشاء واجهات رسومية بخمسة طرق: - 1 باستخدام املكتبة األصلية ضمن PB فقط و متعددة املنصات.. (الطريقة األسهل). - 2 باستخدام OS API كما ذكرنا سابقا هذه الطريقة تمكنك من الت حكم بالنظام ب شكل ك ام ل مع ص غر حجم امللف. - 3 الجمع بني 1 و 2 ان كنت تحتاج ذلك.. (الوسيلة املفضلة في معظم الحاالت). - 4 استخدام محرك 3D للتصميم و الر سم و تطوير ألعاب ثالثية األبعاد تشبه الى حد ما WPF في الدوت نت NET... ) الوسيلة املنصوح بها لتطوير ألعاب ). 3D - 5 استعمال الط ر ق 1 و 2 و.. 4 (وسيلة جميلة لكن تعتمد على حالة املكتبات). #الطريقة 1: استخدام املكتبة األصلية.. واجهة رسومية بسيطة.. نافذة واحدة و نافذة متعددة.. MessageRequester("Message Box", "Hello World ) ; 4.5 KB Enumeration #btn1 EndEnumeration OpenWindow(#PB_Any, 10, 50, 400, 200, "Abdelhadi nodekits, #PB_Window_SystemMenu) ButtonGadget(#btn1, 10, 10, 100, 25, "Button 1", 0) Repeat Event = WaitWindowEvent() If Event = #PB_Event_Gadget GadgetID = EventGadget() If GadgetID = #btn1 MessageRequester("", "Button 1 clicked!") EndIf EndIf Until Event = #PB_Event_CloseWindow 13

هذه أسهل طريقة لكتابة واجهة رسومية بشكل يدوي على بمكتبة بيوربيزك يمكنك االستعانة بمصمم واجهات سريع جدا و فع ال ) Deigner ) Visual لتفعيله تجده في القائمة العلوية أو يمكنك أيضا استعمال محرر آخر يدعى ب.. PureFORM editor بعد تصميمك للبرنامج يعطيك خاصية نسخ كود التصميم لتستخدمه على البيئة التطويرية.. 14

.. في األخير كل الس بل م تاحة لتنش برنامجك بكل ارتياحية و سهولة.. #الطريقة 2: استخدام أدوات النظام.. باستعمال OS API تدعى على الويندوز WinAPI (في النسخة 10 ت غ ير اسمها). نافذة بسيطة بسطر واحد.. حجم امللف التنفيذي ال يصد ق KB 2.0 MessageBox_(0, "Hello World", "Message Box", 0) ; 2.0 KB نوافذ متعددة.. ; If you want to use in GUI not only latin characters, compile it in Unicode! ; Warning: exe size - it's very, very small! Declare.l WndProc(hWnd, Msg, wparam, lparam) ; declare Window events callback ; Global vars WindowClass.s = "WndClass1" ; Initialize Window Class wc.wndclassex wc\cbsize = SizeOf(WNDCLASSEX) 15

wc\hbrbackground = #COLOR_WINDOW wc\hcursor = LoadCursor_(0, #IDC_ARROW) wc\lpfnwndproc = @WndProc() wc\lpszclassname = @WindowClass ; register Window Class If RegisterClassEx_(@wc) = 0 MessageBox_(hWnd, "Can't register main window class.", "", #MB_ICONERROR) End EndIf ; create window hwnd = CreateWindowEx_(0, WindowClass, Abdelhadi Nodekits", #WS_SYSMENU, 10, 50, 400, 200, 0, 0, 0, 0) If hwnd = 0 MessageBox_(hWnd, "Can't create main window.", "", #MB_ICONERROR) End EndIf ; create button and set it's font hbutton1 = CreateWindowEx_(0, "Button", "Button 1", #WS_CHILD #WS_VISIBLE, 10, 10, 100, 25, hwnd, 0, 0, 0) SendMessage_(hButton1, #WM_SETFONT, GetStockObject_(#DEFAULT_GUI_FONT), 1) ; show window ShowWindow_(hWnd, #SW_SHOWDEFAULT) UpdateWindow_(hWndMain) ; messages handling loop While GetMessage_(msg.MSG, #Null, 0, 0 ) TranslateMessage_(msg) DispatchMessage_(msg) Wend ; window events callback Procedure.l WndProc(hWnd, Msg, wparam, lparam) Shared hbutton1 Select Msg Case #WM_COMMAND If hbutton1 = lparam MessageBox_(hWnd, "Button 1 clicked!", "", #MB_OK) EndIf Case #WM_CLOSE DestroyWindow_(hWnd) Case #WM_DESTROY PostQuitMessage_(0) : Result = 0 Default Result = DefWindowProc_(hWnd, Msg, wparam, lparam) EndSelect ProcedureReturn Result 16

البرمجة الكائنية OOP مطور بيوربيزك سابقا fred أكد أنه لن يدعم أبدا البرمجة الكائنية لكن بعد بلوغ عدد كبير من مستخدمي اللغة أ جبرت على دعمها للبرمجة الكائنية مما القت استخداما كبيرا بني املطورين. راجع الرابط. استخدام مكتبات الطرف الثالث - Third-party تحوي مكتبة بيوربيزك على مكتبات كبيرة مفتوحة املصدر تجدها على الرابط : http://pbosl.purearea.net كiiiما يiiiمكنك تiiiزيiiiني واجiiiهاتiiiك الiiiرسiiiومiiiية عiiiبر مiiiكونiiiات ProGUI يiiiعطيك أكiiiثر 100 مiiiلف DLL مiiiع مسiiiتندات و توثيقات لتخصيصها بشكل أكبر كما يتوفر الويب على ستايالت skins بأشكال مختلفة. املالحق و التوثيقات جدول بسيط معر ب يوضح أنواع املتغيرات.. 17

# املنتديات.. - http://www.purebasic.fr/english (اإلنجليزية) - http://forums.purebasic.com/german (األملانية) - http://www.purebasic.fr/french (الفرنسية) - http://purebasic.info/phpbb3ex/index.php (الروسية) - http://www.cyberforum.ru/pure-basic (الروسية) - http://purebasic.mybb.ru (الروسية) - http://purebasic.ucoz.ru/forum (الروسية) http://www.purebasic.cn/forum.php (الصينية) - # وثائق و دروس + شفرات برمجية جاهزة.. http://www.purebasic.com/documentation - http://purearea.net/pb/codearchiv/codearchiv.html - - http://pure-basic.narod.ru (الروسية) - http://purebasic.info/chapters/index.html (الروسية) - http://purebasic.ucoz.ru (الروسية) - http://mirashic.narod.ru (الروسية) - http://purebasic.ucoz.com (الروسية) (ر بما بعض املواقع توقفت استعن بموقع األرشيف (archive.org املراجع املوقع الرسمي للغة بيوربيزك purebasic.com The Perfect Cross-Platform.. etc CodeProject موقع ويكيبيديا.. Purebasic - - - 18

أتمنى في األخير أن يعجبكم هذا املدخل املختصر للغة ربما اصراري على تعلمها و عدم وجود أي تعريف بها على الويب العربي ألزمني كتابة هذا الكتي ب البسيط.. أرجوا من اهلل أن يكتب أجره في ميزان حسناتنا. دعواتكم لنا بظهر الغيب.. أخوكم عبدالهادي. Abdelhadi @nodekits االميل: nodekits@gmail.com 19