Verfasst: 29.05.2007 15:07
				
				Hallo!
Ganz besonders an NicTheQuick:
Die bisherige Prozedur hat bei einer ANgabe von 0 Byte nicht korrekt gerechnet, denn anscheinend gibt es kein Log(0). Ich habe die Prozedur etwas verbessert...
Schluchz.... Der schöne 2 Zeiler ist dahin...
			Ganz besonders an NicTheQuick:
Die bisherige Prozedur hat bei einer ANgabe von 0 Byte nicht korrekt gerechnet, denn anscheinend gibt es kein Log(0). Ich habe die Prozedur etwas verbessert...
Code: Alles auswählen
Procedure.s byterechner(byte.q, NbDecimals.l=0)
	Protected unit.l
	If byte
		unit=Round(Log(byte)/Log(1024), 0)
	EndIf
	ProcedureReturn StrD(byte/Pow(1024, unit), NbDecimals*(unit And 1))+" "+StringField("Byte,KB,MB,GB,TB,PB,EB", unit+1, ",")
EndProcedure
Debug byterechner(-4096) ; ungültige Angabe wird zu "-1 Byte"
Debug byterechner(0) ; Eine Null-Byte große Datei bleibt auch 0 Byte groß :)
Debug byterechner(27101988) ; Bisherige Angaben bleiben okSchluchz.... Der schöne 2 Zeiler ist dahin...