home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 7_2009-2012.ISO / data / zips / BM_Note_Va2183716272010.psc / NoteVault / ctrl / dmwsk.ctl next >
Text File  |  2010-06-27  |  3KB  |  89 lines

  1. VERSION 5.00
  2. Begin VB.UserControl DmDownload 
  3.    ClientHeight    =   240
  4.    ClientLeft      =   0
  5.    ClientTop       =   0
  6.    ClientWidth     =   240
  7.    InvisibleAtRuntime=   -1  'True
  8.    ScaleHeight     =   240
  9.    ScaleWidth      =   240
  10.    ToolboxBitmap   =   "dmwsk.ctx":0000
  11.    Begin VB.Image Image1 
  12.       Height          =   240
  13.       Index           =   0
  14.       Left            =   0
  15.       Picture         =   "dmwsk.ctx":0312
  16.       Top             =   0
  17.       Width           =   240
  18.    End
  19. End
  20. Attribute VB_Name = "DmDownload"
  21. Attribute VB_GlobalNameSpace = False
  22. Attribute VB_Creatable = True
  23. Attribute VB_PredeclaredId = False
  24. Attribute VB_Exposed = False
  25.  
  26. Event DownloadProgress(mCurBytes As Long, mMaxBytes As Long)
  27. Event DownloadComplete(mCurBytes As Long, mMaxBytes As Long, LocalFile As String)
  28. Event LastError(StatusCode As Long, Status As String, LocalFile As String)
  29. Event Status(StatusText As String)
  30. Event StatusCode(Code As AsyncStatusCodeConstants)
  31.  
  32. Public StillBusy As Boolean
  33.  
  34. Private Sub SaveData(mData() As Byte, LocalFile As String)
  35. Dim TFile As Long
  36.     TFile = FreeFile
  37.     
  38.     Open LocalFile For Binary Access Write As #TFile
  39.         Put #TFile, , mData()
  40.     Close #TFile
  41.     
  42. End Sub
  43. Public Sub DownloadFile(URL As String, LocalFile As String, Optional mType As AsyncTypeConstants = vbAsyncTypeByteArray)
  44. On Error GoTo ConErr
  45.     UserControl.AsyncRead URL, mType, LocalFile, vbAsyncReadForceUpdate
  46.     Exit Sub
  47. ConErr:
  48.     RaiseEvent LastError(0, Err.Description, LocalFile)
  49. End Sub
  50.  
  51. Private Sub Image1_Click(Index As Integer)
  52.  
  53. End Sub
  54.  
  55. Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)
  56. On Error Resume Next
  57.     StillBusy = False
  58.     With AsyncProp
  59.         If .BytesMax <> 0 Then
  60.             SaveData .Value, .PropertyName
  61.             RaiseEvent DownloadComplete(.BytesRead, .BytesMax, .PropertyName)
  62.         Else
  63.             RaiseEvent LastError(.StatusCode, .Status, .PropertyName)
  64.             Exit Sub
  65.         End If
  66.     End With
  67. End Sub
  68.  
  69. Private Sub UserControl_AsyncReadProgress(AsyncProp As AsyncProperty)
  70. On Error Resume Next
  71.  
  72.     If AsyncProp.StatusCode = vbAsyncStatusCodeError Then
  73.         StillBusy = False
  74.         RaiseEvent LastError(AsyncProp.StatusCode, AsyncProp.Status, AsyncProp.PropertyName)
  75.         RaiseEvent Status(AsyncProp.Status)
  76.         RaiseEvent StatusCode(AsyncProp.StatusCode)
  77.     Else
  78.         RaiseEvent Status(AsyncProp.Status)
  79.         RaiseEvent DownloadProgress(AsyncProp.BytesRead, AsyncProp.BytesMax)
  80.         RaiseEvent StatusCode(AsyncProp.StatusCode)
  81.         StillBusy = True
  82.     End If
  83.     
  84. End Sub
  85.  
  86. Private Sub UserControl_Resize()
  87.     UserControl.Size 240, 240
  88. End Sub
  89.