Size – Boyutları Çevirin!

Size ingilizcede boyut manasına gelir, bir çok programlama dilinde de aynı anlamda kullanılır, zaten mIRC'in kendine ait bir Görsel$byte identifieri var biliyoruz, fakat bu $size identifieri $byte identifierini tarihe gömecek diyebiliriz :)

Kodumuz;

CODE:
  1. alias size {
  2. if ($isid) {
  3. if ($1 isnum 0-) {
  4. var %a = b k m g t p e, %b = $findtok(%a,$2,1,32), %c = $findtok(%a,$3,1,32)
  5. if (%b) && (!%c) {
  6. var %d = $len($token($1,1,46)), %e = $int($calc(%d / 3 $iif(3 // %d,-1))))
  7. return $comma($round($calc($1 $str(/1024,$iif($calc(%b + %e)> 7,$calc(7 - %b),%e))),$iif($3 == 3,$replacex($calc(%d -3* $int($calc(%d / 3))),1,2,2,1,3,0),2))) $+ $iif($prop == suf,$replace($token(%a,$iif($calc(%b + %e)> 7,7,$v1),32),b,B,k,KiB,m,MiB,g,GiB,t,TiB,p,PiB,e,EiB))
  8. }
  9. if (%b> %c) {
  10. var %f = $calc(%b - %c)
  11. }
  12. return $comma($round($calc($1 $iif(%f,*,/) $wildtok(1 1024 1048576 1073741824 1099511627776 1125899906842624 1152921504606846976 1180591620717411303424,$str(?,$calc($iif(%f,%f,$calc(%c - %b)) *3+1)),1,32)),2)) $+ $iif($prop == suf && %b && %c,$replace($3,b,B,k,KiB,m,MiB,g,GiB,t,TiB,p,PiB,e,EiB))
  13. }
  14. return
  15. }
  16. }
  17.  
  18. alias -l comma {
  19. tokenize 46 $1
  20. var %x = $1
  21. while (%x) {
  22. var %y = $right(%x,3) %y, %x = $left(%x,-3)
  23. }
  24. return $replace(%y,$chr(32),$chr(44)) $+ $iif($2,. $+ $2)
  25. }

Kullanımı:
$size(N,bkmgtpe,bkmgtpe3)
N = Dosya boyutunu belirler.

Boyutlar;

  • b = byte
  • k = kilobyte
  • m = megabyte
  • g = gigabyte
  • t = terabyte
  • p = perabyte
  • e = exabyte

Kullanımda gösterilen ilk bkmgtpe N boyutunun ne olduğunu belirtir (örneğin N KiloByte gibi) ikinci bkmgtpe işareti ise çevrileceği boyut tipini belirtir
.suf Eki dönüştürülecek eyleme ek özellik ekler bu özellik aşşağıdaki satırda açıklanmıştır
3 eylemi .suf ile çalışmaktadır, 3 yazıldığında ilk 3 basamak geri dönecektir.

Örnekler;

  • $size(123456789,b)          sonuc 117.74
  • $size(123456789,b,k)          sonuc 120,563.27
  • $size(123456789,g,3)          sonuc 118
  • $size(123456789,p).suf          sonuc 120,563.27EiB
  • $size(123456789,t,g).suf      sonuc 126,419,751,936GiB
  • $size(123456789,b,3).suf      sonuc 118MiB
Bu konuya mesaj atabilir, yada trackback yollayabilirsiniz.
Toplam Okunma; 80

Yorum Yazin

2010 ©