Michael: Downloadzeit berechnen...

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

  1. 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

    1. 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