-This one has error-checking so only allowed values can be entered!
-Has XY version checker!
-Based off this code.
Code: Select all
/*************************
//////////////////////////
//I grow powerful!!! ^^ //
//////////////////////////
*************************/
//works on XYplorer v +9.70.0007
end (<xyver> < "9.70.0007"), "Sorry - this script requires XYplorer version 9.70.0007 or higher.<crlf>Click 'Ok' to exit.";
input $v, "Please enter the value to be converted (only numbers with decimals):", "1024";
input $u, "Please enter the unit of that value (KB, MB, GB, TB, or PB/KBR/BB/B; BLANK for raw!):", "MB";
if ($u == FLEX) { }
elseif ($u == FLEXR) { }
elseif ($u == KB) { }
elseif ($u == MB) { }
elseif ($u == GB) { }
elseif ($u == TB) { }
elseif ($u == PB) { }
elseif ($u == KBR) { }
elseif ($u == BB) { }
elseif ($u == B) { }
elseif ($u == RAW) { }
elseif ($u == flex) { }
elseif ($u == flexr) { }
elseif ($u == kb) { }
elseif ($u == mb) { }
elseif ($u == gb) { }
elseif ($u == tb) { }
elseif ($u == pb) { }
elseif ($u == kbr) { }
elseif ($u == bb) { }
elseif ($u == b) { }
elseif ($u == raw) { }
elseif ($u == blank) { }
elseif ($u == BLANK) { }
elseif ($u == "") { }
else {
end ($u =0), "Sorry - entered unit is NOT allowed!";
}
input $fu, "Now, the final unit you want (FLEX/FLEXR/KB, MB, GB, TB, or PB/KBR/BB/B/RAW):", "FLEX";
$uu = regexreplace($u, "BLANK", ""); //error handling ; )
$uu = regexreplace($uu, "RAW", ""); //strangely, "RAW" value leads to a script error.
$uu = regexreplace($uu, "raw", ""); //strangely, "raw" value leads to a script error.
$a = formatbytes("$v $uu", "raw", -1);
$b = formatbytes("$a", "$fu", -1);
echo "Original $v $uu equals to $b.";
copytext $b;
status "Value on clipboard, too. Have a g'day!";
ToDo: learn regEx.
XYplorer Beta Club