/[LeafOK_CVS]/lbbs/src/screen.c
ViewVC logotype

Diff of /lbbs/src/screen.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.11 by sysadm, Sun Mar 20 17:37:14 2005 UTC Revision 1.15 by sysadm, Fri Apr 8 11:11:11 2005 UTC
# Line 78  press_any_key () Line 78  press_any_key ()
78    prints ("                           \033[1;33m按任意键继续...\033[0;37m");    prints ("                           \033[1;33m按任意键继续...\033[0;37m");
79    iflush ();    iflush ();
80    
81    return igetch ();    return igetch_t (60);
82  }  }
83    
84  void  void
85  set_input_echo (int echo)  set_input_echo (int echo)
86  {  {
   char temp[256];  
   
87    if (echo)    if (echo)
88      {      {
89        outc ('\x83');            // ASCII code 131        outc ('\x83');            // ASCII code 131
# Line 96  set_input_echo (int echo) Line 94  set_input_echo (int echo)
94  //    outc ('\x85'); // ASCII code 133  //    outc ('\x85'); // ASCII code 133
95        prints ("\xff\xfb\x01\xff\xfb\x03");        prints ("\xff\xfb\x01\xff\xfb\x03");
96        iflush ();        iflush ();
97        igetch ();        igetch_t (60);
98        igetch ();        igetch_t (60);
99      }      }
100  }  }
101    
# Line 109  str_input (char *buffer, int buffer_leng Line 107  str_input (char *buffer, int buffer_leng
107    
108    memset (buffer, '\0', buffer_length);    memset (buffer, '\0', buffer_length);
109    
110    while (c = igetch ())    while (c = igetch_t (60))
111      {      {
112        if (c == CR)        if (c == KEY_NULL || c == KEY_TIMEOUT || c == CR)
113          break;          break;
114        if (c == LF)        if (c == LF)
115          continue;          continue;
# Line 163  str_input (char *buffer, int buffer_leng Line 161  str_input (char *buffer, int buffer_leng
161  }  }
162    
163  int  int
164    get_data (int row, int col, char *prompt, char *buffer, int buffer_length, int echo_mode)
165    {
166      int len;
167    
168      moveto (row, col);
169      iflush ();
170      prints (prompt);
171      prints (buffer);
172      iflush ();
173    
174      len = str_input (buffer, buffer_length, echo_mode);
175      
176      return len;
177    }
178    
179    int
180  display_file (const char *filename)  display_file (const char *filename)
181  {  {
182    char buffer[260];    char buffer[260];
# Line 233  display_file_ex (const char *filename, i Line 247  display_file_ex (const char *filename, i
247                input_ok = 0;                input_ok = 0;
248                while (!input_ok)                while (!input_ok)
249                  {                  {
250                    ch = igetch ();                    ch = igetch_t (MAX_DELAY_TIME);
251                    input_ok = 1;                    input_ok = 1;
252                    switch (ch)                    switch (ch)
253                      {                      {
# Line 279  display_file_ex (const char *filename, i Line 293  display_file_ex (const char *filename, i
293                          }                          }
294                        break;                        break;
295                      case KEY_RIGHT:                      case KEY_RIGHT:
296                      case KEY_PGDOWN:                      case KEY_PGDN:
297                      case Ctrl ('F'):                      case Ctrl ('F'):
298                      case KEY_SPACE:                      case KEY_SPACE:
299                        c_line_begin += (screen_lines - begin_line - 1);                        c_line_begin += (screen_lines - begin_line - 1);
# Line 294  display_file_ex (const char *filename, i Line 308  display_file_ex (const char *filename, i
308                              goto exit;                              goto exit;
309                          }                          }
310                        break;                        break;
311                        case KEY_NULL:
312                        case KEY_TIMEOUT:
313                      case KEY_LEFT:                      case KEY_LEFT:
314                      case 'q':                      case 'q':
315                      case 'Q':                      case 'Q':


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1