Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.06.2012, 08:12   #1
chircov090993
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 44
По умолчанию Dbedit и только буквы

Как сделать так, что бы в дбедите можно вводить было только буквы или цифры (не смотря на то, что в базе стоят только буквы, данные делфи сохраняет, но в базе они не появляются). Нашел такое решение проблемы, но при его использовании ни чего не происходит.
Цитата:
if Key in ['a'..'z'] + ['A'..'Z'] then
Key := #0;
chircov090993 вне форума Ответить с цитированием
Старый 07.06.2012, 11:43   #2
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Если в соответствии с тем, что тебе требуется - то вот так:

Код:
if not (Key in ['A'..'z', 'А'..'я', '0'..'9', #8, #32]) then Key := #0;
// #8 - Backspace
// #32 - пробел
Тут - следующее: если введенный символ не является буквой латиницы ('A'..'z'), не является буквой кириллицы ('А'..'я'), не является цифрой, не пробел и не Backspace (тоже отсекается на событии OnKeyPress) - то не пропускаем ввод этого символа (Key := #0). Т.е. - всякие точки, запятые и прочие звездочки не прокатят.

А пример, который ты нашел - это вообще мимо кассы.
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.

Последний раз редактировалось ych_del; 07.06.2012 в 11:49. Причина: Разъяснить подробнее
ych_del вне форума Ответить с цитированием
Старый 07.06.2012, 19:00   #3
chircov090993
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 44
По умолчанию

if not (Key in ['А'..'я', #8]) then Key := #0;
не пишет ни чего

Последний раз редактировалось chircov090993; 07.06.2012 в 19:11.
chircov090993 вне форума Ответить с цитированием
Старый 08.06.2012, 04:42   #4
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Ставь break, смотри - что приходит в Key изначально
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Старый 08.06.2012, 07:34   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
данные делфи сохраняет, но в базе они не появляются
Так может не в Эдите проблема, раз уж данные в БД не сохраняются?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 09.06.2012, 01:24   #6
chircov090993
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 44
По умолчанию

Разобрался, спасибо!) может еще сможете помочь - есть запрос
Цитата:
SELECT T_kniga.bookname, T_kniga.izd, T_kniga.city, T_kniga.bookyear, T_kniga.book_data_add, T_kniga.kol FROM T_kniga
WHERE (T_kniga.book_data_add>'+datetostr( DateTimePicker1.Date)+') And (T_kniga.book_data_add<'+datetostr( DateTimePicker2.Date)+');
Я выбираю дату в datetimepicker и выполняю запрос, происходит ошибка - "Число содержит синтаксическую ошибку в выражении запроса WHERE (T_kniga.book_data_add>'+datetostr( DateTimePicker1.Date)+') And (T_kniga.book_data_add<'+datetostr( DateTimePicker2.Date)+');"
chircov090993 вне форума Ответить с цитированием
Старый 09.06.2012, 07:06   #7
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Не надо так делать. Юзай параметры. На всякий случай - подсказываю:

Код:
Query.SQL.Text := 'select * from TBL where DATE_FIELD > :ParamDate';
Query.ParamByName('ParamDate').AsDateTime := DateTimePicker1.Date;
Query.Open;
Вот тут можно чуть подробнее: http://www.ych-group.ru/50/974/ (осторожно, присутствует чуть-чуть нецензурщины).

Дальше - хелпы и гугл в помощь.
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод - сделать так, чтобы в Edit можно было вводить только цифры, или на оборот, только буквы BastAngel Общие вопросы Delphi 7 27.04.2012 01:15
задача на Си,Ввести строку, в которую могут входить только цифры и буквы. vinternete Помощь студентам 0 11.07.2011 12:35
Оставить в переменной только латинские буквы Delphinchik PHP 2 31.03.2011 14:41
Переписать в новый файл все слова, которые содержат только буквы латин.алф. volchica Паскаль, Turbo Pascal, PascalABC.NET 3 18.02.2011 16:22
только русские буквы Dgon777 Microsoft Office Access 6 11.11.2010 22:13