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

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

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

من فات قديمه تاه ... :lol:

وعموما وطالما الموضوع كده فخد عندك (على فكرة كتبت الكود ده قبل ما أنظر لأكوادكم)

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

  Private Function CountOccurrences(ByVal StrToSearch As String, ByVal StrToFind As String, ByVal CaseSensitive As Boolean) As Integer
        Dim RetValue As Integer
        If Not CaseSensitive Then
            StrToSearch = StrToSearch.ToLower
            StrToFind = StrToFind.ToLower
        End If
        For I As Integer = 0 To StrToSearch.Length - 1
            If StrToSearch.Substring(I, StrToFind.Length) = StrToFind Then RetValue += 1
        Next
        Return RetValue
    End Function

والله الموفق.

#77

الف شكر اخي HMS ، لم انتبه للمشارك والعتب على النظر :)

بس فكره جميله جداً ، ما شاء الله تبارك الله .

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

" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

003.gif

قواعد طرح الأسئله والمشاركات

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

MSN Messenger : nontop@gmail.com

Happy coding

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

#78
اقتباس
ويا جماعة ومقدماً ومن غير ما تتعبوا أنفسكم هو ده الكود الفائز

هممممممم.. المفروض اني لا انظر للحلول الان .. لكن هذه الثقة (يا جااااااامد ;)) جعلتني اقرأ الكود ..

كل ما استطيع قوله ان هناك تغيير بسيط يمكنه ان يزيد من سرعة كودك..

اقتباس
كنت اريد اطبق الاستدعاء الذاتي للداله

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

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#79

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

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

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

#80
اقتباس
ويا جماعة ومقدماً ومن غير ما تتعبوا أنفسكم هو ده الكود الفائز

لا أظن كودك يشتغل من أصله :lol:

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

سؤال الإسبوع القادم سيكون من نصيبك يا محمد، لا ترجعنا خائبين بالله عليك.

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

#81
اقتباس
كل ما استطيع قوله ان هناك تغيير بسيط يمكنه ان يزيد من سرعة كودك..

اممممم :rolleyes:

ربما ...

    Private Function CountOccurrences(ByVal StrToSearch As String, ByVal StrToFind As String, ByVal CaseSensitive As Boolean) As Integer
        Dim RetValue As Integer
        Dim Slen As Integer = StrToSearch.Length
        Dim Flen As Integer = StrToFind.Length
        If Not CaseSensitive Then
            StrToSearch = StrToSearch.ToLower
            StrToFind = StrToFind.ToLower
        End If
        For I As Integer = 0 To (Slen - Flen)
            If StrToSearch.Substring(I, Flen) = StrToFind Then RetValue += 1
        Next
        Return RetValue
    End Function
#82

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

قم بتجربة الحلين الأولين الذي قدمتهما....

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

#83

تم حذف المشاركة مؤقتاً..

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

منعاً للتداخل بس مش اكتر..;)

تم تعديل هذه المشاركة بواسطة undo في 15 فبراير 2005 في 18:17

#84
اقتباس
لا أظن كودك يشتغل من أصله
اقتباس
هل أنت متأكد بأن الفيجوال ستديو عندك؟؟؟

هارون .. أخويا .. مالك سلامتك .. انت تعبان من حاجة ؟

أنا فعلاً مصمم الأكواد دي في دقائق لكن مش معنى كده إني كنت في غيبوبة

بالمناسبة الجملة دي "ويا جماعة ومقدماً ومن غير ما تتعبوا أنفسكم هو ده الكود الفائز" كانت من باب المزاح فقط وأرجو ألا تكون قد بدت غير ذلك

تم تعديل هذه المشاركة بواسطة محمد النحراوي في 15 فبراير 2005 في 16:24

#85

محمد النحراوي:

فكرتك كويسة و تسرّع اكثر لكن في الحقيقة ليست هي فكرتي ..

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

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#86

أعتذر لمن أخطأت في حقه

واعتبروني منسحب

وفقكم الله

#87

محمد النحراوي استسلام أم هزيمة ؟؟

بعدين ادخول مش مثل الخروج ؟؟ B)

" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

003.gif

قواعد طرح الأسئله والمشاركات

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

MSN Messenger : nontop@gmail.com

Happy coding

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

#88

أخي الحبيب محمد النحراوي،

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

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

#89
اقتباس
كل ما استطيع قوله ان هناك تغيير بسيط يمكنه ان يزيد من سرعة كودك

أظنك يا Undo تقصد أن يعمل Step في ال For...Next بمقدار طول النص الذي نريد أن نعمل بحث عنه؟ أليس كذلك؟

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

