Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
2 / 2 / 0
Регистрация: 14.01.2019
Сообщений: 54
1
Builder 6

Сдвиг даты с праздника до рабочего дня в цикле

19.05.2020, 00:01. Просмотров 204. Ответов 0

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
bool rab_dn;
for (int i=0; i<razniza+1 ; i++) {
ed1_test=IncDay(ed1.FormatString("dd.mm.yyyy"),i);
int u=ed1_test.DayOfWeek();
 
for (int a = 0; a < RTD->Count; a++) {
if (StrToDate(RTD->Strings[a]).Val==ed1_test.Val)
{rab_dn=false; break;  }
else rab_dn=true;}
 
if ((StrToInt(ed1_test.FormatString("m"))>StrToInt(ed1.FormatString("m")) ||
StrToInt(ed1_test.FormatString("m"))<StrToInt(ed1.FormatString("m")))     &&
StrToInt(ed1_test.FormatString("dd"))==StrToInt(ed1.FormatString("dd")))
{
int y=StrToInt(ed1_test.FormatString("m"))-StrToInt(ed1.FormatString("m"));
if (y%3==0) {
 
if (u==7) {
eto3=IncDay(ed1_test,-1);
 
for (int r = 0; r < RTD->Count; r++) {
 
if (StrToDate(RTD->Strings[r]).Val==eto3.Val)
{ rab_dn=false ;   r++; }
else eto3=IncDay(ed1_test,-1); rab_dn=true; }
if (rab_dn==true)
{
ShowMessage( "1");
StringGrid1->Cells[1][StringGrid1->RowCount-4]="TO-1";
StringGrid1->Cells[0][StringGrid1->RowCount-4]=eto3.FormatString("dd.mm.yyyy");
StringGrid1->RowCount+=2;
}}}}
помогите пожалуйста , проверяю дату сначала ли есть она в списке праздников или нет если нет, то
проверяю дату на день недели если воскресение смещаю на два дня назад если суббота то на один день назад
дата выпадает на праздник, вопрос как осуществить сдвиг даты до рабочего дня.

Добавлено через 1 час 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
TDateTime   ed1_test=ed1_test.FormatString("31.07.2020");
 ShowMessage(ed1_test);
TStringList *df=new TStringList();
df->LoadFromFile("g:\\1\\Win32\\Debug\\calendar.txt");
for (int a = df->Count-1; a > 0; a--) {
if (StrToDate(df->Strings[a]).Val==ed1_test.Val)
{ShowMessage("нашел");
 ed1_test=IncDay(ed1_test,-1);
 ShowMessage("сместил");
 ShowMessage(ed1_test);
   }
else {
 
}}
return;
}
вроде как решил

Добавлено через 43 минуты
C++
1
2
3
4
ShowMessage( "1");
StringGrid1->Cells[1][StringGrid1->RowCount-4]="TO-1";
StringGrid1->Cells[0][StringGrid1->RowCount-4]=eto3.FormatString("dd.mm.yyyy");
StringGrid1->RowCount+=2;
подскажите пожалуйста куда нужно вставить эту часть кода чтоб он выполнился один раз и дальше выполнялся другой цикл
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2020, 00:01
Ответы с готовыми решениями:

Собственная функция расчета рабочего дня через N дней от начальной даты
Здравствуйте. В собственной конфигурации потребовалось реализовать аналог функции Excel РАБДЕНЬ -...

Таймер рабочего дня
Добрый день) Подскажите пожалуйста как реализовать такой таймер: В 08:00 таймер автоматически...

Создать БД планирования рабочего дня
1. БД должна состоять из4-5 таблиц. В таблицах должны быть реализованы отношения один к одному,...

Продолжительность рабочего дня в Excel
Привет всем! Помогите пожалуйста решить в Excel следующие задачи: 1. В столбце...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.05.2020, 00:01

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Определение времени окончания рабочего дня
Доброго времени суток! Необходимо определить время окончания рабочего дня(в часах и минутах), если...

Табель работника: начало рабочего дня и его окончание
Здравствуйте , нужна помощь. Собственно нужно помочь с программой , которая по вводу id будет...

Смоделировать работу склада в течение одного рабочего дня
Помогите смоделировать задачку На склад готовой продукции предприятия каждые мин...

Смоделировать работу магазина в течение 12-часового рабочего дня
В магазине расположены три отдела и общая касса. Покупатели заходят в мага-зин каждые 5 2 мин и...

Табель работника начало рабочего дня и его окончание
Здравствуйте , нужна помощь. Собственно нужно помочь с программой , которая по вводу id будет...

Длительность рабочего дня на основе данных автоматической фиксации
Здравствуйте все! Руководство озадачило реализовать в цехе такую функцию как автоматическое ведение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.