منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : احتاج كود مقارنة
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
رمضــــــــــــــــــــــــان كريــــــــــــــــــــــــــــــــــــم

احتاج كود مقارنة بين السطر الاول في التكست بوكس
وسطر موجود في البرنامج
وكمثال اريد لما اكتب في السطر الاول من التكست بوكس  
كود :
5289EAB6EC
يبحث هل هو موجود في الفوكشن ان كان موجود يحدث امر
وان لم يكن غير موجود يحدث امر اخر مثل خروج او شيء مغاير

كود :
Private Function InitValues() As Object
       SecCode(0) = "5289EAB6EC"
       SecCode(1) = "1289EAB6EC"
       SecCode(2) = "2289EAB6EC"
       SecCode(3) = "3289EAB6EC"
       SecCode(4) = "4289EAB6EC"
       SecCode(5) = "6289EAB6EC"
       SecCode(6) = "7289EAB6EC"
End Function
ارجو اني قد افهمة السؤال واتمنى ان اجد الاجابة عندكم اخواني
كود :
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        If InitValues("5289EAB6EC") Then
            MsgBox("موجود")
        Else
            MsgBox("لا")
        End If
    End Sub

    Private Function InitValues(v As String) As Object
        Dim SecCode() As String = {
            "5289EAB6EC",
            "1289EAB6EC",
            "2289EAB6EC",
            "4289EAB6EC",
            "6289EAB6EC",
            "7289EAB6EC"
        }
        Return SecCode.Contains(v)
    End Function
(02-06-17, 10:52 PM)alma2 كتب : [ -> ]
كود :
   Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
       If InitValues("5289EAB6EC") Then
           MsgBox("موجود")
       Else
           MsgBox("لا")
       End If
   End Sub

   Private Function InitValues(v As String) As Object
       Dim SecCode() As String = {
           "5289EAB6EC",
           "1289EAB6EC",
           "2289EAB6EC",
           "4289EAB6EC",
           "6289EAB6EC",
           "7289EAB6EC"
       }
       Return SecCode.Contains(v)
   End Function


الكود يعطيني كل الارقام موجودة  حتى لو كتبت رقم غير موجود يظهر انه موجود
طالما تتعامل مع Object فأنت هنا تحتاج الي Casting للحصول علي النوع و هو إما عبارة عن مصفوفة او عبارة عن String
مثلا لو الدالة التي تبدأ البيانات ستعود منها بالقيمة Object كما في الكود التالي فأنت هنا تحتاج لعمل Casting من Object الي مصفوفة

PHP كود :
  Private Function GetInitialValues() As Object
        Return 
New String(6) {"5289EAB6EC""1289EAB6EC""2289EAB6EC""3289EAB6EC""4289EAB6EC""6289EAB6EC""7289EAB6EC"}
 
   End Function 

عملية البحث يجب ان تتم هكذا

PHP كود :
Dim valueToSearch As String "5289EAB6EC"

 
       If TryCast(GetInitialValues(), String()).Contains(valueToSearchThen
            MsgBox
("موجود")
 
       Else
            MsgBox
("لا")
 
       End If 

حاول ان تقوم بتغيير قيمة المتغير valueToSearch بأي قيمة أخري تريدها و تري ماذا سيحدث معك

الخلاصة طالما أنك تستخدم object عليك دوما ان تقوم بعمل casting حتي تعود بالنوع الاصلي
(03-06-17, 04:33 AM)silverlight كتب : [ -> ]طالما تتعامل مع Object فأنت هنا تحتاج الي Casting للحصول علي النوع و هو إما عبارة عن مصفوفة او عبارة عن String
مثلا لو الدالة التي تبدأ البيانات ستعود منها بالقيمة Object كما في الكود التالي فأنت هنا تحتاج لعمل Casting من Object الي مصفوفة

PHP كود :
  Private Function GetInitialValues() As Object
        Return 
New String(6) {"5289EAB6EC""1289EAB6EC""2289EAB6EC""3289EAB6EC""4289EAB6EC""6289EAB6EC""7289EAB6EC"}
 
   End Function 

عملية البحث يجب ان تتم هكذا

PHP كود :
Dim valueToSearch As String "5289EAB6EC"

 
       If TryCast(GetInitialValues(), String()).Contains(valueToSearchThen
            MsgBox
("موجود")
 
       Else
            MsgBox
("لا")
 
       End If 

حاول ان تقوم بتغيير قيمة المتغير valueToSearch بأي قيمة أخري تريدها و تري ماذا سيحدث معك

الخلاصة طالما أنك تستخدم object عليك دوما ان تقوم بعمل casting حتي تعود بالنوع الاصلي
اخي الكريم شكرا لك لكن انا في سؤالي خصصة السطر الاول يعني التكست بوكس سيعرض به نص اريد التحقق من الرقم الموجود في السطر الاول ان كان موجود ام لا مثل الي بالصورة
سؤالك هكذا أخذ شكل مختلف قليلا لكن يمكنك استخدام الفكرة التالية

كود :
  Private Function GetInitialValues() As Object
       Return New String(6) {"5289EAB6EC", "1289EAB6EC", "2289EAB6EC", "3289EAB6EC", "4289EAB6EC", "6289EAB6EC", "7289EAB6EC"}
   End Function

    Dim isExist As Boolean = False
       Dim strings As String() = TryCast(GetInitialValues(), String())
       Dim s As String = "???1289EAB6EC HTTP"
       For i = 0 To strings.Length - 1
           Dim valueTosearch As String = strings(i)
           If s.Contains(valueTosearch) Then
               isExist = True
               Exit For

           End If
       Next

       If isExist Then
           MsgBox("موجود")
       Else
           MsgBox("لا")
       End If
كود :
Private SecCode() As String = {
        "5289EAB6EC",
        "1289EAB6EC",
        "2289EAB6EC",
        "4289EAB6EC",
        "6289EAB6EC",
        "7289EAB6EC"
    }

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim v As String = Me.TextBox1.Text.TrimStart.Substring(0, 10)
        If SecCode.Contains(v) Then
            MsgBox("موجود")
        Else
            MsgBox("لا")
        End If
    End Sub
شكرا لكما ايها الاساتذة الكرام تمام
جزاكم الله خيرا