String-based auto-number generator

by Glidias
♥0 | Line 53 | Modified 2015-05-20 15:49:32 | MIT License
play

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("");
        }
        
    }

Forked