Станционный диспетчер 
 
Группа: Участник 
Сообщений: 86 
  
  
 | 
 Есть такой компонент в Builder-е, под названием CSpinEdit (на закладке Samples в палитре компонентов).
  
Задался я вот вопросом, а чего же это он так глючит?.. То исключение выкинет, то пропустит символы запрещенные, а то и вообще писать в поле ввода дает, когда свойство EditorEnabled в false стоит...
  
Вот на какой кусок кода я наткнулся:
  
| CODE  |   
bool __fastcall TCSpinEdit::IsValidChar(Char Key) 
{ 
 bool Result; 
 if(((Key == DecimalSeparator)       || 
     (Key == '+')                    || 
     (Key == '-')                    || 
    ((Key >= '0') && (Key <= '9')))  || 
    ((Key < 0x32) && (Key != Char(VK_RETURN)))) 
  Result = True;
  
 if (!(FEditorEnabled) && 
     Result && 
     ((Key >= 0x32) || 
      (Key == Char(VK_BACK)) || 
      (Key == Char(VK_DELETE)))) 
   Result = False; 
 return Result; 
} 
 |  
 
  
А теперь — внимание! — с какого боку тут "0x32" ?! Может, все-таки, планировалось тут "0x20" (==32 dec) ?
  
Либо я чего-то не понимаю, либо тут ... мде... может и еще какие неправильности есть, хз. 
 
Для справки: Borland C++ Builder 6 Update 4 (Build 10.166)
  
Файл взят из Borland\CBuilder6\Examples\Controls\Source\cspin.cpp 
 |