تقييم الموضوع :
  • 1 أصوات - بمعدل 4
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] ايقاف مؤقت للتحميل واستناف من حيث توقف
#1
السلام عليكم
سامحوني متغيب منشغل جدا هذه الايام

استخدم المكتبة WebClient في تحميل ملف من الويب

PHP كود :
Dim httpclient As New WebClient
 httpclient
.DownloadFileAsync(New Uri("http://tvquranserver.com/download/tilawa_03/TvQuran.com__107.mp3"), _
                                     
("C:\download\TvQuran.com__107.mp3")) 

صفحة المكتبة علي ميكروسوفت

اريد اعرف كيف اعمل ايقاف مؤقت لتحميل الملف ثم الاستناف من حيث توقف التحميل

وجزاكم الله تعالي خيرا
الرد }}}}
تم الشكر بواسطة:
#2
Rainbow 
بالنسبة الي مكتبة WebClient يمكنك تتبع الحلول بالرابط التالي How to make a System.Net.WebClient with pause, and resume?

RolleyesRolleyesRolleyes
{‏‏ يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنكُمْ وَالَّذِينَ أُوتُوا الْعِلْمَ دَرَجَاتٍ‏ }

 " Mohamed M. Bedair     -     " Abu Anas
Genius Live , Egypt
الرد }}}}
تم الشكر بواسطة:
#3
Rainbow 
وللفائدة هذه هي الاكواد التي استخدمها بعيدا عن WebClient

قم بإستدعاء المكتبات التالية
PHP كود :
Imports System.Collections.Generic
Imports System
.Data
Imports System
.Drawing
Imports System
.Text
Imports System
.Windows.Forms
Imports System
.Net
Imports System
.IO
Imports System
.Threading 
في قسم التصاريح قم بتعريف المتغيرات التالية
PHP كود :
Private thrDownload As Thread
        
Private strResponse As Stream
        
Private strLocal As Stream
        
Private webRequest As HttpWebRequest
        
Private webResponse As HttpWebResponse
        
Private Shared PercentProgress As Integer
        
Private Delegate Sub UpdateProgessCallback(BytesRead As Int64TotalBytes As Int64)
        Private 
goPause As Boolean False 
كود زر التحمييل
PHP كود :
Private Sub btnDownload_Click(sender As ObjectAs EventArgs)
            If 
thrDownload IsNot Nothing AndAlso thrDownload.ThreadState ThreadState.Running Then
MessageBox
.Show _ 
("A download is already running"_
 
"Download in progress"MessageBoxButtons.OKMessageBoxIcon.[Error])
            Else
                
lblProgress.Text "Download Starting"
                
thrDownload = New Thread(New ParameterizedThreadStart(AddressOf Download))
                
thrDownload.Start(0)
                
btnPauseResume.Enabled True
                btnPauseResume
.Text "Pause"
            
End If
        
End Sub 
إجراءات التحديث والتحميل
PHP كود :
Private Sub UpdateProgress(BytesRead As Int64TotalBytes As Int64)
            
PercentProgress Convert.ToInt32((BytesRead 100) / TotalBytes)
            
prgDownload.Value PercentProgress
            lblProgress
.Text "Downloaded " BytesRead " out of " TotalBytes " (" PercentProgress "%)"
        
End Sub
        
Private Sub Download(startPoint As Object)
            Try
                
Dim startPointInt As Integer Convert.ToInt32(startPoint)
                
webRequest DirectCast(WebRequest.Create(txtUrl.Text), HttpWebRequest)
                
webRequest.AddRange(startPointInt)
                
webRequest.Credentials CredentialCache.DefaultCredentials
                webResponse 
DirectCast(webRequest.GetResponse(), HttpWebResponse)
                
Dim fileSize As Int64 webResponse.ContentLength
                strResponse 
webResponse.GetResponseStream()
                If 
startPointInt 0 Then
                    strLocal 
= New FileStream(txtPath.TextFileMode.CreateFileAccess.WriteFileShare.None)
                Else
                    
