String-based auto-number generator
♥0 |
Line 53 |
Modified 2015-05-20 15:49:32 |
MIT License
archived:2017-03-20 03:21:03
ActionScript3 source code
/**
* Copyright Glidias ( http://wonderfl.net/user/Glidias )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/p6Mu
*/
package {
import flash.display.Sprite;
import com.bit101.components.*;
import flash.events.Event;
public class FlashTest extends Sprite {
private var labeler:Label;
private var labeler2:Label;
private var numStepper:NumericStepper;
public function FlashTest() {
// write as3 code here..
var vBox:VBox;
addChild( vBox = new VBox() );
numStepper = new NumericStepper(vBox);
numStepper.maximum = int.MAX_VALUE;
numStepper.width = 200;
labeler = new Label(vBox);
labeler2 = new Label(vBox);
numStepper.addEventListener(Event.CHANGE, numStepperChange);
}
private function numStepperChange(e:*):void {
labeler.text = AlphaID.encode(numStepper.value);
labeler2.text = ""+AlphaID.decode(labeler.text);
}
}
}
class AlphaID {
static public var index : String = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
static public function encode(_number : int) : String {
var strBuf : StringBuf = new StringBuf();
var i : int = 0;
var end : int = Math.floor(Math.log(_number) / Math.log(AlphaID.index.length));
while(i <= end) strBuf.add(AlphaID.index.charAt(Math.floor(_number / AlphaID.bcpow(AlphaID.index.length,i++)) % AlphaID.index.length));
return strBuf.toString();
}
static public function decode(_string : String) : int {
var str : String = AlphaID.reverseString(_string);
var ret : int = 0;
var i : int = 0;
var end : int = str.length - 1;
while(i <= end) {
ret += int(AlphaID.index.indexOf(str.charAt(i)) * AlphaID.bcpow(AlphaID.index.length,end - i));
++i;
};
return ret;
}
static protected function bcpow(_a : Number,_b : Number) : Number {
return Math.floor(Math.pow(_a,_b));
}
static protected function reverseString(inStr : String) : String {
var ary : Array = inStr.split("");
ary.reverse();
return ary.join("");
}
}