= Cappuccino = Cappuccino is a framework which makes it easy to create advanced web apps. [[http://www.cappuccino-project.org/]] Objective-J is a powerful object-oriented language which compiles to run in the browser. == Init String, CPString == {{{#!highlight objectivej var str1 = [CPString initWithString: @""]; var str2 = [CPString initWithString: @""]; }}} == Mutable Array == {{{#!highlight objectivej @import var arrayX = [[CPMutableArray alloc] init]; }}} == Callbacks == {{{#!highlight objectivej @implementation TestObject : CPObject { } -(void)helloWorld{ CPLogConsole("Called hello world"); } //(...) @end //-------------------- var selectorHelloWorld = @selector(helloWorld) ; var signature = [self methodSignatureForSelector: aSelector]; var invocation = [CPInvocation invocationWithMethodSignature:signature]; [invocation setSelector: selectorHelloWorld]; [invocation invokeWithTarget: self]; //self -> instance of TestObject }}} {{{#!highlight objectivej @implementation TestObject : CPObject { } -(void)helloWorldMsg:(CPString) message p1:(int)intVal { CPLogConsole( message ); CPLogConsole( intVal ); } //(...) @end //-------------------- var selectorHelloWorldMsg = @selector(helloWorldMsg:p1:) ; var sig = [self methodSignatureForSelector: selectorHelloWorldMsg]; var invocation = [CPInvocation invocationWithMethodSignature:sig]; [invocation setSelector: selectorHelloWorldMsg]; [invocation setArgument:@"Message" atIndex:2 ]; //0-> self 1->_cmd [invocation setArgument: 1234 atIndex:3 ]; //0-> self 1->_cmd [invocation invokeWithTarget: self]; }}} == Dates == {{{#!highlight objectivej var datex = [CPDate dateWithTimeIntervalSince1970: dateInSeconds]; //set CPDate with seconds since 01-01-1970 UTC var strDate = [instanceCPDate description];// get string with date in format YYYY-MM-DD HH:MM:SS TZ±HHMM. }}}