strLocal = New FileStream(txtPath.TextFileMode.AppendFileAccess.WriteFileShare.None)
                
End If
                
Dim bytesSize As Integer 0
                Dim downBuffer 
As Byte() = New Byte(2047) {}
                While (
InlineAssignHelper(bytesSizestrResponse.Read(downBuffer0downBuffer.Length))) > 0
                    strLocal
.Write(downBuffer0bytesSize)
                    
Me.Invoke(New UpdateProgessCallback(AddressOf Me.UpdateProgress), 
                                        
New Object() {strLocal.LengthfileSize startPointInt})
                    If 
goPause True Then
                        
Exit While
                    
End If
                
End While
            
Finally
                strResponse
.Close()
                
strLocal.Close()
            
End Try
        
End Sub
        
Private Shared Function InlineAssignHelper(Of T)(ByRef target As Tvalue As T) As T
            target 
value
            
Return value
        End 
Function
                Public 
Sub New()
            
InitializeComponent()
        
End Sub 
زر الإيقاف
PHP كود :
        Private Sub btnStop_Click(sender As ObjectAs EventArgs)
            
thrDownload.Abort()
            
webResponse.Close()
            
strResponse.Close()
            
strLocal.Close()
            
prgDownload.Value 0
            lblProgress
.Text "Download Stopped"
            
btnPauseResume.Enabled False
        End Sub 
زر التوقف المؤقت والاستمرار
PHP كود :
Private Sub btnPauseResume_Click(sender As ObjectAs EventArgs)
            If 
thrDownload IsNot Nothing Then
                
If btnPauseResume.Text "Pause" Then
                    goPause 
True
                    btnPauseResume
.Text "Resume"
                    
webResponse.Close()
                    
strResponse.Close()
                    
strLocal.Close()
                    
thrDownload.Abort()
                Else
                    
goPause False
                    btnPauseResume
.Text "Pause"
                    
Dim startPoint As Long 0
                    
If File.Exists(txtPath.TextThen
                        startPoint 
= New FileInfo(txtPath.Text).Length
                    
Else
                        
MessageBox.Show("The file you choosed to resume doesn't exist."
                                                
"Could not resume"MessageBoxButtons.OKMessageBoxIcon.[Error])
                    
End If
                    
lblProgress.Text "Download Resuming"
                    
thrDownload = New Thread(New ParameterizedThreadStart(AddressOf Download))
                    
thrDownload.Start(startPoint)
                    
btnPauseResume.Enabled True
                End 
If
            Else
                
MessageBox.Show("A download does not appear to be in progress."
                                
"Could not pause"MessageBoxButtons.OKMessageBoxIcon.[Error])
            
End If
        
End Sub 

RolleyesRolleyesRolleyes
{‏‏ يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنكُمْ وَالَّذِينَ أُوتُوا الْعِلْمَ دَرَجَاتٍ‏ }

 " Mohamed M. Bedair     -     " Abu Anas
Genius Live , Egypt
الرد }}}}
تم الشكر بواسطة: kslawy , Hossam 2005 , Sajad
#4
جزاك الله خيرا وجعلة في موازين حسناتك
طيب سؤال بما انك جربت هذه الطريقة
عند انقطاع النت اثناء التحميل او حدوث اي مشكلة هل يتم عمل توقف مؤقت للتحميل ام يتم عمل الغاء
الرد }}}}
تم الشكر بواسطة:
#5
(08-03-14, 11:48 AM)ali.alfoly كتب : جزاك الله خيرا وجعلة في موازين حسناتك
طيب سؤال بما انك جربت هذه الطريقة
عند انقطاع النت اثناء التحميل او حدوث اي مشكلة هل يتم عمل توقف مؤقت للتحميل ام يتم عمل الغاء

لا ... لن يتم عمل توقف مؤقت ولكن يمكن برمجتها