#90

شكرا أخ Undo

لكن الا تتفق معي ان أسبوع جد طويل كمدة لحل السؤال خاصة و أن الأعضاء الفعالين لا يتجاوز عددهم 4 او 5 أعضاء و شكرا

#91

السلام عليكم

:)

مرحباً أخي هارون .. مرحباً أخي undo .. مرحباً بجميع الإخوة ..

اقتباس
أظنك يا Undo تقصد أن يعمل Step في ال For...Next بمقدار طول النص الذي نريد أن نعمل بحث عنه؟ أليس كذلك؟

هذا فكرت فيه بالفعل عند كتابتي للكود ولكنه لا يصلح مع هذا الأسلوب ..

إذا أردت مني أن أوضح .. فعلت .

#92

السلام عليكم

اليكم النتائج النهائية:

اولاً: لم ينجح أحد في عمل دالة خالية من الأخطاء و قمت باختبار الدالة بnothing و فشلت جميع الدوال :( :(

ثانياً: crazy man فهم المسألة غلط حيث قام بعد الكلمات و لم يتعامل معها كمتغيرات نصية وبالتالي فشل في العثور على مجموعة حروف داخل كلمة.. على كل حال كودك الاسرع لكن لا يؤدي المطلوب

ثالثاً: فشل كود non top ايضاً بسبب خطأ في الاستدعاء recursive رغم ان سرعته ابطأ قليلاً من الكود الفائز

يبقى لا يتبقى سوى اكواد نحراوي و هارون التي تؤدي المطلوب (تقريباً) ::

و كود نحراوي اسرع ب10 مرات..

يعني دالة IndexOf بطيييييييييييئة جداً يا هارون..

اقتباس
الـ VB هى الأساس ... بتبرمج بيها بالاحساس

ولا سيمي كولن ولا أقواس ... وتعلمها سهل لكل الناس

راكب فيها موتور نفاث ... دي سريعه جدا وباخلاص

الـ VB هى التراث ... للذكور والايناث :D

الـ VB لغة عريقه ... حتى اسأل Anwarica

من ديوان الشاعر السي شاربي "معتز شمس"
#93
HMS كتب:
سؤال الإسبوع القادم سيكون من نصيبك يا محمد، لا ترجعنا خائبين بالله عليك.

حسناً يا هارون (زنقتني في خانة اليك ;) الواحد بعد كده هايحرم يقول آراءه في المنتدى ده:D )......،

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

السؤال:

كثيراً ما نحتاج في تطبيقتنا الى استخدام عنصراً واحداً من الـ Controls ليؤدي العديد من الأغراض لكن كل غرض على حدا عند الحاجة، مثال:

في برامج الصوت و الفيديو قد تجد Button واحد يقوم بعملية التشغيل Play و عملية الإيقاف Stop في آن واحد ، أي ان الوضع الطبيعي له يكون Play و ان ضغطت على هذا الـ Button يقوم بتشغيل الملف الصوتي مع تغيير خاصية الـ Text لهذا الـ Button لـيكون Stop مثلاً، و عندما تضغط مرة أخرى يقوم بإيقاف الصوت مع استرجاع خاصية الـ Text الأولى لتكون Play ، و هكذا دواليك....

السؤال: كيف يتم ذلك؟؟

مثال آخر.....، Button واحد يقوم بفتح Form و اغلاقها في نفس الوقت...

طبعاً لن تحتاج الى كتابة تطبيق يشغل ملفات الصوت...، فقط يمكنك تطبيق الحل على Button فقط لأن المفهوم واحد بالضبط، و تكون خاصية الـ Text له هي Play و عندما نضغط عليه، تتحول خاصية الـ Text الى Stop و عندما نضغط عليه مرة أخرى ترجع الى قيمتها الأولى Play..و هكذا..

الموضوع سهل جداً، و له أكثر من طريقة، و الطريقة الأفضل (و ليس الأسرع لصاحبها ;)) سيكون صاحبها هو الفائز...

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

#94

سلام عليكم

الف مبروك للاخ محمد ، اما بالنسبة لسؤال الاسبوع هذا اعتقد اني لم افهمه ولكن هذا حل لما فهمته :rolleyes:

 ' الحل الاول
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Button1.Text = "play" Then
            ' Code
            Button1.Text = "Stop"
        Else
            ' Code
            Button1.Text = "play"
        End If
    End Sub
    'الحل الثاني
    Public x As Int16 = 1
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If x Then
            Button2.Text = "stop"
            x -= 1
        Else
            Button2.Text = "play"
            x += 1
        End If
    End Sub

