/[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.12 by sysadm, Mon Mar 21 17:08:21 2005 UTC Revision 1.17 by sysadm, Fri May 6 16:37:59 2005 UTC
# Line 62  clrline (int line_begin, int line_end) Line 62  clrline (int line_begin, int line_end)
62  }  }
63    
64  void  void
65    clrtobot (int line_begin)
66    {
67      clrline (line_begin, screen_lines);
68      moveto (line_begin, 0);
69    }
70    
71    void
72  clearscr ()  clearscr ()
73  {  {
74    prints ("\33[2J");    prints ("\33[2J");
# Line 78  press_any_key () Line 85  press_any_key ()
85    prints ("                           \033[1;33m按任意键继续...\033[0;37m");    prints ("                           \033[1;33m按任意键继续...\033[0;37m");
86    iflush ();    iflush ();
87    
88    return igetch ();    return igetch_t (60);
89  }  }
90    
91  void  void
92  set_input_echo (int echo)  set_input_echo (int echo)
93  {  {
   char temp[256];  
   
94    if (echo)    if (echo)
95      {      {
96        outc ('\x83');            // ASCII code 131        outc ('\x83');            // ASCII code 131
# Line 96  set_input_echo (int echo) Line 101  set_input_echo (int echo)
101  //    outc ('\x85'); // ASCII code 133  //    outc ('\x85'); // ASCII code 133
102        prints ("\xff\xfb\x01\xff\xfb\x03");        prints ("\xff\xfb\x01\xff\xfb\x03");
103        iflush ();        iflush ();
104        igetch ();        igetch_t (60);
105        igetch ();        igetch_t (60);
106      }      }
107  }  }
108    
# Line 109  str_input (char *buffer, int buffer_leng Line 114  str_input (char *buffer, int buffer_leng
114    
115    memset (buffer, '\0', buffer_length);    memset (buffer, '\0', buffer_length);
116    
117    while (c = igetch ())    while (c = igetch_t (60))
118      {      {
119        if (c == CR)        if (c == KEY_NULL || c == KEY_TIMEOUT || c == CR)
120          break;          break;
121        if (c == LF)        if (c == LF)
122          continue;          continue;
# Line 143  str_input (char *buffer, int buffer_leng Line 148  str_input (char *buffer, int buffer_leng
148        buffer[offset] = '\0';        buffer[offset] = '\0';
149        switch (echo_mode)        switch (echo_mode)
150          {          {
151          case 0:          case DOECHO:
152            outc ((char) c);            outc ((char) c);
153            break;            break;
154          case 1:          case NOECHO:
155            outc ('*');            outc ('*');
156            break;            break;
157          }          }
# Line 163  str_input (char *buffer, int buffer_leng Line 168  str_input (char *buffer, int buffer_leng
168  }  }
169    
170  int  int
171    get_data (int row, int col, char *prompt, char *buffer, int buffer_length, int echo_mode)
172    {
173      int len;
174    
175      moveto (row, col);
176      iflush ();
177      prints (prompt);
178      prints (buffer);
179      iflush ();
180    
181      len = str_input (buffer, buffer_length, echo_mode);
182      
183      return len;
184    }
185    
186    int
187  display_file (const char *filename)  display_file (const char *filename)
188  {  {
189    char buffer[260];    char buffer[260];
# Line 233  display_file_ex (const char *filename, i Line 254  display_file_ex (const char *filename, i
254                input_ok = 0;                input_ok = 0;
255                while (!input_ok)                while (!input_ok)
256                  {                  {
257                    ch = igetch ();                    ch = igetch_t (MAX_DELAY_TIME);
258                    input_ok = 1;                    input_ok = 1;
259                    switch (ch)                    switch (ch)
260                      {                      {
# Line 294  display_file_ex (const char *filename, i Line 315  display_file_ex (const char *filename, i
315                              goto exit;                              goto exit;
316                          }                          }
317                        break;                        break;
318                        case KEY_NULL:
319                        case KEY_TIMEOUT:
320                      case KEY_LEFT:                      case KEY_LEFT:
321                      case 'q':                      case 'q':
322                      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