Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как слепить строку в зависимости от даты? 
V
    Опции темы
kulikoff
Дата 22.8.2006, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Такая ситуация: мне необходимо, чтоб в зависимости от введенной пользователем даты (объект sDateTime) формировалось число по следующему алгоритму:
1. Если дата находится между временными рамками '21.XX.ZZZZ' и '20.YY.ZZZZ' (т.е., скажем между 21.07.2006 и 20.08.2006) включительно, то мне необходимо, чтоб переменной а типа integer было присвоено значение а=200607
2. Если дата больше '20.YY.ZZZZ' (т.е., например 24.08.2006), то а=200608
Ну и, чтоб привязка стояла к текущей системной дате... 
Помогите реализовать это или оправьте, где можно почитать, про то, как с этим быть

PM MAIL WWW ICQ Skype   Вверх
Albinos_x
Дата 22.8.2006, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



к примеру:
Код

var
   D1,D2,D:TDate;
   A:Integer;
...

D1:=StrToDate('21.07.2006');
D2:=StrToDate('20.08.2006');
D:=Date;
if (D>=D1) and (D<=D2) then
   A:=200607
   else
   if D>D2 then
      A:=200608;



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
kulikoff
Дата 22.8.2006, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 а как написать, если наступит следующий месяц? Т.е. вводимая дата должна будет проверяться в условиях, где месяц изменится на +1 и как написать то, что переменная А должна стать равной также на +1? И переход в следующий год.... У меня с этим основная загвоздка....
PM MAIL WWW ICQ Skype   Вверх
Matematik
Дата 22.8.2006, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

Репутация: 17
Всего: 50



год*100+месяц ?
PM MAIL WWW ICQ   Вверх
Albinos_x
Дата 22.8.2006, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата(kulikoff @  22.8.2006,  21:17 Найти цитируемый пост)
а как написать, если наступит следующий месяц?

Приблизительно так:
Код

var    
   D1,D2,D:TDate;    
   A:Integer;
   Dey,Mon,Yar:Integer;
   Dey1,Mon1,Yar1:Integer;    
...    
D1:=StrToDate('21.07.2006');    
D2:=StrToDate('20.08.2006');    
D:=Date;    
if (D>=D1) and (D<=D2) then    
   A:=200607    
   else    
   begin
   if D>D2 then    
      A:=200608
      else         // если текущая дата больше установленной
      begin
      DecodeDate(D,Dey,Mon,Yar);
      A:=(Yar*100)+Mon;
      end;
   end;


хотя в приведённых условия проще сделать так:
Код

var    
   D:TDate;    
   A:Integer;
....
D:=Date;
DecodeDate(D,Dey,Mon,Yar);
A:=(Yar*100)+Mon;


Это сообщение отредактировал(а) Albinos_x - 22.8.2006, 21:44


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
kulikoff
Дата 23.8.2006, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо большое!
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

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


 




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


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

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