|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.03.2013, 05:21 | #1 |
Пользователь
Регистрация: 12.04.2011
Сообщений: 74
|
прописать условие срока годности
Доброго времени суток.
Программа типа склад с добавлением товара на склад. У товара есть срок годности. Не могу прописать такое условие чтоб если товару осталось меньше 30 дней срок годности то выдавало сообщение об этом. Просто не знаю как это приписать вроде если прописывать от срока окончания годности отнять срок изготовления, то это как то не грамотно по мойму будет. Да и плюс у меня в структуре сроки годности типа AntiString. А перевести в int тоже нельзя потому что в другом месте тогда программа не простит такой тип. Можно наверно как то в самом условие менять типы но не знаю как... Да и как вообще грамтно прописать условие не знаю подскажите плиз. Код:
Код:
Последний раз редактировалось Stilet; 06.03.2013 в 12:37. |
06.03.2013, 12:30 | #2 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Начнём с того, что из AnsiString можно запросто получить TDateTime.
Код:
Последний раз редактировалось FataLL; 06.03.2013 в 12:39. |
11.03.2013, 07:25 | #3 |
Пользователь
Регистрация: 12.04.2011
Сообщений: 74
|
нет не стало я так понимаю типы данных все равно не подходят условие стало таким:
TDateTime dt = TDateTime( m[C].dateok ); TDateTime dd = TDateTime( m[C].date); if ( dt-dd<30) { ShowMessage( " срок годности меньше 30 дней" ); return; } выдает ошибку в условии такую: E2015 Ambiguity between '_fastcall operator TDateTime:ouble() const' and '_fastcall operator TDateTime::int() const' |
11.03.2013, 10:13 | #4 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Компилятор не знает, к какому типу привести даты к целому или вещественному. Поэтому, нормальные люди юзают
Код:
Код:
|
11.03.2013, 17:44 | #5 |
Пользователь
Регистрация: 12.04.2011
Сообщений: 74
|
большое спасибо))) хоть условие теперь корректное есть)))теперь надо сделать чтоб когда в базе уже есть товары у которых срок годности стал меньше 30 дней он подсвечивал их цветом.
При загрузке у меня из файла информация загружается в компонент комбобокс. Но сравнение тут будет идти немного другое... Есть начальная дата изготовления. Есть дата окончания срока годности. Как определить текущую дату? как в программу можно подавать это значение при ее загрузке? Ведь в таком случае будет сравниваться так что от даты окончания срока годности будем отнимать текущую дату и если ее значение меньше 30 дней то выдавать об этом предупреждение. |
11.03.2013, 22:08 | #6 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
Код:
|
12.03.2013, 07:10 | #7 |
Пользователь
Регистрация: 12.04.2011
Сообщений: 74
|
вернемся к условию 3 дней при вводе нового товара.
начал проверять выявил ошибку. TDateTime dt = TDateTime( m[C].dateok ); TDateTime dd = TDateTime( m[C].date); if( (double) (dt - dd) < 30.0 ) { ShowMessage( " срок годности меньше 30 дней" ); return; допустим в вожу имя и даты дата изготовления 11.02.2011 дата окончания срока годности 15.01.2013. он не пропускает выдает что срок годности остался меньше 30 дней. Хотя если 15.01.2013-11.02.2011 то будет явно намного больше 30 дней. Как тут можно поправить данный случай? |
12.03.2013, 10:17 | #8 |
Форумчанин
Регистрация: 11.02.2013
Сообщений: 155
|
TDateTime для dd и dt совподают у вас, TDateTime и TDateTime1 должно быть у вас, TDateTime не может принимать 2 даты одновременно.
|
12.03.2013, 10:18 | #9 |
Форумчанин
Регистрация: 29.01.2013
Сообщений: 319
|
1) Чему равно m[C].dateok?
2) Чему равно m[C].date? 3) Чему равно (double) (dt - dd)? Отладка рулит. TDateTime - это какбэ тип данных, дружище. Ты же переменные не описываешь как int i, int1 n? Или описываешь? Последний раз редактировалось Stilet; 24.03.2013 в 13:36. |
12.03.2013, 11:10 | #10 |
Форумчанин
Регистрация: 11.02.2013
Сообщений: 155
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Учет срока годности товара | Slavatron1984 | Microsoft Office Excel | 7 | 01.04.2014 15:38 |
прописать дополнительное условие (if, then,else) delphi | tarasov_88 | Помощь студентам | 5 | 11.09.2012 20:33 |
Как прописать условие? | bwitcher | Помощь студентам | 7 | 18.12.2010 01:02 |
Вычисление срока | Neymexa | Microsoft Office Excel | 6 | 15.02.2010 21:50 |
Запретить изменения Книги после истечения месячного срока | komar73 | Microsoft Office Excel | 0 | 31.03.2009 11:01 |