تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
برنامج جامباز gambas 3
#1
بسم الله الرحمن الرحيم

لقد جرّبت برنامج جامباز كبديل لفيجوال بيزيك دوت نت
وقمت بمساعدة صديق لي يدراسة البرمجة وتطبيق بعض الأمثلة من هذا الكتاب على جامباز

https://librebooks.org/become-a-visual-b...n-10-days/

ولكن هناك اختلافات طفيفة في الكود بين جامباز
Gambas 3
وبين فيجوال بيزيك دوت نت

وقد أفادني هذا الكتاب
http://distro.ibiblio.org/vectorlinux/Ue...-guide.pdf

في معرفة كيفية التغلب على وجود تلك الاختلافات

وهذا ما كتبته سابقا
https://www.kutub.info/library/book/19620
عن كيفية عمل برنامج بسيط


وسوف أقوم إن شاء الله بتنزيل البرامج التي قمنا بتصميمها هنا في هذا الموضوع

البرنامج رقم 0 هو مجرد تعريب للبرنامج المكتوب السابق لحساب الضغط

لاحظ أن: كل اسم Name سواء كان اسم المشروع project name أو اسم صندوق نص textbox name أو اسم عنوان label name أو اسم زر button name أو أي اسم آخر يكتب بحروف إنجليزية بدون مسافات وبدون كثير من الرموز ولكن يمكنك وضع شرطة تحتية _ داخل الاسم للفصل مثل: Calculation_Button

أما النص text لكل ما سبق فإنه يمكنك كتابته كما تشاء ويمكنك كتابته باللغة العربية كذلك عنوان المشروع Project Title ونص الفورم Form text الذي يكتب كعنوان للفورم

وهذا هو الكود البرمجي الخاص بالبرنامج: (اضغط على الزر Button1 نقرة ثنائية double click لكتابة البرنامج)

Public Sub Button1_Click()
Dim rho As Single
Dim g As Single
Dim h As Single
Dim p As Single

rho = TextBox1.Text
g = TextBox2.Text
h = TextBox3.Text

p = rho * g * h

Message(p)

End


والملف المرفق هو صورة للفورم


الملفات المرفقة الشكل المصغر
   
الرد
#2
بسم الله الرحمن الرحيم


البرنامج الأول : عمل محمد ورداني و أحمد البسيوني
                       مأخوذ من مذكرة مادة في المعهد العالي للحاسبات ونظم المعلومات الإدارية HICMIS في مصر

هو برنامج حساب متوسط ثلاثة أرقام

وهو يشبه البرنامج السابق


إلا أننا قمنا بتلوين النص text  في العناوين labels والزر button باللون الأزرق وذلك باستخدام الأداة التي تشبه القلم والمبينة في الصورة
اختر الجزء المراد تلوين خطه ثم اختر الأداة التي تشبه القلم لتلوين الخط
وطريقة أخرى : اختر الجزء المراد تلوينه ثم اختر الخاصية Foreground ثم اضغط على النقاط الثلاث المتراصة لتغيير لون الخط

كذلك قمنا باستخدام الدالة Val وهي مسئولة عن تحويل سلسلة المحارف string إلى قيمة عددية

وهذا هو الكود البرمجي: (اضغط على الزر Button1 نقرة ثنائية double click لكتابة البرنامج)


Public Sub Button1_Click()

Dim A, B, C, D As Single

A = Val(TextBox1.Text)
B = Val(TextBox2.Text)
C = Val(TextBox3.Text)
D = (A + B + C) / 3

Message(D)


End


والصورة المرفقة تبين الفورم والأداة التي تشبه القلم والمستخدمة في تلوين الخط


الملفات المرفقة الشكل المصغر
   
الرد
#3
بسم الله الرحمن الرحيم


البرنامج الثاني  : عمل محمد ورداني و أحمد البسيوني
                       مأخوذ من مذكرة مادة في المعهد العالي للحاسبات ونظم المعلومات الإدارية HICMIS في مصر

هو برنامج حساب متوسط ثلاثة أرقام أيضا

