А чтож латиницы-то в условии оператора нету, вдруг потребуется, и кстати, букву ё тоже отдельно обрабатывать нужно, в наборе 'а'..'я' ей почему-то нехватило места
Код:
// Обработка столбца для ввода текстовых значений
if (StringGrid1.Col=0) and
(not (key in ['а'..'я','А'..'Я','ё','Ё',' ','-',#8])) then key:=#0;