Dear All, While doing the console application with Ruby, met below questions, please help, thanks in advance, 1. How to catch the Keyboard event, such as, how about the [TAB] key pressed, [CTRL] key and so on; 2. How to backdisplay the string? Such as, when you type [cd] command at the windows command mode, and press [TAB] it will help to complete the directory name, such as [abc] directory, once you press again, it will delete the [abc] directory and display another one, such as [efg]. I try search from the google, but no result, please help thanks. Regards, Marble IMPORTANT NOTICE Email from OOCL is confidential and may be legally privileged. If it is not intended for you, please delete it immediately unread. The internet cannot guarantee that this communication is free of viruses, interception or interference and anyone who communicates with us by email is taken to accept the risks in doing so. Without limitation, OOCL and its affiliates accept no liability whatsoever and howsoever arising in connection with the use of this email. Under no circumstances shall this email constitute a binding agreement to carry or for provision of carriage services by OOCL, which is subject to the availability of carrier's equipment and vessels and the terms and conditions of OOCL's standard bill of lading which is also available at http://www.oocl.com.
on 2007-07-02 07:18
on 2007-07-03 01:36
On 7/2/07, firstname.lastname@example.org <email@example.com> wrote: > 2. How to backdisplay the string? Such as, when you type [cd] > command at the windows command mode, and press [TAB] it will help to > complete the directory name, such as [abc] directory, once you press > again, it will delete the [abc] directory and display another one, such > as [efg]. > > I try search from the google, but no result, please help thanks. 1. TAB is character #9, Ctrl+A is (IIRC) 0, Ctrl+B 1, etc. If you want to catch all the combinations, you need to use special api, i.e. getch from msvcrt, or curses. 2. BS (backspace, Ctrl+H) moves cursor one char left. CR (carriege return, 13) moves cursor to the start of the line (you need to overwrite everything you have written before, and it's possible that a screen will scroll up, and LF (line feed) will be inserted by ruby) 3. have a look at readline library, it may do what you are trying to achieve. J.