wxBasic

wxBasic هو برنامج مجاني / مفتوح المصدر ، ومترجم لغة BASIC متعدد المنصات . ولأنه مبني على بنية لغة BASIC، فقد صُمم ليكون سهل التعلم والفهم، مما يسمح للمبرمجين المبتدئين بكتابة تطبيقات للبيئات الرسومية مثل Windows و Linux بأقل جهد. wxBasic لغة تعتمد على رمز البايت ، مثل Perl أو Java . وهي مرخصة بموجب رخصة LGPL ، مما يسمح بربط شفرة المصدر الخاصة بالبرامج الاحتكارية بها.

يُمكن لـ wxBasic إنشاء ملفات تنفيذية مستقلة عن طريق ربط شفرة المصدر بالمفسر . وعلى عكس الملفات التنفيذية التي تُنشئها برامج تجارية مماثلة مثل Visual Basic ، فإن الملفات التنفيذية التي يُنتجها wxBasic لا تتطلب أي ملف DLL خارجي أو ملف موارد أو مُثبِّت لتشغيلها. يتم توزيع الملف التنفيذي بشكل مستقل، ويمكن للمستخدمين النهائيين تشغيله فورًا . وكما هو الحال مع البرامج المكتوبة بأي لغة مُفسَّرة ، يُمكن أيضًا تشغيل برامج wxBasic مباشرةً من شفرة المصدر على أي منصة، في حال وجود wxBasic.

كُتبت لغة wxBasic بشكل أساسي بلغة C ، مع بعض أكواد C++ التي تربطها بمكتبة wxWidgets . توفر wxWidgets ميزات التوافق مع مختلف الأنظمة. تعمل wxBasic على نظام التشغيل Microsoft Windows باستخدام عناصر التحكم الأصلية، وعلى نظامي التشغيل Linux و macOS باستخدام مكتبة GTK+ . [ 2 ] كما تُعد wxBasic أساس مشروع SdlBasic .

مثال

البرنامج التالي يُنفذ عارض نصوص:

'من https://wxbasic.sourceforge.net/phpBB2/viewtopic.php?t=554 ' عارض نصوص بسيط مكتوب بلغة wxBasic dim AppName = "عارض نصوص" fileName = ""' النافذة الرئيسية dim frame = new wxFrame ( Nothing , - 1 , AppName & " - Untitled Document" ) ' عنصر تحكم تحرير النص dim control = new wxTextCtrl ( frame , - 1 , "" , wxPoint ( 0 , 0 ), wxSize ( 100 , 100 ), wxTE_MULTILINE | wxTE_READONLY | wxTE_RICH )شريط الحالة - الشريط الموجود أسفل النافذة dim status = frame.CreateStatusBar ( 1 ) frame.SetStatusText ( "جاهز" ) ' ' مربع حوار لفتح dim fileDialog = new wxFileDialog ( frame ) ' ' إضافة شريط القوائم إلى الإطار dim mBar = new wxMenuBar () frame.SetMenuBar ( mBar ) ' ' إنشاء قائمة "ملف" المنسدلة dim mFile = new wxMenu ( ) mBar.Append ( mFile , " & File " )' make it ' mFile . Append ( wxID_OPEN , "&Open..." , "Loads an existing file from disk" ) ' mFile . AppendSeparator () mFile . Append ( wxID_EXIT , "E&xit\tAlt-X" , "Exit Application" )Sub onFileOpen ( event ) fileDialog.SetMessage ( " فتح ملف " ) fileDialog.SetStyle ( wxOPEN ) If fileDialog.ShowModal ( ) = wxID_OK Then fileName = fileDialog.GetPath ( ) Ext = fileDialog.GetFilename ( ) control.Clear ( ) control.LoadFile ( fileName ) frame.SetTitle ( AppName & " - " & fileName ) frame.SetStatusText ( Ext ) End If End Sub ' Connect ( frame , wxID_OPEN , wxEVT_COMMAND_MENU_SELECTED , " onFileOpen " )Sub onFileExit ( event ) frame . Close ( True ) End Sub ' Connect ( frame , wxID_EXIT , wxEVT_COMMAND_MENU_SELECTED , "onFileExit" )' إنشاء قائمة "المساعدة" المنسدلة dim mHelp = new wxMenu ( ) mBar.Append ( mHelp , "&Help" ) mHelp.Append ( wxID_HELP , " &About\tF1" , "حول هذا البرنامج" ) ' Sub onHelpAbout ( event ) Dim msg = "يسمح عرض النص بعرض أي ملف نصي\n" & " بغض النظر عن امتداده.\n" & "إذا لم يكن الملف المفتوح ملفًا نصيًا\n" & "فلن يتم عرضه. ستظهر\n" & "بعض البيانات غير المرغوب فيها وهذا كل شيء." wxMessageBox ( msg , "حول عرض النص" , wxOK + wxICON_INFORMATION , frame ) End Sub Connect ( frame , wxID_HELP , wxEVT_COMMAND_MENU_SELECTED , "onHelpAbout" )frame.Show ( True )

مراجع

  1. "الأخبار، أغسطس 2024" . wxbasic.net . تم الاطلاع عليه بتاريخ 15 فبراير 2026 .
  2. "تنزيل" . wxbasic.net . تم الاطلاع عليه بتاريخ 25 سبتمبر 2017 .