Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Download Time X - frmdownloadx.frm

frmdownloadx.frm

Caricato da: Piero Tofy
Scarica il programma completo

  1. 'Programma by Piero Tofy 2003
  2.  
  3. Public Sub controlla_separatore(inputx As String, outputx As Control)
  4. 'Controlla che il separatore decimale sia una virgola o un punto...
  5. Dim tiposeparatore As String
  6. Dim lenstring As Single
  7. Dim count As Single
  8. Dim charx As String
  9. tiposeparatore = Mid(CStr(5 / 2), 2, 1)
  10. lenstring = Len(inputx)
  11.  
  12. 'Controlla se ci sono separatori e li corregge
  13. For count = 1 To lenstring
  14. charx = Mid(inputx, count, 1)
  15. If charx = "." Or charx = "," Then
  16. Mid(inputx, count) = tiposeparatore
  17. End If
  18. Next count
  19. outputx = inputx
  20. End Sub
  21.  
  22. Public Sub calcola_tempo(dimensioni As Single, velocita As Single, outputx As Control)
  23. 'Calcola il tempo di scaricamento del file in base ai dati forniti
  24.  
  25. 'Trasforma i Mb in Kb
  26. Dim kb As Single
  27. kb = dimensioni * 1000
  28. 'Calcola i secondi totali
  29. Dim secondi As Single
  30. secondi = kb / velocita
  31.  
  32. 'Rimanda il risultato della funzione all'output
  33. outputx = dividi_secondi(secondi)
  34. End Sub
  35.  
  36. Public Function dividi_secondi(secondi As Single)
  37. 'Trasforma i secondi in ore e minuti
  38. Dim ore As Single
  39. Dim minuti As Single
  40. Dim count As Single
  41.  
  42. 'Toglie i decimali dai secondi totali (se ci sono...)
  43. Dim pos_separatore As Single
  44. Dim tiposeparatore As String
  45. tiposeparatore = Mid(CStr(5 / 2), 2, 1)
  46. ore = 0
  47. tempox = secondi / 60
  48. pos_separatore = InStr(CStr(tempox), tiposeparatore)
  49. If pos_separatore <> 0 Then tempox = Left(tempox, pos_separatore)
  50.  
  51. 'Crea la stringa per l'output
  52. Do
  53. ore = ore + 1
  54. count = ore * 60
  55. Loop Until count > tempox
  56. ore = ore - 1
  57. minuti = tempox - (ore * 60)
  58.  
  59. 'Manda l'output alla chiamata
  60. If ore = 0 And minuti = 0 Then
  61. dividi_secondi = "Meno di un minuto"
  62. ElseIf ore = 0 Then
  63. dividi_secondi = minuti & " minuti"
  64. ElseIf minuti = 0 Then
  65. dividi_secondi = ore & " ore"
  66. Else
  67. dividi_secondi = ore & " Ore e " & minuti & " Minuti"
  68. End If
  69. End Function
  70.  
  71.  
  72. Private Sub cmdok_Click()
  73. On Error GoTo 1
  74.  
  75. Call controlla_separatore(txtmb, txtmb)
  76. Call controlla_separatore(txtvel, txtvel)
  77. Call calcola_tempo(txtmb.Text, txtvel.Text, txttime)
  78.  
  79. Exit Sub
  80. 1
  81. MsgBox "E' avvenuto un errore! Controlla che i dati inseriti siano corretti. Se il problema non si risolve contatta il produttore!", vbCritical, "Errore: " & Err.Description
  82. Exit Sub
  83. End Sub