RolleyesRolleyesRolleyes
{‏‏ يَرْفَعِ اللَّهُ الَّذِينَ آمَنُوا مِنكُمْ وَالَّذِينَ أُوتُوا الْعِلْمَ دَرَجَاتٍ‏ }

 " Mohamed M. Bedair     -     " Abu Anas
Genius Live , Egypt
الرد }}}}
تم الشكر بواسطة:
#6
(08-03-14, 11:48 AM)ali.alfoly كتب : جزاك الله خيرا وجعلة في موازين حسناتك
طيب سؤال بما انك جربت هذه الطريقة
عند انقطاع النت اثناء التحميل او حدوث اي مشكلة هل يتم عمل توقف مؤقت للتحميل ام يتم عمل الغاء

اضف Module1
كود :
Module Module1
    Private Declare Function InternetGetConnectedState Lib "wininet" (ByRef dwflags As Long, ByVal dwReserved As Long) As Long
    Private Const CONNECT_LAN As Long = &H2
    Private Const CONNECT_MODEM As Long = &H1
    Private Const CONNECT_PROXY As Long = &H4
    Private Const CONNECT_OFFLINE As Long = &H20
    Private Const CONNECT_CONFIGURED As Long = &H40
    Private Const CONNECT_RAS As Long = &H10


    Public Function IsWebConnected(Optional ByRef ConnType As String = "") As Boolean
        Dim dwflags As Long
        Dim WebTest As Boolean
        WebTest = InternetGetConnectedState(dwflags, 0&)
        Select Case WebTest
            Case dwflags And CONNECT_LAN : ConnType = "LAN"
            Case dwflags And CONNECT_MODEM : ConnType = "Modem"
            Case dwflags And CONNECT_PROXY : ConnType = "Proxy"
            Case dwflags And CONNECT_OFFLINE : ConnType = "Offline"
            Case dwflags And CONNECT_CONFIGURED : ConnType = "Configured"
            Case dwflags And CONNECT_RAS : ConnType = "Remote"
        End Select
        IsWebConnected = WebTest

    End Function
End Module
كود :
If IsWebConnected() Then
            'أذا كان الانتترنت يعمل يمكنت ودع كود لاستكمال التحميل بعد توقف الانترنت
        Else
            'اذا توقف الانترنت عن العمل يمكنك وضع كود التوقف اذاتوقف الانترنت
        End If
        'يفضل وضع الكود فى timer
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  طلب.كود.ايقاف.البرنامج CLARO 7 202 10-07-16, 12:57 AM
آخر رد: CLARO
  [سؤال] عداد زمني وفيه زر ايقاف saadhod 8 493 22-02-16, 08:29 AM
آخر رد: mrnooo2000
Video [VB.NET] مشكلة عند بناء البرنامج توقف برنامجي كلة محمد اسماعيل 1 272 27-11-15, 10:02 AM
آخر رد: HASAN6.0
  كود ايقاف الماوس و الكيبورد mohamed haroon 9 759 14-09-15, 05:23 PM
آخر رد: mohamed haroon
  [كود] كيف اقوم بصنع مؤقت ذاتي عادي shado1796 4 646 10-06-14, 01:14 PM
آخر رد: shado1796
Heart [كود] عمل برنامج مؤقت تنازلي shado1796 2 1,136 02-06-14, 07:58 PM
آخر رد: shado1796
  [كود] طريقة عمل مؤقت تنازلي shado1796 1 1,176 02-06-14, 02:34 AM
آخر رد: hassan
  [كود] طريقة عمل مؤقت تنازلي مهمم shado1796 1 494 02-06-14, 02:30 AM
آخر رد: hassan
  [سؤال] ايقاف تفعيل الفورم الاساسية عنداظهار فورم ثانية أبو الحسن 3 815 11-05-14, 01:56 PM
آخر رد: Sniper.ps
  كيف الى تشغيل او ايقاف اي خدمة لويندوز7 سعود 23 2,099 03-08-13, 01:43 PM
آخر رد: سعود

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


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