Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Простое ограничение данных
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Хочу быть программистом Хочу быть программистом вне форума
Member
 
Сообщений: 139
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.04.2006
По умолчанию Простое ограничение данных - 23.05.2006, 23:29

Здравствуйте,
Вопрос такой, есть таблца с полем организация, как сделать так чтобы при добавлении новой фирмы он разрешал вводить только буквы
Ответить с цитированием
  (#2 (permalink)) Старый
Sikorsky Sikorsky вне форума
Member
 
Сообщений: 171
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 03.04.2004
По умолчанию 24.05.2006, 11:02

Надо программно отслеживать, что вводятся только буквы.
Это можно делать либо во времмя ввода в событии OnChange например, либо после нажатия кнопки провести данные в базу. Либо по событию BeforePoste в DataSet.
Вообщем путей много...
Ответить с цитированием
  (#3 (permalink)) Старый
Хочу быть программистом Хочу быть программистом вне форума
Member
 
Сообщений: 139
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.04.2006
По умолчанию 24.05.2006, 11:12

Вы мне лучше подскажите, как отслеживать, что вводятся буквы?
Ответить с цитированием
  (#4 (permalink)) Старый
imported_Gal_ imported_Gal_ вне форума
Member
 
Сообщений: 131
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.11.2004
По умолчанию 24.05.2006, 11:46

преобразуй в AnsiString, а при возникновении исключ. ситуации сообщай о не верном вводе.
Да событие в котором это производить Я думаю OnExit.
Ответить с цитированием
  (#5 (permalink)) Старый
Хочу быть программистом Хочу быть программистом вне форума
Member
 
Сообщений: 139
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.04.2006
По умолчанию 24.05.2006, 11:55

Цитата:
преобразуй в AnsiString, а при возникновении исключ. ситуации сообщай о не верном вводе
Кого преобразовать в AnsiString?
Я делал так:
Код:
Table1->IndexFieldNames="Organizaciy";
Table1->SetRangeStart();
Table1->FieldByName("Organizaciy")->AsString="А";
Table1->SetRangeEnd();
Table1->FieldByName("Organizaciy")->AsString="Я";
Table1->ApplyRange();
но это мне не помагло
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
imported_Gal_ imported_Gal_ вне форума
Member
 
Сообщений: 131
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.11.2004
По умолчанию 24.05.2006, 16:10

Ты вводищь название организации в какое-то поле
Например
DBedit - по событию OnChange

Код:
int i;
if (TryStrToInt(DBedit->Text.SubString(DBedit->Text.Length(), 1), i))
        {
        ShowMessage("Число однако :)");
        }
else
        {
        ShowMessage("НЕ Число однако :)");
        }
Если ты пишешь на 6-ом
Ответить с цитированием
  (#7 (permalink)) Старый
Хочу быть программистом Хочу быть программистом вне форума
Member
 
Сообщений: 139
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.04.2006
По умолчанию 24.05.2006, 16:16

Большое спасибо!
Ответить с цитированием
  (#8 (permalink)) Старый
SergeyV SergeyV вне форума
Member
 
Сообщений: 542
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.06.2005
По умолчанию 25.05.2006, 09:28

Есть очень хороший способ, элегантный и не требующий большого программного кода. Сразу скажу, что это изобретение Архангельского из его толстой книги. Мне очень понравилось. Создаете обработчик события OnKeyPress на Edit с таким кодом:
Код:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
 Set <char, '0', '9'> Dig;
 if ((Dig << '0' << '1' << '2' << '3' << '4' << '5' << '6' <<
             '7' << '8' << '9' ).Contains(Key))
 Key = 0;
}
//---------------------------------------------------------------------------
И все. Будут вводиться только буквы, а цифры - нет.
Ответить с цитированием
  (#9 (permalink)) Старый
Хочу быть программистом Хочу быть программистом вне форума
Member
 
Сообщений: 139
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.04.2006
По умолчанию 25.05.2006, 09:45

Цитата:
Есть очень хороший способ, элегантный и не требующий большого программного кода. Сразу скажу, что это изобретение Архангельского из его толстой книги. Мне очень понравилось. Создаете обработчик события OnKeyPress на Edit с таким кодом: Код:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
Set <char, '0', '9'> Dig;
if ((Dig << '0' << '1' << '2' << '3' << '4' << '5' << '6' <<
'7' << '8' << '9' ).Contains(Key))
Key = 0;
}
//---------------------------------------------------------------------------
И все. Будут вводиться только буквы, а цифры - нет.
Большое спасибо!
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти простое число: 2n-1=N fwqfeeqfe Lisp 21 12.05.2012 20:40
Простое задание, но справиться не могу. Navokie Delphi 4 19.11.2011 15:32
При простое Windows7 пищит pensal Техническая поддержка 2 29.05.2011 13:00
Простое задание на Matlab marina* Задания за деньги 2 20.05.2011 03:38
Винты спят на простое-помогите vlad59 Накопители 1 02.03.2011 22:02
Простое задание Reg7 Prolog 7 11.12.2010 18:24
Простое решение в выборе платного антивируса. Relel Компьютерная безопасность 19 25.01.2009 15:17
Простое подключение x X x Сетевые подключения 1 09.10.2008 22:45
Есть ли в базе данных ограничение на запись данных vixen MySQL 1 03.03.2007 18:58
Простое форматирование дискеты LOL1k Assembler 2 04.04.2004 14:34
SQL и excel ограничение базы данных Anonymous SQL 0 30.01.2004 11:56



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов