مسابقة الشهر (هناك جوائز) :d

محمد الفرح

Well-Known Member
السلام عليكم ورحمة الله وبركاته

أقدم لكم مسابقة فريدة من نوعها وأرجوا أن تكون مثمرة ونلتمس فيها الإبداعات لدى المبرمجين الكرام

تكون المسابقة بوضع كل مبرمج لبرنامج واحد فقط وعند إنتهاء الوقت المحدد للمسابقة سيوضع تصويت للبرنامج الأفضل والذي يحتوي على فائدة اكبر
الجائزة مقدمة مني وليست من المنتدى :d
التاريخ:-


اليوم الثلاثاء الساعة 9:54 مساءً الموافق : 28/3/2006

تنتهي اليوم الثلاثاء الساعة 9:54 مساءً الموافق : 28/4/2006

الشروط :- (الجوائز تحت:d)

1- ان يكون عضو :d
2-لا يزيد عدد المشاركين عن 10 (أول عشرة يكتبون أريد الإنظمام)

3-شرط ان يتم طرح الكود لظمان الحقوق
الجوائز:-

المرتية الأولى :-

له 50 ميقا يتم تركيب عليها منتدى vb 3.5 مع هاكات مع ستايل

و مركز تحميل صور

إختصار إسم موقعه الى (yousername.6x.to) أو غيرها

المرتب التاني :

له 50 ميقا يتم تركيب عليها منتدى vb 3.5 مع ستايل

و مركز تحميل صور

إختصار إسم موقعه الى (yousername.6x.to) أو غيرها

المرتبة الثالثه:-

له 50 ميقا يتم تركيب عليها منتدى vb 3.5

إختصار إسم موقعه الى (yousername.6x.to) أو غيرها

وcame over للخاسرين

يوجد مسابقات كثيرا ونتمنى نشوف الجهود
مثال للجائزةhttp://www.mhamadalfarh.host.sk
 


وكلها تدعم نقل ftp وتدعم php

مركز تحميل الصور منفرد حجمه 50 ميقا

المنتدى حجمه 50 ميقا

كل واحد له ftp خاص
 


ولماذا سأضع كود برنامجي من أجل جائزة لا معنى لها

فهناك آلاف المواقع التي تمنح مثل ما تُقدمه لنا أنت كجائزة وتقدمه مجانا وأكثر من ذلك

فهناك موقع:
http://www.hostlix.com
وهو يمنح 200 ميجابايت مع قاعدة بيانات MySQL ودعم لPHP وحساب "FTP" ولوحة تحكم وووو...............................................
وهناك
http://www.pandela.com
وهو يمنح 100 ميجابايت مع كل الموصفات المذكورة في الأعلى وأكثر

وهناك مواقع أكثر
وهنا ذكرت فقط الموقعان اللذان أستخدمهما
وهذا الأخير يمنح اختصارات عدة لعنوان موقعك مثلا عنوان موقعي هو:
http://mpastro.to.md

حيث "mpastro" هو الاسم الذي ترغب به.

وفي هذه الحالة يكون السؤال هو:
لماذا أظهر الكود المصدري لبرنامجي من أجل شيء موجود مجانا لمن يرغب فيه؟

مع العلم أني لا أمانع عرض أكواد برامجي مقابل لا شيء لأني أؤمن بأن المعرفة وُجدت لتُنشر وبدون مقابل.


ثم لماذا يُوضع شيء موجود مجانا وبكثر كجائزة؟، أما تثبيت منتدى ... فذلك شيء ولا أبسط ومن يُريده فأقوم له بذلك (تثبت والشكل وحتى نشر المنتدى على الشبكة...) بدون مقابل والله المعين.


أخوكم: صلاح الدين بن شبيبة
 


بارك الله فيك اخي


لكن الجائز كانت فقط للتشجيع ليس اكثر

مع العلم اني سوف اقوم بشرح طريقة عمل منتدى + اختصارة + مركز تحميل لكن بعد انتهاء المسابقة


سؤال : لماذا طلبت وضع الكود ؟؟
الجواب :- لسبب واحد هو الحفاظ على الحقوق وثانيا طلبت الشرح لمن يستطيع عشان الاعضاء يستفيدوا


مشكور اخي
 


إنما الأعمال بالنيات ولكل امرئ ما نوى​


"مع العلم اني سوف اقوم بشرح طريقة عمل منتدى + اختصارة + مركز تحميل لكن بعد انتهاء المسابقة."

هذا كلام جميل وأرجوا أن يُصبح واقعا. حقيقة دروس أو شروحات تصميم المنتديات موجودة في كثير من المنتديات بل وهناك منتديات متخصصة في ذلك منها منتديات "سوالف"، ومنتديات "ترايدنت"...

