Binary Clock
Forcing the Browser to crash using ActionScript
Simply create a class that throws an error in the constructor. This will cause the browser to crash and close.
package { public class BrowserCrasher { public function BrowserCrasher( ) { throw new Error( 'goodbye browser' ); } } }
Enums and static initializers in AS3
I found a couple posts on the subject.
Layout Organizers
Mixin’s in ActionScript 3
//-------------------------------------------------------------------------- // // Class mixins // //-------------------------------------------------------------------------- /** * @private * Placeholder for mixin by UIComponentAccImpl. */ mx_internal static var createAccessibilityImplementation:Function;
I wasn't entirely sure what a mixin was but after reading up on wikipedia I realized they are exactly what they sound like basically just a mix of code bases. There is a really good post over on the yahoo flash blog about accessibility and the way in which Flex uses the
[AccessibilityClass(implementation="mx.accessibility.UIComponentAccImpl")]
meta data to mixin the Accessibility code into the UIComponent implementation.
Unable to Catch IOErrorEvent’s when Loading a ByteArray into an Image
So i went digging and i found in the base class of image, SWFLoader line 1497 the following (more...)
Flex Cookbook Recipe 5.8 Allow Certain items in a list to be selectable, Doesn’t quite work correctly
1. Key directions were not being assigned.
2. When a disabled item was at either the top or the bottom of the list it would stop you being able to continue down / up the list.
To fix this i added the following code. (more...)
Augmented Reality
Salesforce ActionScript Fun
So as i have seen a lot of posts about this i have decided to explain how i go about logging in here.
1. To login you need 3 things
1. Username in the form user@user.com
2. Password.
3. Security Token
To get the security token for a user go to setup>Reset your security token. This will then be emailed to you.
Logging into an Administrators account seems to be different than logging into a normal users account.
For Administrators you have to set the protocol to 'http' for normal users set it to 'https' in addition we have to add the token to the password as follows.
private var _conn : Connection = new Connection( ); private function login( username : String, password : String, token : String, isAdmin : Boolean = false ) : void { _connection.protocol = isAdmin ? 'http' : 'https'; var login : LoginRequest = new LoginRequest( ); login.username = value..username; login.password = value..password.toString( ) + value..token.toString( ); login.callback = new Responder( loginResult, loginFault ); _connection.login( login ); }
Number Romanizer
/** * Function that turns any number into it's roman numeral * equivelant. * We have to use an array to hold the values as if we use * a Dictionary / Object actionScript sorts it alphabetically. * and we don't get the correct results. * * @param value : Number 0 - 9999; */ public static function romanize( value : Number ) : String { var numerals : Array = [ { label : 'M', value : 1000 }, { label : 'CM', value : 900 }, { label : 'D', value : 500 }, { label : 'CD', value : 400 }, { label : 'C', value : 100 }, { label : 'XC', value : 90 }, { label : 'L', value : 50 }, { label : 'XL', value : 40 }, { label : 'X', value : 10 }, { label : 'IX', value : 9 }, { label : 'V', value : 5 }, { label : 'IV', value : 4 }, { label : 'I', value : 1 } ] var roman : String = ''; for( var i : String in numerals ) { while( value >= numerals[ i ].value ) { roman += numerals[ i ].label; value -= numerals[ i ].value; } } return roman; }