" اللهم لاسهل إلا ماجعلته سهلاً وأنت تجعل الحزن إذا شئت سهلاً "

003.gif

قواعد طرح الأسئله والمشاركات

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

MSN Messenger : nontop@gmail.com

Happy coding

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

#95

السلام عليكم

أخي العزيز عبد العليم لو كنت قد فهمت سؤالك بالشكل الصحيح فالحل هو :

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Button1.Text = "Play" Then
            'Evenements
            Button1.Text = "Pause"
        Else
            'Evenements
            Button1.Text = "Play"
        End If


    End Sub

و شكرا

#96

السلام عليكم

الحمد لله أولاً وآخراً

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

اقتباس
اولاً: لم ينجح أحد في عمل دالة خالية من الأخطاء و قمت باختبار الدالة بnothing و فشلت جميع الدوال

طالما الموضوع كده .. إذاً ستستلم مني أكواد كما يستلمها العميل :) (تسليم على المفتاح)

والله المستعان

الأخ الكريم محمد عبد العليم .. ألا تظن معي أن السؤال يحتاج لشيء من التصعيب ؟

أظن السؤال في متناول أيدي الكثيرين ، ولا إنت ليك حد في اللجنة وعاوز تنجحه ;)

تم تعديل هذه المشاركة بواسطة محمد النحراوي في 20 فبراير 2005 في 02:28

#97

[بسم الله الرحمن الرحيم

أنا عندما كتبت حلي الاول لم أرى حل الأخ Non-Top مع العلم أن حاي صحيح الا أني رأيت أن الأخ Non-Top قد حلا آخر باستعمال متغير فقمت بعمل واحد أيضا لكن بطريقة أخرى و هي كالتالي :

Dim I as Integer = 0
 Private Sub Button1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseUp
        I += 1
        If I Mod 2 = 0 Then
            'Code
            Button1.Text = "Play"
        Else
            'Code
            Button1.Text = "Stop"
        End If
    End Sub

و شكرا

على فكرة بالنسبة للأخ Undo أنا لم أفهم السؤال غلط لكني بنيت الكود انطلاقا من شرحك و مثالك الذي قدمت

اقتباس
اذا كان StringToSearch = "Ahmed Mohammed Ahmed" و StringToCount = "Ahmed" فيكون ناتج استدعاء الدالة هو 2

و لا تنسى أخي السؤال الذي كنت قد طرحت و قمت بحذفه (مؤقتا) لأنه فعلا مهم

و شكرا

#98

السلام عليكم

عموماً وطالما قدم الإخوة حلولهم فلا مانع من أن أدلي بدلوي

    Private Sub BtnPlayPause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnPlayPause.Click
        Select Case BtnPlayPause.Tag
            Case "1"
                BtnPlayPause.Text = GetPhrase("Play")
                BtnPlayPause.Tag = "0"
                PauseSound() 'دالة لإيقاف الصوت
            Case "0"
                BtnPlayPause.Text = GetPhrase("Pause")
                BtnPlayPause.Tag = "1"
                PlaySound() 'دالة لتشغيل الصوت
        End Select
    End Sub

قد تتسائل لماذا استخدمت ال Tag لتخزين القيمة الإختبارية :rolleyes:

هذا لأنني في برامجي لا ألجأ مطلقاً لاستخدام النصوص (أقصد خاصية الText) كثوابت أتعامل معها ، فأنا أحترم جداً تعدد اللغات ، وبالفعل أقوم بتصميم برامجي لتدعم من اليوم الأول لولادتها عدد لا نهائي من اللغات ، لذا ستجد دالة (لم أقم بسردها) وهي GetPhrase كي تقوم بعملية جلب النص المقابل لاسم النص وهو إما Pause أو Play أو أي شيء آخر

والله الموفق وعليه التكلان.

تم تعديل هذه المشاركة بواسطة محمد النحراوي في 20 فبراير 2005 في 04:00

#99

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

يا بشر، سؤال محمد من شقين، وقد أجبتم على الشق الأول وأهملتهم الشق الثاني، إلتزموا بالسؤال كاملاً:

اقتباس
مثال آخر.....، Button واحد يقوم بفتح Form و اغلاقها في نفس الوقت

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

#100

لا أظن ذلك لأن الأمر واحد في المثالين ، فتشغيل ملف صوتي مثل فتح فورم السؤال هنا عن تغيير خاصية متعلقة بال Button ، على الأقل هذا ما فهمته

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

فنرجو التوضيح وشكراً

تم تعديل هذه المشاركة بواسطة محمد النحراوي في 20 فبراير 2005 في 05:38

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…