Downloadzeit berechnen...
Michael
- asp.net
0 Miraldo
Hallo an alle,
Ich habe eine Website auf der ich einige Programme zum Download anbiete. Jetzt hab ich mir gedacht es wäre sicher cool den Besuchern grad die ungefähre Downloadzeit zu sagen.
Jetzt habe ich so ein Script gefunden was mir das macht aber auf einem Server funktionierts auf dem anderen nicht.
Hier die Funktion:
big=rs("dateigroesse")
function rechnen(speed)
big2 = replace(big,".",",")
bigk = big2 * 1024
speed = speed / 8
speed = speed * 60
zeit = bigk / speed
if zeit>60 then
stund = zeit / 60
on error resume next
stund1 = split(stund,",")
stund = stund1(0)
min = stund1(1)
min1 = "0," & min
min1 = min1 * 60
min1 = split(min1,",")
min = min1(0)
if err<>0 then
stund=stund1
min="0"
end if
response.write stund & " St. " & min & " Min."
else
zeit = split(zeit,",")
response.write zeit(0) & " Min."
end if
end function
*********************3
Dann kommt noch unten sowas:
56k : <%=rechnen(56.0)%>
64k : <%=rechnen(64.0)%>
128k: <%=rechnen(128.0)%>
Also ich bekomme manchmal folgende fehler:
1. Bei Dateigrösse 48.5 kommt:
Laufzeitfehler in Microsoft VBScript- Fehler '800a000d'
Typen unverträglich: 'big2'
2. Bei Dateigrösse 6 kommt..
56k: 14.6285714285714 Min.
64k: 12.8 Min.
128k: 6.4 Min.
also bei 56k nach dem komma kommen zu viele zahlen...
Hat jemand eine Idee was ich hier ändern könnte das es richtig funktioniert?
Also wie gesagt es läuft nur auf manchen Servern.
Bitte um Hilfe!
Michael
Hallo,
also, als erstes versteh ich nicht wieso du das machst:
»» big2 = replace(big,".",",")
damit ersetszt du die punkte in einer zahl durch eine komma, was big2 zu einem string macht. deswegen kriegst du dann bei der multiplikation den "Typen unverträglich" fehler
- Bei Dateigrösse 6 kommt..
56k: 14.6285714285714 Min.
so, die Kommastellen kriegst du mit dem
FormatNumber befehl
hier ein bsp:
FormatNumber(12345)
Ausgabe:
12,345.00
optional kannst du auch
FormatNumber(12345,4) benutzten, was dann dazu führt dass du hinter dem komma noch vier dezimalstellen hast
Grüsse
Miraldo