- This wiki is out of date, use the continuation of this wiki instead
Tutorial:Textinput
From FenixWiki
This isn't much of a tutorial, rather some example code, but anyway. This code shows that text input in Fenix is not hard at all: with just a little piece of code, much can be achieved.
Note that this is code for Fenix versions 0.93 and up. Should the code work for other versions as well, be so kind to note this here.
[edit] Example code
Program texts; Declare Function String textinput(); End Begin set_fps(60,0); say("You typed: '" + textinput() + "'"); Repeat frame; Until(key(_esc)); End Function String textinput() Private String str; int t; int t2; byte last_ascii; int txtid; Begin // show what you type in top left corner txtid = write_string(0,0,0,0,&str); // clean the string str = ""; // get input from the user // pressing enter will end the loop Loop if(ascii!=0&&last_ascii==ascii) // check if a key is pressed and if the same key // was pressed last frame if(t==0||t>fps/4) // check if the key was just pressed or it has been pressed // for 0.25 seconds if(t==0||t2>fps/30) // check if the key was just pressed or it has been pressed // for the last 0.03 seconds t2=0; switch(ascii) // handle input case 8: //backspace str = substr(str,0,len(str)-1); end case 13: //enter break; end default: //addkey str+=chr(ascii); end end end t2++; end t++; else t = t2 = 0; // reset end last_ascii = ascii; frame; End // delete the text used delete_text(txtid); // return the typed string return str; End
Used in example: set_fps(), say(), write_string(), substr(), chr(), declare, function, switch, ascii, fps
You'll find a nice ASCII table here.