- 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.
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.