Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

D5 TStringGrid.OnGetEditMask Help_ните, спецы!

48K
14 апреля 2009 года
_Felix_
2 / / 14.04.2009
Спецы! Помогите со строкой маски, дабы позволяла вводить только строки, удовлетворяющие real.
Т.е. чтобы StrToFloat(StringGrid1.Cells[i,j]) не ругался.
Не лепится что-то.. :о)
Спасибо!
261
14 апреля 2009 года
ahilles
1.5K / / 03.11.2005
во-первых, можно заюзать функцию TryStrToFloat.
во-вторых, можно обрабатывать событие onKeyPress чтобы разрешать ввод только цифр.

Вот мой обработчик onKeyPress написанный мною не помню сколько лет назад. (пожалуйста не вспоминайте меня плохими словами)
Код:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 if key=#8 then
  begin
   key:=#0;
   StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row]:=copy(StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row],
   1,length(StringGrid1.Cells[StringGrid1.Col,StringGrid1.Row])-1);
  end;

 if key=#13 then
   begin  //n 006
    if StringGrid1.col=StringGrid1.ColCount-1 then

      if (StringGrid1.col=StringGrid1.ColCount-1) and
      (StringGrid1.row=StringGrid1.RowCount-1)
      then
        begin  // n 008
         StringGrid1.col:=0;
         StringGrid1.row:=0;
        end    // k 008
       else
        begin
           StringGrid1.col:=0;
           StringGrid1.row:=StringGrid1.row+1;
        end
      else StringGrid1.col:=StringGrid1.col+1;
   end;    // k 006
 if key=',' then
   begin
    if (length(StringGrid1.Cells[StringGrid1.col,StringGrid1.row])=0)
               or
     (pos(',',StringGrid1.Cells[StringGrid1.col,StringGrid1.row])<>0)
     then
      begin
       key:=#0;
       exit;
      end
      else
       begin
        exit;
       end;
   end;
   if key in ['0'..'9'] then

  else
   key:=#0;
end;
48K
14 апреля 2009 года
_Felix_
2 / / 14.04.2009
Конечно, можно и так... Но! Неэстетично. Есть ведь маски, значит можно..

Все равно, спасибо..
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог