Alert, OpenURL etc
Monkey Targets Forums/iOS/Alert, OpenURL etc
| ||
Please give this a try, this should theoretically work: I will test it myself when i finished my breakfast and coffee :) Just wrote it on my Iphone in the notes ^^ Here is a Tutorial how you can add it to a own module (Thanks to Lumooja): http://www.monkeytools.net/articles/Adding_new_commands_to_Monkey This opens the E-Mail Composer with a prepared Message Void UIEmail( String MailAdress,String Subject, String Body ) { NSString *NSstrMailAdress = MailAdress.ToNSString(); NSString *NSstrBody = Body.ToNSString(); NSstrBody = [NSstrBody stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString *NSstrSubject = Subject.ToNSString(); NSstrSubject = [NSstrSubject stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString *message = [NSString stringWithFormat:@"mailto:%@?subject=%@&body=%@",NSstrMailAdress,NSstrSubject,NSstrBody]; //Open E-Mail And add message [[UIApplication sharedApplication] openURL:[NSURL URLWithString:message]]; } Same for Browser, This opens a Webpage in Safari Void UIBrowser( String URL ) { NSString *NSstrURL = URL.ToNSString(); [[UIApplication sharedApplication] openURL:[NSURL URLWithString:NSstrURL]]; } AlertBox, the Messagebox for iOS Void UIAlert( String title, String message, String buttoncaption ) { NSString *NSstrTitle = title.ToNSString(); NSString *NSStrMessage = message.ToNSString(); NSString * NSStrButtonCaption = buttoncaption.ToNSString(); UIAlertView *openURLAlert = [[UIAlertView alloc] initWithTitle:NSstrTitle message:NSStrMessage delegate:nil cancelButtonTitle:NSStrButtonCaption otherButtonTitles:nil]; [openURLAlert show]; [openURLAlert release]; } Simple vibrate Function Void Vibrate() { //Needed refs: Audio Toolbox, Core Audio, OpenAL //In Xcode goto Frameworks And Select Add > Existing Framework AudioServicesPlaySystemSound (kSystemSoundID_Vibrate); } I will add more soon... You can use it as you like |
| ||
Query HTML from a Webpage and return as StringString HtmlQuery( String URL ) { NSString *NSstrURL = URL.ToNSString(); NSURL *url = [NSURL URLWithString:NSstrURL]; NSString *content = [NSString stringWithContentsOfURL:url]; return String( content ); } Debug Log void DebugLog( String DebugMessage) { NSString *logstr = DebugMessage.ToNSString(); NSLog(logstr); } |
| ||
Thanks looks good! That HTMLQuery should work with my MNet as well. ;) |
| ||
Guten morgen :D and a good morning to everybody else :) |
| ||
Save some Data to your Application Preferences (like a highscore or something else) (App Preferences is the iOS App registry) @Xaron ;) Void SaveAppPreferences( String Key, String Value ) { NSString *NSstrKey = Key.ToNSString(); NSString *NSstrValue = Value.ToNSString(); NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; [prefs setObject:NSstrValue forKey:NSstrKey]; } Returns the Value of the Key which is stored in Application Preferences String LoadAppPreferences( String Key ) { NSString *NSstrKey = Key.ToNSString(); NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSString *recValue = [prefs stringForKey:NSstrKey]; Return String( recValue ); } |
| ||
anybody gave this a try? can anybody tell me whats the best way to integrate this into a module? |
| ||
Maybe you can do it like in Diddy. It comes with a monkey file that wrap all the native codes and a native folder where all the native files reside. This way we could use your module easily by just copy it to Monkey's module folder :) Anyway, I'll test these and come back with feedback later! |
| ||
Hi, You'll need to stick all the above code in a 'native' cpp file and add a monkey wrapper, eg: 'file modules/xzess/xzess.monkey Import "native/xzess.cpp" 'contains native cpp code Extern Function UIEMail( address$,subject$,body$ ) Function UIBrowser( URL$ ) Function UIAlert( title$,message$,caption$ ) Function Vibrate() Function HTMLQuery( URL$ ) Function DebugLog( message$ ) Function SaveAppPreferences( key$,value$ ) Function LoadAppPreferences$( key$ ) Then you just Import xzess - on Mac only though! |