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

سؤال: كيفية عمل بحث فى Do Until loop

مغلق
بدأه Has2 في 9 مايو 2006 · 18 رد · 1,348 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مرحبا

باختصار :

- لدي form.

- واثنان radiobutton.

-واثنان textbox.

والفكرة هي انه عندما اضغط على rad1 الــloop يقوم بعملية البحث فى Array وفى نفس الوقت عندما اختار الخيار الثاني وهو rad2 فى نفس loop فيقوم بالبحث فى Array

هذا الكود للزر Search فقط . ..

Private Sub btnsearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsearch.Click

        Dim str As String
        Dim sta As String
        Dim index As Integer
        Dim found As Boolean

        found = False
        index = 1
        txtstate.Enabled = False
        txtstate.Clear()

        str = txtabb.Text.ToUpper
        sta = txtstate.Text.ToUpper


        Do Until found = True Or index = 15
            If str = ar(index).abb Then
                found = True
                txtstate.Text = ar(index).stname
                txtstate.Enabled = True
            Else
                index = index + 1
            End If

           
--------------- البحث فى الخيار الثاني rad2 ------------------

            If sta = ar(index).stname Then
                found = True
                txtabb.Text = ar(index).abb
                txtabb.Enabled = True
            Else
                index = index + 1
            End If



        Loop


        'message error
        If found = False Then
            MessageBox.Show("Cannot be found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If

    End Sub
End Class

حاولت استخدام خاصية Exit Do بعدة طرق ولكن لم انجح -_-

تم تعديل هذه المشاركة بواسطة Has2 في 9 مايو 2006 في 17:26

#2

عجيب غريب امر هذا القسم . ..يا اما الموضوع يحتوى على 20 رد او اكثر او عدد الردود . صفر . . .. لماذا ؟؟؟؟؟ :huh:

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

#3

ممكن توضح أكثر وياريت ترفق مثال ,,,

بالتوفيق ,,,

(ومَنْ يَتَّقِ اللهَ يَجْعَلْ لَهُ مَخْرَجاً وَيَرْزُقُهُ مِنْ حَيْثُ لَاْ يَحْتَسِبْ وَمَنْ يَتَوَكَّلْ عَلَى اللهِ فَهُوَ حَسْبُهُ)

فرحناز سجّاد حسين فاضل - مهندسة كمبيوتر

ela-rasool-allah.gif

#4

طبعا سوف اضيف صورة الفورم حتى تكون الفكرة اكثر وضوحا.

show11sn.gif

بالنسبة للكود هو كل ما اريده انه عندما اختار الخيار الاول وهو Abbreviation عندها سوف اكتب فى textbox رمز لأسم دولة مثلا HI وبالتالى عندما اضغط على الزر Search فهو يقوم بعملية البحث فى Array ليجد ما يقابل هذييين الحرفييين " HI" فى العمود الثاني من خلال بحثه فى المصفوفات Array ليجد عندها الجواب وهو " Hawaii" . - هذة بالنسبة عندما اقوم بأختيار Abbreviation اعنى radiobutton.

ولكن

عندما اختار خيار State Name اقصد radiobutton والقصد منه عكس عملية البحث للحرفيين ,,,,, بحث انني اكتب في textbox اسم الدولة حتى احصل على رمزها مثلا اكتب " Hawaii" وبالتالى عندما اضغط على زر Search فيقوم بعملية البحث من خلال Array ليجد فى الجدول ما يقابل كلمة "Hawaii" واذا حصل على الجواب فيظهر فى الــ textbox الثاني الجواب وهو " HI"

على فكرة انا عملت structure و array هذة المسأله منتهيه ولكن كل ما فى الموضوع هو حول looping يعنى كيف لي ان اعمل loop وفى نفس الوقت استطيع ان ابحث عن خياريين فى حال انني اخترت خيار رقم واحد فيقوم بالبحث وتظهر النتيجه ونفس الشى لما اقوم بأختيار الخيار رقم اثنان ايضا يقوم بنفس الدور حتى تظهر النتيجه .

ايضا ان لم تكون المسأله واضحه حاضرين ومستعديين لتوضيحهاا :rolleyes:

#5

up

^_^

#6

حسن وضح الأمر قليلاً ,,

فهمت منك عمل بحث إنك عاوز تعمل بحث بطريقتين ,, بس في المرة الواحدة تستخدم طريقة واحدة بس صح ,, يعني في المرة الواحدة إما تبحث عن طريق الخيار الأول ,, أو الثاني ,, وليس كليهما معاً ,, العملية بسيطة إن شاء الله اعكس العمل ,, ضع جملة الIF خارجاً وضع اثنين من Loop داخلاً يعني إذا اخترت الزر الاول يدخل اللوب الأول إذا أخترت الثاني يدخل الثاني ,,

If rad1.value = true then ' rad1 abbreviation radio button
 Do Until found = True Or index = 15
           If str = ar(index).abb Then
               found = True
               txtstate.Text = ar(index).stname
               txtstate.Enabled = True
           Else
               index = index + 1
           End If
 loop
elseif rad2.value = true then ' rad2 state name radio button
   Do Until found = True Or index = 15
 If sta = ar(index).stname Then
               found = True
               txtabb.Text = ar(index).abb
               txtabb.Enabled = True
           Else
               index = index + 1
           End If
       Loop
end if

(ومَنْ يَتَّقِ اللهَ يَجْعَلْ لَهُ مَخْرَجاً وَيَرْزُقُهُ مِنْ حَيْثُ لَاْ يَحْتَسِبْ وَمَنْ يَتَوَكَّلْ عَلَى اللهِ فَهُوَ حَسْبُهُ)

فرحناز سجّاد حسين فاضل - مهندسة كمبيوتر

ela-rasool-allah.gif

#7

احسنت اخي الكريم بارك الله فيك

رحم الله والديك دنيا وأخره

حقيقة زاح عني ضغط غير مباشر من خلال هذا الكود مما جعلني افقد التركيز ولكن ببركات الأخ العزيز the_bleiver حل العقدة وزاح هم عن اخيه المسلم

بالنسبة فقط للأستفسار لا غير هل لك فكرة او موقع معين يوضح او يبين فكرة survey question عن طريق اختيارنا لأكثر من مره radiobutton ؟

وشكرا

تم تعديل هذه المشاركة بواسطة Has2 في 13 مايو 2006 في 19:32

#8

أخي ماهو survey question ؟؟؟

(ومَنْ يَتَّقِ اللهَ يَجْعَلْ لَهُ مَخْرَجاً وَيَرْزُقُهُ مِنْ حَيْثُ لَاْ يَحْتَسِبْ وَمَنْ يَتَوَكَّلْ عَلَى اللهِ فَهُوَ حَسْبُهُ)

فرحناز سجّاد حسين فاضل - مهندسة كمبيوتر

ela-rasool-allah.gif

#9

الصورة ستشرح القصد مني

radiobutton8hp.gif

عمليا حاولت فى كتابة الكود كل من Reset والكود Display ولكني رأيت ان كتابة الكود مطول لاني اكتب فى كل سؤال خمس احتمالاات والمجموع سيصبح 25 غير اني احاول ان اكثر من الأسئلة لكي اجعلها تصبح 10 اسئلة فالعملية ستكون بالنسبة للكود اطول من سور الصين العظيم :wacko:

هل هناك طريقة ما اسهل او بأجاز بالنسبة للكود ؟

#10

اعتقد ان من بعد وضع Array بنوعية mutlidimentional وبعدها نصنع looping هل ستكون اسهل من ناحية كتابة الكود مقارنة مع الطريقة ان تكتب if statement لكل اداة من radiobutton هذا سيكلف مني وضع اسطر من الكودات لو افترضنا اننا نملك حوالي 100radiobutton؟؟؟؟؟

#11

لقد فهمت ماتريد ,, ومازلت أبحث لك ,, لأن في vb6 هناك إمكانية عمل Control Array والتي بشأنها تخفف الكود ,, إلى ماوصلت ,, ضع محاولتك ,, وسأحاول التعديل عليها إن شاء الله ,,

إذا وفقت طبعاً ,, ودعواتك لأجتاز اختبار اليوم ,, أختك المؤمنة ,,,

(ومَنْ يَتَّقِ اللهَ يَجْعَلْ لَهُ مَخْرَجاً وَيَرْزُقُهُ مِنْ حَيْثُ لَاْ يَحْتَسِبْ وَمَنْ يَتَوَكَّلْ عَلَى اللهِ فَهُوَ حَسْبُهُ)

فرحناز سجّاد حسين فاضل - مهندسة كمبيوتر

ela-rasool-allah.gif

#12

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

- تفضلي الملف مرفق -

Questionnaire_Survey.doc

#13

السلام عليكم ,,

عذرا على التأخر ,, مشاغل ,,,

لقد قلصت لك البداية كالتالي

'النص بالأسفل قمت بالتعديل فيه
	Dim count(9, 4) As Integer
	Dim l As Integer = 1
	Dim radloop As Integer = 1

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

		Dim i As Integer
		Dim j As Integer
		For i = 0 To 9
			For j = 0 To 4
				count(i, j) = 0
			Next
		Next


	End Sub

هناك تساؤل ,, ماذا تستفيد من

	Dim radloop As Integer = 1
  ' وهذا
		For radloop = 1 To radloop

ألا تستطيع إرفاق مشروع به هذا الفورم فقط ,, لأن العمل على المستند متعب ,,

بالتوفيق ,,,

(ومَنْ يَتَّقِ اللهَ يَجْعَلْ لَهُ مَخْرَجاً وَيَرْزُقُهُ مِنْ حَيْثُ لَاْ يَحْتَسِبْ وَمَنْ يَتَوَكَّلْ عَلَى اللهِ فَهُوَ حَسْبُهُ)

فرحناز سجّاد حسين فاضل - مهندسة كمبيوتر

ela-rasool-allah.gif

#14

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

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

السوؤال موجود في الملف المرفق أتمنى الاجابه في اسرع وقت لو سمحت رجاءً رجاءً رجاءً رجاءً

Caldwell_Middle_School.doc

#15
the_bleiver كتب:
السلام عليكم ,,

عذرا على التأخر ,, مشاغل ,,,

لقد قلصت لك البداية كالتالي

'النص بالأسفل قمت بالتعديل فيه
	Dim count(9, 4) As Integer
	Dim l As Integer = 1
	Dim radloop As Integer = 1

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

		Dim i As Integer
		Dim j As Integer
		For i = 0 To 9
			For j = 0 To 4
				count(i, j) = 0
			Next
		Next
	End Sub

هناك تساؤل ,, ماذا تستفيد من

	Dim radloop As Integer = 1
  ' وهذا
		For radloop = 1 To radloop

ألا تستطيع إرفاق مشروع به هذا الفورم فقط ,, لأن العمل على المستند متعب ,,

بالتوفيق ,,,

ربي يوفقك ويعطيش اعلى المراتب ان شاء الله

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

حذفت هذا الكود

	Dim radloop As Integer = 1
  ' وهذا
		For radloop = 1 To radloop

ونريد البديل ؟؟؟؟؟يعنى نريد ان نعمل احصائنه لعدد من الأسئلة فى فورم واحده

يعنى عملة Questionnaire عندي عشرة اسئلة ولكل سؤال منهم له مجموعة خمس radiobutton فالمجموع يصبح 50 radiobuttons فى الفورم الواحده فقط

فيكف نعمل احصائية ؟؟؟

#16

ارفق لي الفورم ,,

لكي أعرف كيف أعمل ,,,

(ومَنْ يَتَّقِ اللهَ يَجْعَلْ لَهُ مَخْرَجاً وَيَرْزُقُهُ مِنْ حَيْثُ لَاْ يَحْتَسِبْ وَمَنْ يَتَوَكَّلْ عَلَى اللهِ فَهُوَ حَسْبُهُ)

فرحناز سجّاد حسين فاضل - مهندسة كمبيوتر

ela-rasool-allah.gif

#17

اهلا اختي

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

الكود مرفق

task22.doc

#18

أخي العمل على المستند متعب ,, إذا تقدر ارفق لي فورم واحد لا المشروع كاملاً ,,

حتى استطيع التعديل عليه ,, وكذلك لأتأكد أني لا أكتب خطأ ...

والأمر عائد إليك ,,,

(ومَنْ يَتَّقِ اللهَ يَجْعَلْ لَهُ مَخْرَجاً وَيَرْزُقُهُ مِنْ حَيْثُ لَاْ يَحْتَسِبْ وَمَنْ يَتَوَكَّلْ عَلَى اللهِ فَهُوَ حَسْبُهُ)

فرحناز سجّاد حسين فاضل - مهندسة كمبيوتر

ela-rasool-allah.gif

#19

تفضلي اختي الكريمة :)

survey.rar

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

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