现准备开发仓储管理系统的RF(无线射频)应用。采用telnet的方式,即系统实际运行在windows的server上,RF设备通过telnet方式登录到主机,运行主机上的程序。我参考了oracle的仓库管理系统的文档,发现其mobile device的界面很不错,如下述两个链接。
http://img33.photo.163.com/vierycn/5376136/86836739.jpg
http://img33.photo.163.com/vierycn/5376136/86839078.jpg
而我实现的效果只是象dos界面一样,每输入一行后回车,自动跳转到下一个命令行,无法实现向oracle那样的操作界面,其光标可以上下移动。想请问,如何实现此种界面?是和telnet server有关吗?是否windows的telnet server不支持?
http://img33.photo.163.com/vierycn/5376136/86836739.jpg
http://img33.photo.163.com/vierycn/5376136/86839078.jpg
而我实现的效果只是象dos界面一样,每输入一行后回车,自动跳转到下一个命令行,无法实现向oracle那样的操作界面,其光标可以上下移动。想请问,如何实现此种界面?是和telnet server有关吗?是否windows的telnet server不支持?
http://guide.it168.com/files/10991/10991007006001.asp
比如
#27+'[A'是向上移动光标
/* 注意:这些操作符是为VT100终端设计的。 */
/* 在MUD中,它们可能不一定全部都能正常使用。 */
#define BOLD ESC+"[1m" /* 打开粗体 */
#define CLR ESC+"[2J" /* 清屏 */
#define HOME ESC+"[H" /* 发送光标到原处 */
#define REF CLR+HOME /* 清屏和清除光标 */
#define BIGTOP ESC+"#3" /* Dbl height characters, top half */
#define BIGBOT ESC+"#4" /* Dbl height characters, bottem half */
#define SAVEC ESC+"[s" /* Save cursor position */
#define REST ESC+"[u" /* Restore cursor to saved position */
//#define REVINDEX ESC+"M" /* Scroll screen in opposite direction */
#define SINGW ESC+"#5" /* Normal, single-width characters */
#define DBL ESC+"#6" /* Creates double-width characters */
#define FRTOP ESC+"[2;25r" /* 冻结首行 */
#define FRBOT ESC+"[1;24r" /* 冻结底部一行 */
#define UNFR ESC+"[r" /* 首行和底部一行解冻 */
#define BLINK ESC+"[5m" /* 不断闪亮模式 */
#define U ESC+"[4m" /* 下划线模式 */
#define REV ESC+"[7m" /* 打开反白模式 */
#define HIREV ESC+"[1,7m" /* 亮色彩反白显示 */ 控制终端光标向上
self.AThread.Connection.Write(#27+'[A');
反白方式输出1行,效果与你的图片是一样的
self.AThread.Connection.Writeln(#27+'[7m'+'菜单');