تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[تم الحل] مشكلة فى تحويل هذا الكود الى كلاس
#1
السلام عليكم ورحمة الله وبركاته
بحاول تحويل هذا الكود الى كلاس لكن حين المناداة عليه يظهر اخطاء 


كود :
Dim inputs As HtmlElementCollection
       inputs = WebBrowser1.Document.GetElementsByTagName("a")
       For Each item As HtmlElement In inputs
           If item.GetAttribute("href").Contains("groups")  AndAlso (Not item.GetAttribute("href").Contains("create")) Then


               CheckedListBox1.Items.Add(item.GetAttribute("href").ToString())
               CheckedListBox2.Items.Add(item.InnerText.ToString)
               Dim checked As Boolean = True
             
               Button1.Enabled = False
           End If
       Next item

حاولت بهذا
كود :
Imports System.Text.RegularExpressions
Public Class Class1
   Public Shared Sub post(wb As WebBrowser, List As CheckedListBox)
       Dim inputs As HtmlElementCollection
       inputs = wb.Document.GetElementsByTagName("a")
       For Each item As HtmlElement In inputs
           If item.GetAttribute("href").Contains("groups")  AndAlso (Not item.GetAttribute("href").Contains("create")) Then


               List.Items.Add(item.GetAttribute("href").ToString())
               List.Items.Add(item.InnerText.ToString)

           End If
       Next item


   End Sub
End Class

وناديت عليه بهذا لكن يظهر خطأ

Git_groups_facebook.Class1.post(WebBrowser1, CheckedListBox1)
الرد }}}
تم الشكر بواسطة:
#2
عملت هذا بكود الاخ بدرى لكنه لا يجلب النصوص يجلب فقط الروابط وانا اريده يجلب النصوص

PHP كود :
Public Shared Function post(wb As WebBrowser) As Array
 
       Dim lst As New List(Of String)
 
       Dim inputs As HtmlElementCollection
        inputs 
wb.Document.GetElementsByTagName("a")
 
       For Each item As HtmlElement In inputs
            If item
.GetAttribute("href").Contains("groups")Then
                lst
.Add(item.GetAttribute("href").ToString())
 
           End If
 
       Next

        Return lst
.ToArray
    End 
Function 

اريده يجلب هذه معه يعنى يكون هكذا داخل الكود

كود :
If item.GetAttribute("href").Contains("groups")Then
             
 lst.Add(item.GetAttribute("href").ToString())
    CheckedListBox1.Items.Add(item.InnerText.ToString)    
   End If
الرد }}}
تم الشكر بواسطة:
#3
مرحبا بالكاتب والمؤلف سامي ابوسريع
كنت اتمنى ان يضع المنتدى تحت اسم عضويتك يكتبو (الكاتب والمؤلف سامي ابوسريع) بدلا من (عضو نشيط)

 ابو روضة
الكاتب والمؤلف
سامي ابوسريع
         

اذا المطلوب اكثر من معلومه للسطر الواحد الافضل تستخدم DataTable مثل

Public Shared Function post(wb As WebBrowser) As DataTable
    Dim d As New DataTable
    d.Columns.Add("النص")
    d.Columns.Add("الرابط")
    Dim inputs As HtmlElementCollection
    inputs = wb.Document.GetElementsByTagName("a")
    For Each item As HtmlElement In inputs
        If item.GetAttribute("href").Contains("groups") Then
            d.Rows.Add(item.InnerText.ToString, item.GetAttribute("href").ToString())
        End If
    Next
    Return d
End Function



وفي المشروع

Dim dt = Git_groups_facebook.Class1.post(WebBrowser1)
CheckedListBox1.DataSource = dt
CheckedListBox1.DisplayMember = "النص"
CheckedListBox1.ValueMember = "الرابط"


وقراءه الرابط تجدها في 
Dim a = CheckedListBox1.SelectedValue.ToString
الرد }}}
تم الشكر بواسطة: ابو روضة , elgokr
#4
(10-04-19, 10:39 PM)بدري كتب : مرحبا بالكاتب والمؤلف سامي ابوسريع
كنت اتمنى ان يضع المنتدى تحت اسم عضويتك يكتبو (الكاتب والمؤلف سامي ابوسريع) بدلا من (عضو نشيط)

 ابو روضة
الكاتب والمؤلف
سامي ابوسريع


اذا المطلوب اكثر من معلومه للسطر الواحد الافضل تستخدم DataTable مثل

Public Shared Function post(wb As WebBrowser) As DataTable
    Dim d As New DataTable
    d.Columns.Add("النص")
    d.Columns.Add("الرابط")
    Dim inputs As HtmlElementCollection
    inputs = wb.Document.GetElementsByTagName("a")
    For Each item As HtmlElement In inputs
        If item.GetAttribute("href").Contains("groups") Then
            d.Rows.Add(item.InnerText.ToString, item.GetAttribute("href").ToString())
        End If
    Next
    Return d
End Function



وفي المشروع

Dim dt = ClassLibrary1.Class1.post(WebBrowser1)
CheckedListBox1.DataSource = dt
CheckedListBox1.DisplayMember = "النص"
CheckedListBox1.ValueMember = "الرابط"


وقراءه الرابط تجدها في 
Dim a = CheckedListBox1.SelectedValue.ToString


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

كثيرا من الكلمات أود قولها وخصوصا أنك فى كل مرة تقذفنى قذفاً بسيل من الحلول الجميلة لمشاكل كانت ترهقنى كثيراً وخصوصاً عندما تكون  الكلمات موجهه لك ومن لهم مكانه كبيره في قلوبنا...
الرد }}}
تم الشكر بواسطة: بدري , elgokr



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم