منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] يرجى التعديل على الكود - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] يرجى التعديل على الكود (/showthread.php?tid=18856)



يرجى التعديل على الكود - dubai.eig - 18-01-17

السلام عليكم ورحمة الل 

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


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

عمل الكود هو

اول شي يقراء لي صفحة في النت 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


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


RE: يرجى التعديل على الكود - مساعدة - 18-01-17

السلام عليكم

تفضل تعديل الكود
كود :
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


RE: يرجى التعديل على الكود - dubai.eig - 18-01-17

(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\


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

وشكرا من جديد


RE: يرجى التعديل على الكود - مساعدة - 18-01-17

التغيير يكون على هذا السطر
[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]



RE: يرجى التعديل على الكود - dubai.eig - 18-01-17

(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)



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