الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برنامجي اﻷول Gamba Speedtouch Driver Maker

مغلق
بدأه McGeek في 11 سبتمبر 2007 · 8 رد · 2,201 مشاهدة · في نظام تشغيل Unix & Linux
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السﻻم عليكم

رمضان مبارك..

أقدم لكم أول برنامج مفتوح المصدر أقوم بإنشائه في اللينوكس باستخدام بيئة الـ GAMBAS...

البرنامج عبارة عن أداة بسيطة مبنية على الصفحة التالية ﻹنشاء تعريف لمودم SpeedTouch USB 330 بسرعة و سهولة خاص بتوزيعة المندريفا و ما يتوافق معها

الكود أغلبه أوامر شل بس بطريقة تتنفذ آليا و بعد تعيين المتغيرات من قبل المستخدم..

البرنامج بسيط جدا و هو نتيجة أول استخدام للبيئة مني كخطوة أولية لفهم نظامها..

الشيء الجيد في الـ GAMBAS أنها غير معقدة و بسيطة و لكن في نفس الوقت فعالة

و أيضا هنا الكثير من اﻷوامر السهلة أكثر من البيئة التي تعودت عليها أيام الويندوز

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

الصورة العامة للبرنامج:

عند تشغيل البرنامج يطلب منك متغيرات هي اسم المستخدم الخاص بمزود الخدمة

و كلمة المرور من المزود أيضا

و رقم الـ VPI/VCI الخاص بالمزود

و أخيرا نوع اﻻتصال:

PPPoA

أو PPPoE

بعد إدخال البيانات يقوم البرنامج تلقائيا بإنشاء الملفات الخاصة و إعادة تشغيل النظام بعد أن ينتهي من الإعداد....

استفدت بشكل أساسي من العنصر TEXTAREA الذي وفر خيارات جيدة مثل إمكانية إدخال نص في مكان معين من النص اﻷصلي

و لكن ﻻ زالت لدي بعض المشاكل في بعض الحاﻻت و التي ستﻻحظونها عند تحميل المشروع و اﻻطرع على الكود...

أما السورس كود فهو بسيط و ﻻ يوجد به أي تعقيد - كما قلت مرحلة أولى حتى أفهم البيئة أكثر -



IF Message.Warning("The following libraries need to be installed: liblinux-atm, ppp-pppoatm, ppp-pppoe please install them and then continue!", "OK, EVERY THING INSTALLED CONTINUE", "CANCEL IT") = 2 THEN RETURN

'checking the entries:
IF TextBox1.text = "" THEN
message.Error("Please check the username field!", "OK")
RETURN
END IF

IF TextBox2.text = "" THEN
message.Error("Please check the password field!", "OK")
RETURN
END IF

IF TextBox3.text = "" THEN
message.Error("Please check the VPI/VCI field!", "OK")
RETURN
END IF

IF RBSTAT = FALSE THEN
message.Error("Please check the revision options!", "OK")
RETURN
END IF

IF RB1.Value = TRUE THEN
SHELL "unzip SpeedTouch330_firmware_3012.zip && chmod +x firmware-extractor && ./firmware-extractor KQD6_3.012"
END IF

IF RB2.Value = TRUE THEN
SHELL "unzip SpeedTouch330_firmware_3012.zip && chmod +x firmware-extractor && ./firmware-extractor ZZZL_3.012"
END IF

SHELL "cp speedtch* /lib/firmware"

IF CB1.Value = TRUE THEN
Message.Info("You have selected your connection as PPPoA.. so now you can setup your connection normally from Mandriva Control Center", "OK")
RETURN
ELSE
textarea1.Visible = TRUE
Button3.Visible = TRUE
RETURN
END IF

END

PUBLIC SUB Button2_Click()

IF message.Question("Are you sure you want to exit?", "EXIT", "RETURN") = 1 THEN
QUIT
END IF

END

PUBLIC SUB Label5_MouseDown()

SHELL "firefox http://www.linux-usb.org/SpeedTouch/faq/index.html#q12"

END

PUBLIC SUB TextBox4_KeyPress()

textbox4.text = "awk '/4061/ { print $5 }' /proc/bus/usb/devices"

END

PUBLIC SUB RB1_Click()

RBSTAT = TRUE

END

PUBLIC SUB RB2_Click()

RBSTAT = TRUE

END

PUBLIC SUB Button3_Click()

textarea1.Visible = FALSE
Button3.Visible = FALSE
CONTINUE_EXE()

END

PUBLIC SUB CONTINUE_EXE()

DIM FILENM AS File

FILENM = OPEN "/home/" & textbox6.text & "/1111" FOR CREATE

FILENM.Save("/home/" & textbox6.text & "/shorewall", TextArea2.Text)
SHELL "mv /etc/rc.d/init.d/shorewall{,.old} && install -m 744 shorewall /etc/rc.d/init.d/shorewall"

textbox5.Select(1, 0)
textbox5.Insert(textbox1.text)
textbox5.Select(8 + textbox1.Length, 0)
textbox5.Insert(textbox2.text)
FILENM.Save("/home/" & textbox6.text & "/secrets", textbox5.text)
SHELL "install -m 600 secrets /etc/ppp/chap-secrets && install -m 600 secrets /etc/ppp/pap-secrets"