لكن زيادة المعرفة وتنوعها أمر جميل ومفيد، فهو يُعطي المتعلم العديد من الطرق للقيام بشيء واحد أو على الأقل يكون في كل درس شيء جديد أغفله كاتب درس قديم وهكذا...

شكرا لك أخي على التفهم

سلام
 


ليس هناك اي مشكلة اخي

لكن لو كان هناك جائزة اخرى لوضعتها :d

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

ومشكور على مرورك وشكلوا المعترضين اكثر من المشاركين :d
 


ردا على كلام الأخ صلاح الدين بن شبيبة

سؤال فقط : أنت ماذا قدمت لكي تعارض هذه المسابقه؟
وإنظر الى عدد مشاركاتك
ومواضيعك 0

لا تلقي علينا كلام ولكن عززها بأفعال

وشكرا
 


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


هذه هي أول مشاركة لي في المنتدى لأني أساسا لم أدخل المنتدى منذ عدة شهور لأكتب فيه وإنما توقفت في المنتدى لأني كنت بحث عن شيء ما فحسب وعندما لم أجده تابعت رحلتي عبر الشبكة وكأن شيئا لم يكن.

وقبل عدة أيام كنت أتصفح بريدي فوجدت رسالة بالمسابقة... فقلت في نفسي لم لا على الأقل نعرض بعض ما عندنا على العالم ولكني فوجئت بأن لا شيء ييُوجد بالمسابقة يدعو أي شخص لكي يُصمم برنامج أو يعرض برنامج أنشأه من قبل...

وبما أن ما هو مُقدم كجائزة موجود بلا حدود على الشبكة فقد رأيت من واجبي توضيح ذلك.

وهذا كل شيء

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

وهكذا أخي "Tiger" لا أجد ما الذي يجعلك تنزعج مني.

وعلى أي حال يا سيدي العزيز أنت تأمر.

تحياتي
 


وها أنا ذا أشترك في المسابقة يا سيد "Tiger" :biggrin:

هذا البرنامج الذي أشترك به أشترك به في الأساس لأنه يجمع ثلاثة أشياء أرى أنها ستفيد من سيستخدم البرنامج أو يستغل شيفرته فحسب.

1 - هذا البرنامج يقوم بإنشاء زر إطلاق في متصفح الإنترنت والمقصود بزر إطلاق هو ظهور أزرار بجانب "Stop" "Refresh"... ويكون دور الإزرار كما ترغب.

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

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

2 - بالنسبة لمبرمج لغة ال "VB" فإنه سيتعلم ثلاثة أشياء:
- كيفية استخدام أزرار رسومية جميلة حسب إبداعه.
- كيفية التعامل مع المسجل (مسجل النظام = Registry System) من خلال ال "VB" بطريقة بسيطة للغاية ومنظمة.
- كيفية تحريك نافذة برنامج لا تحتوي على شريط عنوان افتراضي.

3 - البرنامج من حق للجميع ولأي أهداف كانت.:innocent:


البرنامج بحجم 144 كيلوبايت دون احتساب "DLL" الخاص بتشغيل البرامج التي يتم صنعها بواسطة ال Visual Basic.

في الرابط التالي تجدون ملف مضغوط من نوع "ZIP" ويوجد به:
- البرنامج جاهز باسم "CLB".
- مجلد أيقونات باسم "Icons" وبه عدة أيقونات أستخدمها أنا.
- البرنامج المصدري للاطلاع على الشيفرة.
- ملف "Power Point" يحوي تصميم الأزرار التي استخدمتها في البرنامج.

الرابط هو: http://www.mpastro.hostlix.com/CLP.zip

الصورة التوضيحية:
12557_1144738102.jpg

وتحياتي للجميع

صلاح الدين بن شبيبة
 


رائع يا أخي وفي الحقيقة لقد إطلعت على الأوامر وإسغربت
فهل يوجد شرح لطريقة عمل هذا البرنامج أم هو من تصميمك الشخصي ؟؟؟
وهذا اول برنامج ننتضر الباقي
وأهلا وسهلاً بك معنا اخي
تم إرفاق برنامج بصيغة rar + zip للحفاظ عليه
 

المرفقات

  • CLP.zip
    242.9 KB · المشاهدات: 10
  • Creating Launch Button.rar
    212.4 KB · المشاهدات: 9


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

لم أفهم قصدك؟؟

على أي حال لو كنت ترغب في أن أشرح كيف تعمل الأوامر "Codes" في هذا البرنامج (تفصيل كيفية عمل أوامر البرنامج فيُمكن أن أخصص وقتا لفعل ذلك).

