السلام عليكم و رحمة الله و بركاته
هو انت لو تتبعت الكود سطر سطر اثناء التنفيذ ستلاحظ انه لا يعيد قيمة False
لننظر للكود
اولاً
ثم استدعيت التالي
هل تتوقع مثلاً ان النوع Integer ليس رقماً لتضع الشرط السابق ؟؟؟
بعد ذلك
هل Integer = False ???
بعد ذلك تريد من الدالة اعادة نوعين (مرة قيمة رقمية و مرة قيمة منطقية) , لحل مثل هذه الاشكالية لديك العديد من الطرق
اولها كما في الكود السابق , اذ اعدت مصفوفة بنوع و قيمة .
او ان تستعمل اعادة نوع مجهول و عند الاستدعاء تجري عملية التحويل للنوع الذي تريده
بالتطبيق على الكود السابق
و الحلقة تصبح
هذه المقالة تسلط الضوء على التقنية - مفهوم Generics بشكل مبسطمفهوم Generics بشكل مبسط
كما و يوجد طرق اخرى و افكار للوصول الى حل مشابه.
تحياتي.
انصحك باستخدام الاسلوب الحديث في التعامل مع الملفات على السيرفرت و المواقع عبر مكتبة HttpClient
و استخدام اسلوب عدم التزامن لتتلافى مشاكل التجميد لدى الاستدعاء
هو انت لو تتبعت الكود سطر سطر اثناء التنفيذ ستلاحظ انه لا يعيد قيمة False
لننظر للكود
اولاً
PHP كود :
Dim z As Integer=FindItem(ListView2.Items, 0, itm.SubItems(1).Text)
PHP كود :
If IsNumeric(z) Then
بعد ذلك
PHP كود :
If z = False Then
بعد ذلك تريد من الدالة اعادة نوعين (مرة قيمة رقمية و مرة قيمة منطقية) , لحل مثل هذه الاشكالية لديك العديد من الطرق
اولها كما في الكود السابق , اذ اعدت مصفوفة بنوع و قيمة .
او ان تستعمل اعادة نوع مجهول و عند الاستدعاء تجري عملية التحويل للنوع الذي تريده
بالتطبيق على الكود السابق
PHP كود :
Public Shared Function FindItem2(Of T)(ItemList As ListView.ListViewItemCollection, ColumnIndex As Integer, SearchString As String) As T
For Each Item As ListViewItem In ItemList
Dim converter = TypeDescriptor.GetConverter(GetType(T))
If converter.CanConvertFrom(GetType(String)) Then
If Item.SubItems(ColumnIndex).Text = SearchString Then
Dim value As String = Item.Index
Return DirectCast(converter.ConvertFromString(value), T)
End If
Else
Return Nothing
End If
Next
End Function
PHP كود :
If Not String.IsNullOrEmpty(itm.SubItems(1).Text) Then
Dim z As String = FindItem2(Of String)(ListView2.Items, 0, itm.SubItems(1).Text)
If IsNumeric(z) Then
itm.SubItems(5).Text = "No"
' MsgBox(z)
Else
itm.SubItems(3).Text = ""
itm.SubItems(4).Text = ""
itm.SubItems(5).Text = "Yes"
itm.BackColor = Color.DarkSlateBlue
itm.ForeColor = Color.DarkRed
End If
End If
Next
كما و يوجد طرق اخرى و افكار للوصول الى حل مشابه.
تحياتي.
انصحك باستخدام الاسلوب الحديث في التعامل مع الملفات على السيرفرت و المواقع عبر مكتبة HttpClient
و استخدام اسلوب عدم التزامن لتتلافى مشاكل التجميد لدى الاستدعاء
PHP كود :
Private Async Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
....
....
Dim text2 As String
Using text22 As New Http.HttpClient()
text2 = Await text22.GetStringAsync("https://goo.gl/iHJyWe")
End Using
....
....
End Sub
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال


