webForumDet fria alternativet
Logga in / Bli medlem

convFileSize

ASP

0 svar · 828 visningar · startad av Pace

Medlem sedan juni 20019 024 inlägg
Trådstart#1

En nyttig funktion som konventerar en filstorlek (i byte) till kB, MB och GB. Exempelvis:

3629180 blir 3,4 MB

Man kan givetvis ställa hur många decimaler man vill ha. Väljer man exempelvis 4 st, blir det ju:

3,4610 MB

Originalproggat i basic av Pace.

Fel kan diskuteras här

filstorlek = 3629180

Response.Write convFileSize(filstorlek, 1)

'********************************************************************
' ConvFileSize: Konventerar filstorlek (i byte) till kB, MB och GB.
'********************************************************************
Function ConvFileSize (FileSize, Decimaler)
	Dim DotPos, strFileSize
	FileSize = cDbl(FileSize)

	' Gigabytes.
	If FileSize >= 1048576000 Then
		strFileSize = cStr(cSng(FileSize / 1048576000))
		DotPos = Instr(strFileSize, ",")
		IF DotPos THEN
			IF Decimaler = 0 THEN Decimaler = -1
			strFileSize = MID(strFileSize, 1, DotPos + Decimaler)
		END IF
		strFileSize = strFileSize + " GB"
	' Megabytes.
	ElseIf FileSize >= 1048576 THEN
		strFileSize = cStr(cSng(FileSize / 1048576))
		DotPos = Instr(strFileSize, ",")
		IF DotPos THEN
			IF Decimaler = 0 THEN Decimaler = -1
			strFileSize = MID(strFileSize, 1, DotPos + Decimaler)
		END IF
		strFileSize = strFileSize + " MB"
	' Kilboytes.
	ElseIf FileSize >= 1024 THEN
		strFileSize = cStr(cSng(FileSize / 1024))
		DotPos = InStr(strFileSize, ",")
		IF DotPos THEN
			IF Decimaler = 0 THEN Decimaler = -1
			strFileSize = MID(strFileSize, 1, DotPos + Decimaler)
		END IF
		strFileSize = strFileSize + " kB"
	' Bytes.
	Else
		IF FileSize > 1 THEN
			strFileSize = cStr(Int(FileSize)) + " bytes"
		ELSE
			strFileSize = cStr(Int(FileSize)) + " byte"
		END IF
	END IF
	
	ConvFileSize = Trim(strFileSize)

End Function
246 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)