أما لو كنت تقصد هل أنا مصمم البرنامج؟ فأجل أنا كذلك.

وذلك على النحو المعتاد في البرمجة بواسطة "VB" تحدد الفكرة التي ترغب في القيام بها، ثم تحدد ال "API" التي ستحتاجها ثم الباقي تُتنتجه من عقلك.

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

تحياتي
 


اخي themap اتمنى ان تقوم بشرحه لتعم الفائدة للجميع

اذ كان يسمح لك وقتك

وبالنسبة للصورة إسمح لي بتعديلها
 


حسنا الآن صرت متفرغا نسبيا لأشرح البرنامج وعندما أردت البدأ بذلك قبل قليل انتبهت إلى أني لا أعرف بالضبط ما الذي يجب أن أشرحه؟

هل أشرح كيف يعمل البرنامج على مستوى الأوامر؟

أم أشرح كيف تعمل أوامر البرنامج كل على لوحده؟

ففي الحالة الأولى لا أعتقد أن أحد سيستفيد من الشرح لأنه ليس هناك ما يُشرح في الحقيقة.

أما الحالة الثانية فستكون هناك فائدة كبيرة لكن هناك مشكلة وهي أن شرح بعض أوامر البرنامج سيحتاج إلى معرفة مسبقة من قبل القراء بالعديد من الأمور حول نظام التشغيل وحول ال"vb"، وغير هذا لن يُمكنني الشرح لأني سأضطر لكتابة عشرات الصفحات وإعداد الكثير من الصور لكي يحصل المتلقي على الفائدة.

لهذا ارتأيت الآتي:

سأزور الموضوع بشكل يومي لتلقي أي أسئلة حول البرنامج أو أوامر وأجيب عنها، وهكذا سيكون هناك توافق بين جوابي والسائل حسب ما سؤاله، وبالتالي سيتفيد هو وأكون أنا مرتاح وستتجمع مجموعة من الأجوبة على العديد من الأمور ما يجعل غير السائل يستفيد أيضا.

وهكذا أنا في انتظار أي أسئلة

تحياتي
 


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


السلام عليكم
يتكون البرنامج من:
1 - Form1
2 - MPRegistry
سنبدأ برقم 2 (MPRegistry) هذه عبارة عن "Class Module" وال "Class Module" هي شيء أشبه ب"الإجراء الخاص" "Private Sub" مع قدرات أكبر وأقوى، والغاية منها في حالتنا هذه هو تسهيل استخدام أوامر "API" الخاصة بالتعامل مع مسجل النظام، حيث تم كتابة كل تلك "API" فيها وتم إنشاء وظائف فيها لكي يتم استدعاؤها فيما بعد بكل بساطة وفي أي برنامج دون الاضطرار لكتابتها في كل مرة.
والمعنى من كل هذا هو أن "MPRegistry" هي مجرد أداة، وسأشرح طريقة استخدامها وليس كيف تم إنشاؤها هي نفسها لأن هذا الأخير سيأخذ وقتا طويلا.
الآن نعود إلى رقم 1 النافذة "Form1" ومن خلالها سأوضح كيفية استخدام ال "MPRegistry".
تنقسم أوامر ال"Form1" إلى خمسة أوامر رئيسية:
1 - أوامر تحريك ال"Form" الذي لا يحتوي على شريط عنوان.
2 - أوامر استدعاء صندوق الفتح.
3 - أوامر التعامل مع مسجل النظام "Registry".
4 - أوامر إنشاء دليل فريد (لا يُمكن أن يكون مكررا) وذلك لاستخدامه كعنوان لزر الإطلاق.
5 - جعل أزرار البرنامج تفاعلية "تُضيء عندما تمرر مؤشر الفأرة عليها، وتنضغط عندما تضغط على الزر..."
فلنبدأ على بركة الله:
1 - تحريك ال "Form" الذي لا يحتوي على شريط عنوان.
ما معنى هذا؟
الجواب:
كل "Form" يكون لديها شريط عنوان "TitleBar" وهو الشريط الذي تكون به أزرار التكبير والتقليص والإغلاق، وكذلك يكون به اسم البرنامج أو ما شابه.
attachment.php

