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

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

يسعد الله اوقاتكم


الكود محتاج مساعده وتعديل عليه جزاكم اله خيرا

عمل الكود هو

اول شي يقراء لي صفحة في النت html

ومن ثم اقوم بالبحث عن  رابط في الصفحة

واذا موجود اللي ابحث عنه يقوم بانزال الملف في جهازي

عملية قراءة الموقع صحيحه وشغاله

وعملية البحث شغاله

باقي طيقة تنزيل الملف



هنا اقوم بقراءة الصفحة
كود :
  Dim EQSLURL As String = "http://www.google.ae/"
       'Panels1.Text = "Sending information request to eQSL Server"
       Dim client As WebClient = New WebClient()
       Application.DoEvents()
       Dim data As System.IO.Stream = client.OpenRead(EQSLURL)
       Application.DoEvents()
       Dim reader As System.IO.StreamReader = New System.IO.StreamReader(data)
       Dim ReturnStr As String = ""
       ReturnStr = reader.ReadToEnd


من ثم اقوم بالبحث
كود :
       If (Regex.IsMatch(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase)) Then
           MessageBox.Show("found")
       Else
           MessageBox.Show("not found")
       End If

اذا حصل downloadedfiles/.+?\.adi

يقوم بانزل الملف في جهازي
www.google.cc/qslcard/downloadedfiles/.+?\.adi


كود :
     Using client = New WebClient()
               client.DownloadFile("www.google.cc/qslcard/downloadedfiles/.+?\.adi", My.Application.Info.DirectoryPath")
           End Using


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

تفضل تعديل الكود
كود :
Dim EQSLURL As String = "http://www.google.ae/"
Using client As New WebClient() With {.Encoding = System.Text.Encoding.UTF8}
Dim ReturnStr As String = client.DownloadString(EQSLURL)
Dim filename As String = Regex.Match(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase).Value
   If filename <> "" Then
       Dim data() As Byte = client.DownloadData(EQSLURL & "/qslcard/" & filename)
       IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
       MessageBox.Show("found: " & filename)
   Else
       MessageBox.Show("not found")
   End If
End Using

في أكوادك وجدت اختلافا في اسم الموقع حيث الأول google.ae والآخر google.cc
(18-01-17, 02:08 PM)مساعدة كتب : [ -> ]السلام عليكم

تفضل تعديل الكود
كود :
Dim EQSLURL As String = "http://www.google.ae/"
Using client As New WebClient() With {.Encoding = System.Text.Encoding.UTF8}
Dim ReturnStr As String = client.DownloadString(EQSLURL)
Dim filename As String = Regex.Match(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase).Value
   If filename <> "" Then
       Dim data() As Byte = client.DownloadData(EQSLURL & "/qslcard/" & filename)
       IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
       MessageBox.Show("found: " & filename)
   Else
       MessageBox.Show("not found")
   End If
End Using

في أكوادك وجدت اختلافا في اسم الموقع حيث الأول google.ae والآخر google.cc

ما شاءالله عليك

بارك الله فيك تم تجربة الكود ويعمل بشكل ممتاز 

في ميزان اعمالك والف شككرا

(18-01-17, 02:08 PM)مساعدة كتب : [ -> ]السلام عليكم

تفضل تعديل الكود
كود :
Dim EQSLURL As String = "http://www.google.ae/"
Using client As New WebClient() With {.Encoding = System.Text.Encoding.UTF8}
Dim ReturnStr As String = client.DownloadString(EQSLURL)
Dim filename As String = Regex.Match(ReturnStr, "downloadedfiles/.+?\.adi", RegexOptions.IgnoreCase).Value
   If filename <> "" Then
       Dim data() As Byte = client.DownloadData(EQSLURL & "/qslcard/" & filename)
       IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
       MessageBox.Show("found: " & filename)
   Else
       MessageBox.Show("not found")
   End If
End Using

في أكوادك وجدت اختلافا في اسم الموقع حيث الأول google.ae والآخر google.cc



بس خطوة اخيره بارك الله فيك

انا حاولت اغير مكان تنزيل الملف بس طلع لي غلط

مثلا اريد تخزين الملف في فولدر

كود :
My.Application.Info.DirectoryPath & "\myfile\


وين اغير بلضبط

وشكرا من جديد
التغيير يكون على هذا السطر
[align=left]
كود :
IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)
[/align]

ليصبح هكذا
[align=left]
كود :
Dim targetFilename as string
targetFilename = My.Application.Info.DirectoryPath & "\myfile\" & IO.Path.GetFileName(filename)
IO.File.WriteAllBytes(targetFilename , data)
[/align]
(18-01-17, 04:14 PM)مساعدة كتب : [ -> ]التغيير يكون على هذا السطر
كود :
IO.File.WriteAllBytes(IO.Path.GetFileName(filename), data)

ليصبح هكذا
كود :
Dim targetFilename as string
targetFilename = My.Application.Info.DirectoryPath & "\myfile\" & IO.Path.GetFileName(filename)
IO.File.WriteAllBytes(targetFilename , data)



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