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

السؤال الأسبوعي

مغلقرائج
بدأه HMS في 17 يناير 2005 · 265 رد · 18,628 مشاهدة · في قسم تكنولوجيا Microsoft .NET العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سنقوم في هذا القسم بطرح سؤال إسبوعي يتعلق بالفيجوال بيسك نيت ونترك للأخوة محاولة حله وكتابة الحل هنا، وسنقوم معاً بدارسة الحلول المقترحة (إن كان هناك أكثر من حل صحيح) والتصويت معاً على أفضل الحلول. والغاية من هذا الأمر هو تحفيز الأعضاء على دراسة نقطة ما يتمحور السؤال حولها عملاً بالقاعدة التي أؤمن بها وهي "أفضل الطرق لدراسة لغة برمجة هي الإجابة على مشكلة أو سؤال".

يشرفني أن أطرح سؤال الإسبوع الاول وهو حول ال GDI+ ، والقضية مكونة من شقين وقد أرفقت الملفين التنفيذيين للبرنامجين حتى تفهموا تماماً ماذا أقصد :

1) أريد أن أمكن المستخدم من إستخدام الفأرة Mouse بحيث يستطيع رسم شكل حر (سواء القيام برسم شكل أو كتابة كلمة)، فكما نعلم فإنه من السهل رسم مثلث أو مربع أو دائرة...الخ، ولكن كيف أستطيع أن أجعل المستخدم قادراً على رسم شكل حر أو كتابة كلمة مستخدماً الماوس فقط، مع إعطاء المستخدم الحرية بإختيار حجم القلم المستخدم ولونه، وكذلك المطلوب هو أن المستخدم عندما يبدأ بالكتابة (أي بعد أن يضغط بزر الماوس الأيسر وجره) أن تتغير ال cursor الى شكل قلم (الملف التنفيذي مرفق بإسم freehand وال cursor موجودة وهي عبارة عن صورة قلم صغير).

2) الشق الثاني، أريد أن أمكن المستخدم من رسم مستطيل حر، اي أنه بمجرد أن يضغط على الماوس ويقوم بجره على الفورم يظهر له مستطيل لونه أبيض وبمجرد أن يترك الماوس يظهر المستطيل النهائي على الفورم وليكن لونه أحمر، مع إعطاء المستخدم الحرية بتغيير حجم المستطيل وإتجاهه ما دام ضاغطاً على زر الماوس، وهذا الأمر يشبه تماماً ما نقوم به عندما نعمل selection على سطح المكتب في الويندوز (الملف التنفيذي مرفق بإسم selection).

GDI.zip

تم تعديل هذه المشاركة بواسطة HMS في 17 يناير 2005 في 14:01

Learn Japanese :>>> http://www.nouben.com/

#3

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

(المثال الذي وضعه الزميل حسن هو ال Solution الكامل) لمن أراد الإطلاع على الكود

تم تعديل هذه المشاركة بواسطة HMS في 19 يناير 2005 في 03:49

Learn Japanese :>>> http://www.nouben.com/

#4

بعد أن إطلعت على الكود الذي كتبته يا حسن لاحظت ما يلي:

الكود الذي كتبته أبسط من الكود الذي كتبته أنا وبالتالي أفضل، ولكن يوجد ملاحظة صغيرة عليه وهي أنك عندما تكتب أو ترسم خطاً فإنه يوجد تقطّع فيه (سيتضح لك الأمر عندما تكبر حجم الخط)...

وبإنتظار حل المسألة الثانية قبل نهاية الإسبوع يا أعضاء المنتدى

هاهي ال Solution الذي كتبتها أنا.

freehand.zip

تم تعديل هذه المشاركة بواسطة HMS في 19 يناير 2005 في 11:15

Learn Japanese :>>> http://www.nouben.com/

#5

مهلا أخي هارون لننهي الأولى قبل البدأ بالثانيه

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

#6

أمر طبيعي (وهي تحدث أيضاً إن قمت بتغطية الفورم بفورم آخر وليس فقط عندما تعمل تصغير)، أظنك تفتقد خاصية AutoRedraw في الفيجوال بيسك 6 ؟

في ال NET يجب أن تضع الرسم في حدث Paint للفورم إن أردت إعادة رسمها بعد التصغير.

تم تعديل هذه المشاركة بواسطة HMS في 19 يناير 2005 في 12:32

Learn Japanese :>>> http://www.nouben.com/

#7

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

redraw.zip

Learn Japanese :>>> http://www.nouben.com/

#8
اقتباس
انا ظننت بأن سؤالي بايخ ولن يحاول أحد بأن يجبر بخاطري ويحاول حله..
أعتقد أنها من أروع الأفكار التي قدمت في المتندى ....

الجواب مضمن الجواب 1 و 2

Selection.rar

فدائي فدائي فدائي يا أرض الجدود

فدائي فدائي فدائي يا شعبي يا شعب الخلود

بعزمي و ناري و بركان ثاري و أشواق دمي لأرضي و داري

صعدت الجبال و خضت النضال قهرت المحال حطمت القيود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

بعصف الرياح و نار السلاح و إصرار شعبي لخوض الكفاح

فلسطين داري فلسطين ناري فلسطين ثاري و أرض الصمود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

#9

رائع يا هشام، رائـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــع.

الله يعطيك العافية.

وهكذا نكون قد إنتهينا من سؤال هذا الإسبوع، سنترك الحلول لمدة أيام حتى يطلع عليها الأخوة قبل وضع سؤال الإسبوع الثاني.

Learn Japanese :>>> http://www.nouben.com/

#10

السلام عليكم

صديقي هارون

أرحوا ان لا يكون العمل هنا مجرد كود فقط

نريد أن نقوم بالشرح و معرفة أسباب تفضيل كود عن أخر

و شرح الإسلوب و طريقة التفكير

#11

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

Learn Japanese :>>> http://www.nouben.com/

#12

يا عم هارون إن شاء الله نستمر

و ضع هذه الأسأله في الأرشيف الخالي

و الأعضاء إحتمال ياخدوا بالهم معانا

#13

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

هذا بالطبع إن كنا إنتهينا من الأسبوع الأول (أعتقد ذلك).

تم تعديل هذه المشاركة بواسطة HMS في 21 يناير 2005 في 02:16

Learn Japanese :>>> http://www.nouben.com/

#14

طيب، سأطرح سؤال الأسبوع الثاني وسأجعله بايخ حتى يتفاعل معنا شبيبة المنتدى. :angry:

كيف أستطيع أن أجعل OpenFileDialog يتعرف على فايل واحد بعينه ، نحن نستطيع أن نجعله يتعرف عن نوع معين فقط من الفايلات، فمثلاً لو أردنا له أن يظهر فقط فايلات ال Text أي الفايلات التي إمتدادها txt فإننا نكتب الكود التالي:

OpenFileDialog1.Filter = "Text Files (*.txt)|*.txt"

ولكنني أريد أن أجعله يتعرف على فايل بعينه، في المثال المرفق لا يستطيع ذلك الكنترول التعرف على أي فايل سوى فايل Text أسميته Haroon، لن يفتح أي فايل Text آخر....

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

أتمنى على أحد الزملاء المشرفين بتغيير عنوان هذه المشاركة الى:

سؤال الأسبوع الثاني

كيف أجعل OpenFileDialog يفتح فايل واحد لا غير

Second_Week.zip

تم تعديل هذه المشاركة بواسطة HMS في 22 يناير 2005 في 19:51

Learn Japanese :>>> http://www.nouben.com/

#15

السلام عليكم

أخي البرنامج الذي بعته غير محمي بالكامل ضد كل الملفات حيث إذا كتبت في مكان اسم الملف *.* ستظهر كل الملفات وستستطيع فتحها كلها

أرجو من الإخوة الأعضاء المشاركة في دعم "سؤال الأسبوع"

فدائي فدائي فدائي يا أرض الجدود

فدائي فدائي فدائي يا شعبي يا شعب الخلود

بعزمي و ناري و بركان ثاري و أشواق دمي لأرضي و داري

صعدت الجبال و خضت النضال قهرت المحال حطمت القيود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

بعصف الرياح و نار السلاح و إصرار شعبي لخوض الكفاح

فلسطين داري فلسطين ناري فلسطين ثاري و أرض الصمود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

#16

السلام عليكم

أخي هارون الكود مرفق و لكن كلام الأخ Hesham.Net سليم

المفروض نجد حل لتلك المشكله

secWeek.rar

#17

كلامكما صحيح، وكذلك لو كان عندك ملف Text وقمت بنسخه أسمه مع إسم مساره

فإنك تستطيع فتحه.

اقتباس
المفروض نجد حل لتلك المشكله

لا اعتقد بأنه يوجد حل سوى أن تعمل dialog بنفسك، اي أن تبنيه من الصفر، ولاحظوا بأن فتح ملف واحد ب OpenFileDialog هو مبدأ مضحك، فنحن نستطيع أن نفتح الملف في هذه الحالة مباشرة دون الإستعانة بهذا الكنترول :rolleyes: .

تم تعديل هذه المشاركة بواسطة HMS في 24 يناير 2005 في 14:50

Learn Japanese :>>> http://www.nouben.com/

#19

لماذا لا نستعمل الطريقة

    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
        If OpenFileDialog1.FileName.EndsWith("Haroon.txt") Then
        End If
    End Sub

وهكذا لايفتح إلا هذا الملف

فدائي فدائي فدائي يا أرض الجدود

فدائي فدائي فدائي يا شعبي يا شعب الخلود

بعزمي و ناري و بركان ثاري و أشواق دمي لأرضي و داري

صعدت الجبال و خضت النضال قهرت المحال حطمت القيود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

بعصف الرياح و نار السلاح و إصرار شعبي لخوض الكفاح

فلسطين داري فلسطين ناري فلسطين ثاري و أرض الصمود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

#20

أما السؤال 2

أعتقد أن برامج الsetup هي التي تحتاج لمثل هذه الأمور اي عندما يكون ملف مفقود تبحث عن الملف بعينه

Second_week.rar

فدائي فدائي فدائي يا أرض الجدود

فدائي فدائي فدائي يا شعبي يا شعب الخلود

بعزمي و ناري و بركان ثاري و أشواق دمي لأرضي و داري

صعدت الجبال و خضت النضال قهرت المحال حطمت القيود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

بعصف الرياح و نار السلاح و إصرار شعبي لخوض الكفاح

فلسطين داري فلسطين ناري فلسطين ثاري و أرض الصمود

فدائي فدائي فدائي يا أرضي يا أرض الجدود

#21

حسناً يا هارون، لقد قمت بتغيير العنوان مع تعديل بسيط به لأن السؤال لا يظهر كله :(

رأس الحكمة الإيمان بالله

#22
اقتباس
  If OpenFileDialog1.FileName.EndsWith("Haroon.txt") Then

كلامك صحيح، ولكن ليس هذا قصدي عندما قلت بأنه يجب أن تبني Dialog منذ البداية، قصدي كيف أمنع المستخدم من رؤية أي فايل غير الفايل الذي أريده في OpenFileDialog (أي أنه لا يستطيع رؤية أي فايل غير الفايل المحدد حتى ولو كتب *.*)... في هذه الحالة يوجد إحتمالين، ان تبني Class تقوم بوراثة الفئة FileDialog ثم تجري التعديلات المطلوبة، أو تبني Dialog على شكل فورم، وفي كلا الحالتين تحتاج الى جهد ووقت ضخمين.

بالنسبة للجزء الثاني من السؤال، أنا لا أعلم سوى إستخدام وحيد وهو عندما تعمل كراك لأحد البرامج.

اقتباس
حسناً يا هارون، لقد قمت بتغيير العنوان مع تعديل بسيط به لأن السؤال لا يظهر كله
...

أشكرك أيها الحبيب

Learn Japanese :>>> http://www.nouben.com/

#23
اقتباس
ان تبني Class تقوم بوراثة الفئة FileDialog

للأسف لا يمكننا ذلك لأن FileDialog - حسب ملفات الـ MSDN - لا نستتطيع وراثته NonInheritable Class :

Quote from MSDN:
FileDialog is an abstract class, and cannot be instantiated directly. Additionally, you cannot inherit from this class.

سوف تضطر الى أن تبني الكلاس من الاف الى الياء :wacko:

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

و كانت هذه الفكرة هي ان أنواع الملفات المراد فتحها بالـ OpenFileDialog تكون ملونة بلون أحمر أو أي لون يشد الانتباه، و لكني لم أكمل الموضوع لأنه سيأخذ وقتاً كثيراً B)

رأس الحكمة الإيمان بالله

#24

أشكرك يا محمد على هذه المعلومة التي كنت أجهلها.

والآن هل يستطيع أحد الأخوة أن يضع سؤال الأسبوع الثالث؟؟؟ نريد سؤالاً يجعلنا مشغولين لمدة يومين، فهل من مستجيب؟ بالطبع يجب أن يكون السؤال خفيف لطيف لا يتطلب جهداً كبيراً (أقصد جهد كتابة أكواد طويلة مملة، بل كود قصير يشغل الدماغ).

Learn Japanese :>>> http://www.nouben.com/

#25

السلام عليكم ورحمة الله وبركاته

دة مثال عبارة عن لعبة كان احد الاخوة حطها فى منتدى

نجرب كدة

HaHa.rar

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

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

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