وهو يشبه البرنامج السابق ولكن مع زيادة زر يقوم بمسح الأرقام والنتائج

وذلك لتسهيل إعادة كتابتها مرة أخرى

وهذا هو الكود البرمجي لزر الحساب

Public Sub Button2_Click()
Dim a, b, c, avg, sum As Single
a = Val(textbox1.text)
b = Val(textbox2.text)
c = Val(textbox3.text)
  sum = a + b + c
  avg = sum / 3
  Label7.text = sum
  Label8.text = avg

End Sub



وهذا هو الكود البرمجي لزر المسح

Public Sub Button1_Click()

  textbox1.text = ""
  textbox2.text = ""
  textbox3.text = ""
  Label7.text = ""
  Label8.text = ""
 
  End Sub




حيث نجعل النص text لكل من الصناديق النصية textboxes والعناوين labels التي تعرض النتائج يكون لا شيء ولذلك نضع أقواس تنصيص مزدوجة بينها "لا شيء"
لاحظ أن : عند كتابة سلسلة المحارف string فإننا نضعها دائما بين أقواس تنصيص مزدوجة مثل هذه "string"

أيضا قمنا بالإضافة إلى تلوين الخطوط بتلوين الخلفيات عن طريق الأداة التي تشبه دلو الألوان
وطريقة أخرى : اختر الجزء المراد تلوين خلفيته ثم اختر الخاصية Background ثم اضغط على النقاط الثلاث المتراصة لتغيير اللون

والصورة المرفقة تبين الفورم والأداة التي تشبه دلو الألوان والخاصية Background


الملفات المرفقة الشكل المصغر
   
الرد
#4
بسم الله الرحمن الرحيم

كيفية عمل ملف تنفيذي

بعد عمل البرنامج وإنهاؤه يمكنك تشغيله عن طريق جامباز

ولكن ماذا إن كنت تريده أن يعمل بشكل مستقل أي دون تشغيل جامباز

عندها ستذهب إلى قائمة (المشروع) ثم تذهب إلى (إنشاء) ثم (ملف تنفيذي...)

كما هو مبين في الصور المرفقة

ثم احفظ الملف التنفيذي في المكان الذي تريده

ثم أغلق جامباز

الآن، اذهب غلى المكان الذي حفظت فيه الملف التنفيذي والذي امتداده
.gambas
ثم قم بتشغيل البرنامج وسيظهر إن شاء الله كما هو مبين في الصور

لاحظ في الصورة أن قيمة المتوسط ليست دقيقة بعد الخانة العشرية السادسة
قد لا تحتاج إلى هذه الدقة ولكن ما هو السبب

السبب أننا استخدمنا متغير من نوع Single وهو ذو دقة محدودة


الملفات المرفقة الشكل المصغر
       
الرد
#5
بسم الله الرحمن الرحيم


البرنامج الثالث : عمل محمد ورداني وأحمد البسيوني

برنامج لتحفيظ الأطفال جدول الضرب وآلة حاسبة لعملية الضرب فقط



وهذا هو الكود البرمجي للآلة الحاسبة
Public Sub Button1_Click()

    Dim y, z, m As Integer
    m = Val(TextBox2.text)

    z = Val(TextBox1.text)
    y = m * z
    Message(m & "*" & z & "=" & y)

End


وكما ترى فإن هذا الكود بسيط

ضرب رقمين وإظهار الرقم الأول * الرقم الثاني = الناتج


والآن بالنسبة للبرنامج الآخر الذي يعرض رسائل متتابعة لحفظ جدول الضرب
والرقم يتم إدخاله عن طريق TextBox
فقد استخدمنا فيه التكرار For
مرتين مرة لعرض الجدول من كذا * 1 = الناتج إلى كذا * 12 = الناتج
ومرة لعرض الجدول من كذا * 12 = الناتج إلى كذا * 1 = الناتج
وذلك حسب اختيار المستخدم عن طريق CheckBox

