Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка на денежный тип 
:(
    Опции темы
Voldemar2004
  Дата 1.5.2010, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: нет
Всего: 23



Не хочется изобретать велосипед smile Вопрос такой: есть ли в С++ проверка на денежный тип: -12567.56, 4354446.0, 74567.99

Требуется сделать проверку, чтобы пользователь не мог ввести число типа: "=4234.03", "324.005345", "-5345.4е4545"


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
mes
Дата 2.5.2010, 01:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Voldemar2004 @  1.5.2010,  16:31 Найти цитируемый пост)
есть ли в С++ проверка на денежный тип:

в самом С++ нету.. ищете подходящую библиотеку..


--------------------
PM MAIL WWW   Вверх
toxx
Дата 2.5.2010, 02:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



Voldemar2004
может быть чем-то поможет, но у Страуструпа в книге "Язык программирования С++" есть в приложениях глава, как раз про деньги.
надеюсь чем-то вам поможет Приложение Г. Локализация 4.3
PM MAIL   Вверх
borisbn
Дата 2.5.2010, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Если нужно проверять правильность при вводе, т.е. не давать ввести неправильно, то стоит указать графическую библиотеку (MFC, VCL, Qt и т.п.). В компонентах этих библиотек есть возможность задать маску для проверки, чтобы не делать её вручную. Если же речь идёт о проверке после ввода, то проще ввести данные в строку, а затем нехитрыми операциями проверить на правильность


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Voldemar2004
  Дата 2.5.2010, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: нет
Всего: 23



Цитата(borisbn @  2.5.2010,  09:01 Найти цитируемый пост)
стоит указать графическую библиотеку (MFC, VCL, Qt и т.п.)


У меня VCL.

Цитата(borisbn @  2.5.2010,  09:01 Найти цитируемый пост)
Если нужно проверять правильность при вводе

Нужно проверять именно при вводе.

Это сообщение отредактировал(а) Voldemar2004 - 2.5.2010, 10:46


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
borisbn
Дата 2.5.2010, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



В VCL, если не ошибаюсь, есть компонент TMaskEdit, в котором можно задать маску типа #.##


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
Voldemar2004
  Дата 2.5.2010, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: нет
Всего: 23



Цитата(borisbn @  2.5.2010,  13:25 Найти цитируемый пост)
В VCL, если не ошибаюсь, есть компонент TMaskEdit, в котором можно задать маску типа #.##


Дело в том, что я использую объект TDBEdit - в нём отображаются данные, выбранные из БД, вот именно в нём пользователь может выбрать неверное значение. Использовать теперь ещё и TMaskEdit  smile 

А можно использовать конструкцию 
Код

try{} catch() {}
 в блоке, где происходит сохранение введённых данных в TDBEdit !

Типа:

Код


try{
                Query1->Close();
                Query1->SQL->Text = SQL_QUERY.c_str();
                Query1->Active = true;
                Query1->SQL->Clear();
                Query1->SQL->Add( SQL_QUERY.c_str() );
                Query1->ExecSQL();
}
catch(...)
{
Application->MessageBox("...");
}




--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
azesmcar
Дата 2.5.2010, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(Voldemar2004 @  2.5.2010,  18:02 Найти цитируемый пост)
Дело в том, что я использую объект TDBEdit - в нём отображаются данные, выбранные из БД, вот именно в нём пользователь может выбрать неверное значение. Использовать теперь ещё и TMaskEdit  smile 

На компоненте TDBEdit должна быть возможность установки маски, проверить не могу, но я почти что в этом уверен.
PM   Вверх
mes
Дата 2.5.2010, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(Voldemar2004 @  2.5.2010,  17:02 Найти цитируемый пост)
TDBEdit 

http://www.intbook.info/delphi/Glava15/Index8.html


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0511 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.