fork download
  1. Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, _
  2. ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
  3.  
  4. 'Creating the request and getting the response
  5. Dim theResponse As HttpWebResponse
  6. Dim theRequest As HttpWebRequest
  7. Try 'Checks if the file exist
  8.  
  9. theRequest = WebRequest.Create(Me.txtFileName.Text)
  10. theResponse = theRequest.GetResponse
  11. Catch ex As Exception
  12.  
  13. MessageBox.Show("An error occurred while downloading file. _
  14. Possible causes:" & ControlChars.CrLf & _
  15. "1) File doesn't exist" & ControlChars.CrLf & _
  16. "2) Remote server error", "Error", _
  17. MessageBoxButtons.OK, MessageBoxIcon.Error)
  18.  
  19. Dim cancelDelegate As New DownloadCompleteSafe(AddressOf DownloadComplete)
  20.  
  21. Me.Invoke(cancelDelegate, True)
  22.  
  23. Exit Sub
  24. End Try
  25. Dim length As Long = theResponse.ContentLength 'Size of the response (in bytes)
  26.  
  27. Dim safedelegate As New ChangeTextsSafe(AddressOf ChangeTexts)
  28. Me.Invoke(safedelegate, length, 0, 0, 0) 'Invoke the TreadsafeDelegate
  29.  
  30. Dim writeStream As New IO.FileStream(Me.whereToSave, IO.FileMode.Create)
  31.  
  32. 'Replacement for Stream.Position (webResponse stream doesn't support seek)
  33. Dim nRead As Integer
  34.  
  35. 'To calculate the download speed
  36. Dim speedtimer As New Stopwatch
  37. Dim currentspeed As Double = -1
  38. Dim readings As Integer = 0
  39.  
  40. Do
  41.  
  42. If BackgroundWorker1.CancellationPending Then 'If user aborts download
  43. Exit Do
  44. End If
  45.  
  46. speedtimer.Start()
  47.  
  48. Dim readBytes(4095) As Byte
  49. Dim bytesread As Integer = theResponse.GetResponseStream.Read_
  50. (readBytes, 0, 4096)
  51.  
  52. nRead += bytesread
  53. Dim percent As Short = (nRead * 100) / length
  54.  
  55. Me.Invoke(safedelegate, length, nRead, percent, currentspeed)
  56.  
  57. If bytesread = 0 Then Exit Do
  58.  
  59. writeStream.Write(readBytes, 0, bytesread)
  60.  
  61. speedtimer.Stop()
  62.  
  63. readings += 1
  64. If readings >= 5 Then 'For increase precision, _
  65. ' the speed is calculated only every five cycles
  66. currentspeed = 20480 / (speedtimer.ElapsedMilliseconds / 1000)
  67. speedtimer.Reset()
  68. readings = 0
  69. End If
  70. Loop
  71.  
  72. 'Close the streams
  73. theResponse.GetResponseStream.Close()
  74. writeStream.Close()
  75.  
  76. If Me.BackgroundWorker1.CancellationPending Then
  77.  
  78. IO.File.Delete(Me.whereToSave)
  79.  
  80. Dim cancelDelegate As New DownloadCompleteSafe(AddressOf DownloadComplete)
  81.  
  82. Me.Invoke(cancelDelegate, True)
  83.  
  84. Exit Sub
  85.  
  86. End If
  87.  
  88. Dim completeDelegate As New DownloadCompleteSafe(AddressOf DownloadComplete)
  89.  
  90. Me.Invoke(completeDelegate, False)
  91.  
  92. End Sub
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
Visual Basic.Net Compiler version 0.0.0.5914 (Mono 2.4.2 - r)
Copyright (C) 2004-2008 Rolf Bjarne Kvinge. All rights reserved.


/home/7TMJJj/prog.vb (1,13) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (5,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (6,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (7,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (9,23) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (10,24) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (11,14) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (13,23) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (13,73) : Error VBNC90003: End of line found in string constant.
/home/7TMJJj/prog.vb (14,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (14,45) : Error VBNC90003: End of line found in string constant.
/home/7TMJJj/prog.vb (15,52) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (19,16) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (21,15) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (23,17) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (24,16) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (25,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (27,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (28,11) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (30,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (33,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (36,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (37,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (38,12) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (40,11) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (42,15) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (43,21) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (44,19) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (46,23) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (48,16) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (49,16) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (50,8) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (52,18) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (53,16) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (55,15) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (57,15) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (59,24) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (61,23) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (63,21) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (64,15) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (66,29) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (67,27) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (68,25) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (69,19) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (70,13) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (73,20) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (74,20) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (76,11) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (78,15) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (80,16) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (82,15) : Error VBNC30203: Not valid as identifier.
/home/7TMJJj/prog.vb (82,15) : Error VBNC30041: Too many errors.
Exception of type 'vbnc.TooManyErrorsException' was thrown.
  at vbnc.Report.ShowMessage (Boolean SaveIt, vbnc.Message Message) [0x00080] in /var/tmp/portage/dev-lang/mono-basic-2.4.2/work/mono-basic-2.4.2/vbnc/vbnc/source/General/Report.vb:342 
  at vbnc.Report.ShowMessage (Messages Message, Span Location, System.String[] Parameters) [0x00000] in /var/tmp/portage/dev-lang/mono-basic-2.4.2/work/mono-basic-2.4.2/vbnc/vbnc/source/General/Report.vb:259 
  at vbnc.Report.ShowMessage (Messages Message, System.String[] Parameters) [0x00054] in /var/tmp/portage/dev-lang/mono-basic-2.4.2/work/mono-basic-2.4.2/vbnc/vbnc/source/General/Report.vb:269 
  at vbnc.Compiler.Compile () [0x005a3] in /var/tmp/portage/dev-lang/mono-basic-2.4.2/work/mono-basic-2.4.2/vbnc/vbnc/source/General/Compiler.vb:651 
  at vbnc.Compiler.Compile (System.String[] CommandLine) [0x00057] in /var/tmp/portage/dev-lang/mono-basic-2.4.2/work/mono-basic-2.4.2/vbnc/vbnc/source/General/Compiler.vb:279 
  at vbnc.Main.Main (System.String[] CmdArgs) [0x0000f] in /var/tmp/portage/dev-lang/mono-basic-2.4.2/work/mono-basic-2.4.2/vbnc/vbnc/source/General/Main.vb:55 
Failed compilation took 00:00:00.5864950
stdout
Standard output is empty