'= , = , = ; = , =, = , = ,= , = Function BKMGT(What As Single, si As Integer=0) As String 'What must be Single.. Dim As ZString Ptr Sb(5)={@"", @"K", @"M", @"G", @"T"} 'Wow.. Dim As String s 'need to format the result.. If What<1024 Or si>3 Then 'no need to go on(TeraByte should be enough).. s=Str(What) 'make a string If Instr(s, ".")<>0 Then s=Left(s, Instr(s, ".")+2) 'yes, use only two of them.. Return s &*Sb(si) &"Byte" '..and return the stuff.. ' ^-- IMPORTANT Else 'continue evaluation.. Function=BKMGT(What/1024, si+1) 'divide et impera.. End If '..now go on! End Function 'done Print "BKMGT.Bas 2006 by ytwinky, MD" Print "(now recursive..)" Print BKMGT(Cast(Single,18446744073709551615)) 'Highest ULongInt Print BKMGT(Cast(Single,2^32)) Print BKMGT(Cast(Single,65535^2)) Print BKMGT(Cast(Single,2^24)) Print BKMGT(Cast(Single,2^16)) Print BKMGT(Cast(Single,1)) Print BKMGT(Cast(Single,0)) Print BKMGT(Cast(Single,-1)) Print "dun.."; GetKey