textarea3.Select(33, 0)
textarea3.Insert(textbox1.text)
FILENM.Save("/home/" & textbox6.text & "/speedtch", textarea3.text)
SHELL "install -m 600 speedtch /etc/ppp/peers/speedtch"
SHELL "install -m 700 br2684ctl /usr/sbin"

textarea4.Select(157, 1)
textarea4.Insert(textbox3.text)
FILENM.Save("/home/" & textbox6.text & "/dial", textarea4.text)
SHELL "install -m 744 dial /etc/rc.d/init.d/dial && ln -s ../init.d/dial /etc/rc.d/rc5.d/S96dial"

FILENM.Close

IF Message.Info("The system now will REBOOT, after that you should be online.. if not check the username and the passowrd and VCI/VPI, if that did not work make it normally!, OPEN README", "OK") = 1 THEN
SHELL "reboot"
END IF

END
PUBLIC SUB Button1_Click()

سيكون هناك الكثير من المﻻحظات لذا أرجو منكم أﻻ تبخلو علي بأي صغيرة و كبيرة فيها..

)رفعت الملف على سيرفر آخر ﻷن حجمه أكبر من المسموح لي(

http://www3.webng.com/salehram/ST330DriverMaker-0.0.6.tar.gz

الملفات المصدر

الحجم 2.3 ميغا

(h)

تم تعديل هذه المشاركة بواسطة SalehRam في 11 سبتمبر 2007 في 00:44

lxcs.png

syria-flag_small.jpg

#2

جميل جدا بدء اﻷهتمام بـ Gambas , بس فى Form ناقصة فى الملف.

بالمناسبة لو أرفقت المشروع نفسه بس بدون أى ملف تنفيذى و بدون ملف SpeedTouch330_firmware_3012.zip و اى شئ غير ضرورى هيكون أصغر.

بالتوفيق.

#3

فكرة البرنامج جميلة رغم بساطتها ,,,

حاول جعل خطوتك التالية هي تطويره ليشمل توزيعات اكثر " لاتنسى الابنتو" .

بالتوفيق ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#4

السلام عليكم

أعتذر عن عدم الرد بس قلت أشوف المﻻحظات و أرد بشيء جديد بعد نا أجمعها..

قمت بتحسين البرنامج )جدا( و أصبح اﻵن متوافق مع أربع توزيعات هي:

Mandriva

Ubuntu

Fedora Core

SuSE

و أصبح غير ضروري وجوده في مجلد Home بس ﻻزم الملفات الضرورية تكون موجودة هناك..

و أيضا ﻻزال يتطلب تشغيله في وضع الـ ROOT بالنسبة للـ Mandriva - Fedora Core - SuSE أما اليبونتو ﻻ داعي لذلك..

نظريا سيعمل على التوزيعا اﻷربعة و لكن أنا لم اختبره إﻻ على Mandriva و اليوم سأجربه على Ubuntu

و لكن ﻻزالت هناك مشكلة مشتركة مع البرنامج القديم و هي أسماء العناصر.. :D

كما ستﻻحظون اﻷسماء هي نفسها اﻷسماء اﻻفتراضية )لسى متعود ما أحد يفتح الكود غيري :D(

ST330DriverMaker_0.0.8.tar.gz

lxcs.png

syria-flag_small.jpg

#5

وفقك الله ..

مشروع جميل .. :)

Be Happy

^_^

#6

السلام عليكم

يمكنك ان تعتبرني اول مستخدم لبرنامجك الرائع فقط كنت ابحث طويلا على طريقة لتعريف ال

st330 with ubuntu

لكني الان لا اعرف كيف استطيع الاستافدة من البرنامج في الاوبونتو

هل يمكن ان تشرح طريقة لاستخدامه

تم تعديل هذه المشاركة بواسطة basem salem في 15 فبراير 2008 في 17:15

#7

عفوا للتأخر في الرد

تحتاج لحزمة الـ Gambas2 أن تكون مثبتة على الجهاز حتى تتمكن من تشغيل البرنامج (لا أعلم إذا صدر حل لهذه المشكلة أم لا) استخدم الـ Synaptec لتنزيلها...

قم بتنزيل البرنامج و حمل الملفات الضرورية ستجد روابطها داخل البرنامج...

و ضع الملفات الهامة في مجلد الـ Home و شغل البرنامج من أي موقع على الجهاز و بعدين اتبع التعليمات التي ستظهر...

و في حال فشل البرنامج بتشغيل المودم اذهب للصفحة الأساسية التي أخذت منها العمل و اتبع الخطوات منها..

http://www.linux-usb.org/SpeedTouch/ubuntu/index.html

http://www.linux-usb.org/SpeedTouch/ubuntu/warty.html

بس لو ما مشي معك أنصحك كما فعلت أنا أن تغير المودم اللي عندك و تاخد روتر أفضل لك لأن الـ USB ما حيشتغل بسهولة معك...

lxcs.png

syria-flag_small.jpg

#8

بدايه جميله من مبرمجى اللينكس

نرجوا زياده الاهتمام بتوفير البرامج لمستخدمى اللينكس الجدد لنشر النظام

2129cdd84c.gif

danger.gif
#9

جزاكم الله كل خير ,,

تم تعديل هذه المشاركة بواسطة Skeleton_Eel في 18 فبراير 2008 في 02:04

هذا الموضوع مغلق.

مواضيع مشابهة