وهذا هو الكود البرمجي للزر الثاني
Public Sub Button2_Click()

  Dim x, c, d As Integer
  c = Val(TextBox3.text)
 
  If CheckBox1.Value = False
 
  For x = 1 To 12 Step 1
   
    d = (x * c)
    Message(d & "  =  " & x & "  *  " & c)
   
  Next
Endif

If CheckBox1.Value = True
 
  For x = 12 To 1 Step -1
   
    d = (x * c)
    Message(d & "  =  " & x & "  *  " & c)
   
  Next
Endif

End


وأرجو أن يتضح الأمر أكثر بالصور المرفقة
إن شاء الله تعالى


الملفات المرفقة الشكل المصغر
                   
الرد
#6
بسم الله الرحمن الرحيم


البرنامج الرابع : عمل محمد ورداني وأحمد البسيوني

برنامج للأعداد Numbers يبين هل العدد زوجي even أم فردي odd وهل هو أولي prime أم غير أولي



الكود البرمجي للزر الأول الذي يبين هل العدد فردي أم زوجي
Public Sub Button1_Click()
  Dim x As Long
  Dim w As Integer
  x = Val(TextBox1.text)
  w = x Mod 2
  If w = 0 Then
    Message("العدد زوجي")
   
  Endif

  If w = 1 Then
    Message("العدد فردي")
 
  Endif
End



الكود البرمجي للزر الثاني الذي يبين هل العدد أولي أم غير أولي

Public Sub Button2_Click()
  Dim z, i As Long
  Dim c As Integer
  Dim b As Boolean
  z = Val(TextBox1.text)
  For i = 2 To z - 1
      c = z Mod i
    If c <> 0 Then
        b = True
    Endif
    If c = 0 Then
      b = False
      Goto ForExit
    Endif
  Next
  ForExit:
If z = 1 Then
    b = True
  Endif
  If z = 2 Then
    b = True
  Endif
If b = True Then
  Message("عدد أولي")
Endif
If b = False Then
  Message("عدد غير أولي")
Endif
End


والمزيد من التوضيح موجود بالصور


الملفات المرفقة الشكل المصغر
                   
الرد
#7
بسم الله الرحمن الرحيم


البرنامج الخامس  : عمل محمد ورداني و أحمد البسيوني


برنامج يعرض الأعداد الفردية والأعداد الزوجية في الأعداد من 1 إلى 100

الزر الأول يعرض الأعداد الفردية في ListBox وهذا هو الكود البرمجي له

Public Sub Button1_Click()
  Dim y, w As Integer
 
  For y = 1 To 100
    w = y Mod 2
    If w = 1 Then
      ListBox1.Add(y)
    Endif
   
  Next

End


الزر الثاني يعرض الأعداد الزوجية في ListBox أخرى وهذا هو الكود البرمجي له

Public Sub Button2_Click()
  Dim z, x As Integer
 
  For z = 1 To 100
    x = z Mod 2
    If x = 0 Then
      ListBox2.Add(z)
    Endif
   
  Next
End


والمزيد من التوضيح في الصور المرفقة


الملفات المرفقة الشكل المصغر
                   
الرد
#8
بسم الله الرحمن الرحيم


البرنامج السادس  : عمل محمد ورداني و أحمد البسيوني


برنامج يعرض الأعداد الأولية والأعداد غير الأولية في الأعداد من 1 إلى 100


زر واحد يعرض الأعداد الأولية وغير الأولية كل منهم في listBox

والكود البرمجي لهذا الزر يكون كالتالي:

Public Sub Button1_Click()
  Dim i, z, c As Integer
  Dim b As Boolean
  ListBox2.Add(1)
  ListBox2.Add(2)
For z = 3 To 100
  For i = 2 To z - 1
      c = z Mod i
    If c <> 0 Then
        b = True
    Endif
    If c = 0 Then
      b = False
      Goto ForExit
    Endif
  Next
  ForExit:
If b = True Then
    ListBox2.Add(z)
Endif
If b = False Then
  ListBox1.Add(z)
Endif
Next
End


والمزيد من التوضيح موجود في الصور


الملفات المرفقة الشكل المصغر
                   
الرد


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


مستخدمين يتصفحوا هذا الموضوع: 1 ضيف