> Le 15 janv. 2018 à 02:27, Wayne Stewart via 4D_Tech <4d_tech@lists.4d.com > <mailto:4d_tech@lists.4d.com>> a écrit : > > Hi, > > I'm trying to create a method that will return a file size as a string, > similar to how the Finder does.
I use this (french "octet" stands for "byte") //Num_bytesToStr (nombre_r) -> txt //http://forums.4d.fr/Post/FR/14504984/1/14504985#14504985 <http://forums.4d.fr/Post/FR/14504984/1/14504985#14504985> C_TEXT($0) C_REAL($1) C_LONGINT($base_l) C_LONGINT($expo_l) C_REAL($in_r) C_REAL($nbre_r) C_REAL($seuil_r) C_TEXT($nmc_t) C_TEXT($out_t) C_TEXT($unit_t) If (False) C_TEXT(Num_bytesToStr ;$0) C_REAL(Num_bytesToStr ;$1) End if //_ $nmc_t:=Current method name $out_t:="" ASSERT(Count parameters>0;$nmc_t+" $1 number missing") $in_r:=$1 //$base_l:=1024 //Kio $base_l:=1000 //Ko $expo_l:=5 //on commence aux pétaoctets Repeat $seuil_r:=$base_l^$expo_l If ($in_r>=$seuil_r) //$unit_t:=Choisir($expo_l;"io";"Kio";"Mio";"Gio";"Tio";"Pio") $unit_t:=Choose($expo_l;"o";"Ko";"Mo";"Go";"To";"Po") $nbre_r:=$in_r/$seuil_r $out_t:=$out_t+String(Round($nbre_r;1))+" "+$unit_t $expo_l:=0 End if $expo_l:=$expo_l-1 Until ($expo_l<0) $0:=$out_t //_ -- Arnaud de Montard ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************