|
[x]
Posted via EE Mobile
|
||
Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again. |
||
| Question |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: |
Private m_GettingFileSize As Boolean
Private m_DownloadingFile As Boolean
Private m_Cancel As Boolean
Private m_DownloadingFileSize As Long
Private m_LocalSaveFile As String
Private m_FileSize As String
Private FirstResponse As Boolean
Dim ff As Integer
Dim exe As String
Dim filesize As String
Private Sub cmdCancel_Click()
'On Error Resume Next
Inet1.Cancel
Unload Me
End Sub
Private Sub Form_Load()
filesize = 4947968 'Okay this is how i do it, make filesize a number,
'compile your program and upload it. Then see how big it is on the ftp.
'Type the number in the filesize re-compile and upload.
'Then it will have the correct filesize.
'filesize = 40000
If App.PrevInstance Then
End
End If
Dim RemoteFileToGet As String
'Name of the updated exe
m_Cancel = False
RemoteFileToGet = "http://www.lindaspaces.com/downloads/lindamanual.pdf" 'THIS IS THE DOWNLOAD
FirstResponse = False
m_FileSize = GetHTTPFileSize(RemoteFileToGet)
Lststat.AddItem "Establishing file size & location..."
LblStatus.Caption = "0/" & Int(m_FileSize) \ 1024 ' \/
ProgressBar1.Min = 0
ProgressBar1.Max = filesize
If Int(m_FileSize) \ 1024 <> filesize Then 'shows in kb instead of other stuff
MsgBox Int(m_FileSize) \ 1024 & "Download size " & filesize & " Your size"
m_LocalSaveFile = App.Path & "\test.pdf"
Inet1.Execute RemoteFileToGet, "GET " & Chr(34) & m_LocalSaveFile & Chr(34)
Else
MsgBox "Your exe is updated as can be :) "
Lststat.AddItem "Done."
LblStatus.Caption = "0/0"
End If
End Sub
Private Function GetHTTPFileSize(strHTTPFile As String) As Long
On Error GoTo ErrorHandler
Dim GetValue As String
Dim GetSize As Long
m_GettingFileSize = True
Inet1.Execute strHTTPFile, "HEAD " & Chr(34) & strHTTPFile & Chr(34)
'Do Until Inet1.StillExecuting = False
' DoEvents
'Loop
'Modified to meet MSDN notice http://support.microsoft.com/kb/182152
Do While Inet1.StillExecuting
DoEvents
Loop
GetValue = Inet1.GetHeader("Content-length")
'Do Until Inet1.StillExecuting = False
' DoEvents
'Loop
'Modified to meet MSDN notice http://support.microsoft.com/kb/182152
Do While Inet1.StillExecuting
DoEvents
Loop
If IsNumeric(GetValue) = True Then
GetSize = CLng(GetValue)
Else
GetSize = -1
End If
If GetSize <= 0 Then GetSize = -1
m_GettingFileSize = False
GetHTTPFileSize = GetSize
Exit Function
ErrorHandler:
m_GettingFileSize = False
GetHTTPFileSize = -1
' MsgBox err.Number & err.Description
End Function
Private Sub Inet1_StateChanged(ByVal State As Integer)
Dim vtData() As Byte
Dim FreeNr As Integer
Dim SizeDone As Long
Dim bDone As Boolean
Dim GetPerc As Integer
If m_Cancel = True Then
bDone = True
Inet1.Cancel
Exit Sub
End If
Select Case State
Case icNone
Lststat.AddItem "Trying to find file..."
Case ichostresolvinghost
Lststat.AddItem "Trying to find file..."
Case icHostResolved
Lststat.AddItem "File found"
Case icConnecting
Lststat.AddItem "Asking for approval..."
Case icConnected
Lststat.AddItem "Accepted"
Case icRequesting
Lststat.AddItem "Requesting file..."
Case icRequestSent
Lststat.AddItem "Request sent"
Case icReceivingResponse
If FirstResponse = False Then
Lststat.AddItem "Receiving response..."
FirstResponse = True
End If
Case icResponseReceived
If FirstResponse = False Then
Lststat.AddItem "Response received"
FirstResponse = True
End If
Case icDisconnecting
Lststat.AddItem "Disconnecting..."
Case icDisconnected
Lststat.AddItem "Disconnected"
'Inet1.Cancel
Case icError
Lststat.AddItem "Error downloading file"
Call cmdCancel_Click
Case icResponseCompleted
If m_GettingFileSize = True Or m_Cancel = True Then
bDone = True
Exit Sub
End If
FreeNr = FreeFile
Open App.Path & "\test.pdf" For Binary Access Write As FreeNr
'this shows the status in real time
'kinda fancy
Do While Not bDone 'Inet1.StillExecuting
vtData = Inet1.GetChunk(1024, icByteArray) ' Get next chunk.
SizeDone = SizeDone + UBound(vtData)
LblStatus.Caption = SizeDone \ 1024 & "kb" & "/" & m_FileSize \ 1024 & "kb" 'lets it be shown in kb instead of bytes
ProgressBar1.Value = SizeDone
GetPerc = (SizeDone / m_FileSize) * 100
If GetPerc > 100 Then GetPerc = 100
If GetPerc < 0 Then GetPerc = 0
Me.Caption = "AutoUpdater - " & GetPerc & "%"
Put #FreeNr, , vtData()
If UBound(vtData) = -1 Then
'If Len(vtData) = 0 Then
'Debug.Print vtData
bDone = True '
Else
DoEvents 'Yield to other processes
End If
'DoEvents
Loop
Close FreeNr
End Select
Lststat.ListIndex = Lststat.ListCount - 1
If GetPerc = 100 Then
Call cmdCancel_Click
End If
' If Len(err.Description) & Len(err.Source) = 0 Then
'Print vbNullString
' Else
'Box err.Description & " Source : " & err.Source
' End If
End Sub
|
Advertisement
| Hall of Fame |