يلعب شريط العنوان ثلاثة أدوار رئيسية هي:
- تحريك النافذة "Form".
- احتواؤه لأزرار التعامل مع النافذة من حيث الإغلاق التكبير والتقليص.
- واحتواؤه على اسم البرنامج أو أي شيء تريد كتابته مكانه.
بالنسبة لنا كمبرمجين فإن شريط العنوان يُعتبر مشكلة في معظم البرامج التي نقوم بتطويرها وهناك عدة أسباب لاعتباره مشكلة:
- بعضنا لا يرغب في أن يتم تكبير البرنامج لأن ذلك يُفسد شكله.
- بعضنا يُريد أن يبقى برنامجه دائما ظاهرا، وأن لا يتم تقليصه إلى ال"TaskBar" "شريط ابدأ".
- بعضنا لا يُريد أن يتم غلق برنامجه.
وكل هذا لا مشكلة فال "VB" يمنحنا بعض الخيارات السريعة لتجاوز ذلك.
ولكن هناك شيء لا يُمكن تجاوزه ببساطة وهو شكل شريط العنوان ولونه وشكل أزرار وشكل الكتابة فيه...
إذا على المبرمج الذي يُريد لبرنامج أن يكون ذو شكل متناسق أن يُزيل شريط العنوان، والأمثلة كثيرة:
Ulead Video Studio
Windows Media Player حيث هناك خياران إظهار شريط عنوان التقليدي أو الرسومي.
وكذلك برنامج مرسال "MSN"...
وكمثال هذا أحد برامجي والذي مثله مثل كل برامجي لا يحتوي على شريط العنوان التقليدي وإنما أصنع واحدا خاصا دائما حسب كل برنامج ليتوافق مع شكله العام.
attachment.php

كل هذا جميل ويتم بشكل سلس ولكن تعترض أي مبرمج مشكلة وهي أنه بإزالة شريط العنوان فإنك تفقد ميزتان مهمتان من برنامجك وهما:
- التحريك (تحريك ال "Form" من مكان لآخر في الشاشة)
- والقائمة التي تظهر عند الضغط بالزر الأيمن للفأرة على البنامج في "شريط إبدأ"
وما يهمنا الآن هو الأولى، أي التحريك.
ال "API" المستخدمة للتحريك هي:
Private Declare Function SendMessage Lib "User32" _
Alias "SendMessageA" (ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Declare Sub ReleaseCapture Lib "User32" ()
Const WM_NCLBUTTONDOWN = &HA1
Const HTCAPTION = 2
ال"API" لا يُمكنني شرحها لأني لا أعرف ولأننا كمبرمجين لا نهتم بكيفة عمل ال "API" وإنما فقط بطريقة استخدامها على الوجه الأمثل.
أمر التحريك هو:
If Button = 1 Then
Call ReleaseCapture
SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&
End If
وهذا الأمر بسيط، حيث نشترط عليه أن لا يعمل إلا إذا كان زر الفأرة الأيسر مضغوطا، فعندما يكون زر الفأرة الأيسر مضغوطا نقوم باستدعاء الإجراء "ReleaseCapture" والذي يقوم بتحديد مكان ال"Form" ثم يحسب تحرك الفأرة ويقوم بحسابات لإنتاج تموضع ال "Form" الجديد ومن ثم نقوم بإرسال قيم التموضع الجديد إلى ال"Form"، وعندما نترك الضغط على زر الفأرة فإن قيم التموضع الجديد تُنفذ وبالتالي يتحرك ال"Form" إلى المكان الجديد.
ولكي يعمل هذا الأمر يجب وضعه في حدث "تحرك مؤشر الفأرة" "MouseMove" لأداة ما، وعلى سبيل المثال أداة "Label" وهي التي أستخدمها أنا لأنه يُمكن جعلها شفافة وبالتالي يعتقد المستخدم أنه يضغط على شريط العنوان الذي هو عبارة عن صورة ليس إلا.
لو كان أي قارئ سيسأل من أي أحضرت كلمة "Button" في السطر "If Button = 1 Then" فلا أظن أنك وصلت إلى المرحلة التي يجب عليك فيه فهم هذه الأوامر بشكل عام، واكتف باستخدامها فقط.
ولاستخدامها قم بالآتي:
- افتح مشروع جديد.
- ضع أداة "Label" في ال "Form".
- غير خاصية "BorderStyle" لل "Form" إلى "0 - None"
- انسخ هذه الأوامر وضعها في مكان كتابة الأوامر.
- شغل البرنامج وقم بالضغط بزر الفأرة الأيسر على ال"Label" ثم اسحب مع استمرارك في الضغط.
هذا كل شيء.
هذا مثال جاهز لتجريبه.
حمل من هنا
الباقي أكمله لاحقا وطبعا إذا كان رأيتم أم الشرح مناسب وطبعا أي أسئلة أنا في الخدمة.
تحياتي
صلاح الدين بن شبيبة
 

المرفقات

  • TitleBar.jpg
    TitleBar.jpg
    13.7 KB · المشاهدات: 83
  • MPMovies.jpg
    MPMovies.jpg
    51.8 KB · المشاهدات: 49
عودة
أعلى