проверять символы до ввода - подскажите как в случае с датой? (я лично не догнал: там может быть все что угодно в зависимости от региональных настроек, которые пользователь волен крутить как левой задней пятке хочется)
на винграде был еще вариант с обработкой на датасете - однако проблема в гриде: пробуем в приложенный проект вписать обработчик onbeforepost у датасета (memdataset там):
- Код: Выделить всё
procedure TForm1.MemDataset1BeforePost(DataSet: TDataSet);
var d:TDateTime;
begin
if DBGrid1.SelectedField.FieldName ='MemDataset1Field2' then
begin
try
ShowMessage(DBGrid1.SelectedField.Value);
d:=DBGrid1.SelectedField.Value;
except
DBGrid1.SelectedField.Value:=now;
end;
end;
end;
обратите внимание - в нормальной ситуации выводится сообщение, производится вставка, если вместо даты "бред" - должно быть сообщение "бред" а потом исключение, обработанное нами. таки нет, поимеем исключение. у грида приемлимых обработчиков не заметил (может плохо смотрю?). какие свойства грида вы имели в виду?
Добавлено спустя 1 минуту 30 секунд:и чсх в первую колонку почему-то ввести "бред" не получается...
Добавлено спустя 18 часов 50 минут 8 секунд:на базовом форуме ответили:
http://lazarus.freepascal.org/index.php ... 443.0.html