Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19

Расчет периода обслуживания объекта

11.06.2012, 23:09. Показов 2814. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
С++Builder6,база данных Access, технология ADO, использовал ADOTable.
DBGrid имеется таблица, пользователь вводит данные в поле Год и период(в месяцах, 24(=2 года)) программа должна просчитать период обслуживания данного объекта с промежутком в заданное количество месяцев (например пользователь ввел год 2012 и период 72, то запись должна про дублироваться в 2018,2024,2030,2036, и так до 2100 года)
Спасибо заранее)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.06.2012, 23:09
Ответы с готовыми решениями:

Расчет периода разности дат
Здравствуйте! Кто может помочь? Не могу понять где ошибаюсь. Есть на форме четыре поля: ДатаНачала, ДатаОкончания, ТекущаяДата, СтажРаботы....

Расчет периода до определенного момента
Написать программу, которая рассчитывает период времени в днях, часах, минутах, секундах до определенного события. Например, до вашего ДР...

Автоматический расчет среднего значения после указания периода времени
Здравствуйте! Помогите пожалуйста сделать автоматический расчет среднего значения из имеющихся данных, но после указания периода времени,...

32
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19
13.06.2012, 11:55  [ТС]
Студворк — интернет-сервис помощи студентам
почти правильно, нужно дать весь список. только заранее его нужно программно создать.
введём всего одну дату обслуживания и промежуток обслуживания для данного оборудования, после чего программа посчитает и создаст записи о последующих тех. обслуживаниях.
то есть я к примеру ввёл следующие данные:
дата обслуживания: 2012 год
период обслуживания: 24 месяца
и т.д.

программа создаст следующие записи в этой же таблице:
дата обслуживания период обслуживания т.д.
2012 24 -
2014 24 -
2016 24 -
2018 24 -
и т.д. и т.д. и т.д.
(до 2100 года)
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
13.06.2012, 12:28
RRRR,

Цитата Сообщение от RRRR Посмотреть сообщение
нужно дать весь список. только заранее его нужно программно создать.
Хоть убейте не могу понять зачем Вам этот список нужен.

Изначально проблема трактовалась следующим образом:
Цитата Сообщение от RRRR Посмотреть сообщение
а далее нужен такой алгоритм, чтобы программа сама просчитала что это оборудование надо отремонтировать в 2018,2024 и.т.д (например до 2100) и когда пользователь введет в поиске год, например 2018, ему должно в БД отразится все оборудование выпадающее на этот год в ремонт.
Сейчас "когда пользователь введет в поиске год, например 2018, ему должно в БД отразится все оборудование выпадающее на этот год в ремонт" - что еще нужно, понять ну никак не могу


Цитата Сообщение от RRRR Посмотреть сообщение
2012 24 -
2014 24 -
2016 24 -
2018 24 -
и т.д. и т.д. и т.д.
(до 2100 года)
Ну это обычный цикл (даю общий зарос):
C++
1
2
3
4
5
6
7
int period = StrToInt (Edit2->Text) / 12;
for (int currentYear = StrToInt (Edit1->Text); currentYear < 2100; currentYear +=period){
      ADOQuery1->Close();
      ADOQuery1->SQL->Clear();
      ADOQuery1->SQL->Add("INSERT INTO MyTable (Year, Period) VALUES (" + currentYear + ", " + period + ")");
      ADOQuery1->ExecSQL(); 
}
Добавлено через 4 минуты
Цитата Сообщение от The_Immortal Посмотреть сообщение
Ок, давайте конкретно мне задачу, чтобы я понял. Вот с текущим алгоритмом. Что надо узнать сейчас, просчитать? На конкретном примере.
И, кстати, я не дождался от Вас конкретного примера
Вы - пользователь, я - программа. Давайте запросите что-нибудь конкретное. Может быть так я пойму в чем суть.
0
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19
13.06.2012, 13:02  [ТС]
вот этот вариант просчета мне подходит, спасибо)
Теперь нужно что бы данный код выполнялся сразу при добавлении новых данных.
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
13.06.2012, 13:05
RRRR, ниче не буду делать, пока:


Цитата Сообщение от The_Immortal Посмотреть сообщение
И, кстати, я не дождался от Вас конкретного примера
Вы - пользователь, я - программа. Давайте запросите что-нибудь конкретное. Может быть так я пойму в чем суть.
0
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19
14.06.2012, 13:52  [ТС]
даже не знаю, например, я пользователь ввожу 2036 год, необходимо вывести все оборудование попадающее в ремонт на этот год
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
14.06.2012, 13:55
RRRR,
Расчет периода обслуживания объекта
Вот вам результат
Только там 2018 год, Вы не против?
0
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19
14.06.2012, 14:12  [ТС]
Почему там когда вводишь 2018, в таблице указвтель показывает на строку 2015

Добавлено через 9 минут
А это получается, показал предыдущий год
Нужно вот так
при введении новой записи срабатывал ваш последний код)
C++
1
2
3
4
5
6
int period = (взять из столбца период) / 12;
for (int currentYear = ((взять из столбца год); currentYear < 2100; currentYear +=period){
      ADOQuery1->Close();
      ADOQuery1->SQL->Clear();
      ADOQuery1->SQL->Add("INSERT INTO Основное_оборудование_2011 (Год,Наименование_оборудования,Период) VALUES (" + IntToStr(currentYear) + "," + period + ")");
      ADOQuery1->ExecSQL();
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
14.06.2012, 14:15
RRRR,

Цитата Сообщение от RRRR Посмотреть сообщение
Почему там когда вводишь 2018, в таблице указвтель показывает на строку 2015
Хоспади ты Боже мой... 2015 - отправная точка, которую вполне логично там и отображать (или вообще не отображать, а просто как Вы и хотели показывать список наименований). Для этого наименования установлен период 36 месяцев - это 3 года, поэтому 2015 + 3 сколько получается?


Цитата Сообщение от RRRR Посмотреть сообщение
Нужно вот так
при введении новой записи срабатывал ваш последний код)
Это будет ужасная избыточность, которая никакого смысла не имеет.

Или в результате запроса Вам обязательно надо отображать графу "Год", которая тупо будет дублировать то, что Вы ввели в поиске?
0
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19
14.06.2012, 14:27  [ТС]
ну вообще да, хотя сейчас начал потихоньку вникать, а если введешь 2021, он тоже 15 покажет?
0
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
14.06.2012, 14:37
RRRR,
Цитата Сообщение от RRRR Посмотреть сообщение
ну вообще да, хотя сейчас начал потихоньку вникать, а если введешь 2021, он тоже 15 покажет?
Представьте себе, да! Т.е. это второй так скажем "шаг" будет: 2015 + 3 (первый "шаг") + 3 (второй "шаг").

Я на том скрине вообще-то несколько "шагов" отразил. Посмотрите внимательнее: возьмем, к примеру "2010 - 24 (2 года)". Под "2018" попал, т.к. 2010 + 2 + 2 + 2 + 2 = 2018 (4 "шага").

Теперь поняли?
1
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19
14.06.2012, 14:41  [ТС]
дадада все дошло=) и действительно этот метод куда лучше получается=) просто была в голове та идея, вот на ней и зациклился, а теперь понятнои сложностей не каких этот метод, в отличие от дублирования, не вызывает, и перегрузки нет
1
1569 / 505 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
14.06.2012, 14:42
RRRR,

Цитата Сообщение от RRRR Посмотреть сообщение
все дошло=)
Ааааалилуя! Алилуя!!! (соответствующая музыка)
1
3 / 3 / 0
Регистрация: 11.06.2012
Сообщений: 19
14.06.2012, 15:05  [ТС]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.06.2012, 15:05

Excel. Автоматический расчет среднего значения после указания периода времени
Здравствуйте! Помогите пожалуйста сделать автоматический расчет среднего значения из имеющихся данных, но после указания периода времени,...

Расчет простоя компьютеров с учетом разного начала рабочего времени и периода обеда
Всем привет и хорошего дня!) Форумчане, нужна ваша помощь. Не могу ни как сделать расчет простоя компьютеров по нескольким...

Период из запроса разбить на начало периода и конец периода
есть запрос &quot;выбрать оборотыпродажи. период как период из продажиобороты &quot; на выходе имеем поле период которое указывается в...

(Моделирование системы массового обслуживания с параллельными каналами обслуживания с повторами)
Помогите написать программу Рассмотрим систему массового обслуживания с заданным числом устройств обслуживания п= 5, действующих...

Система массового обслуживания с параллельными каналами обслуживания с повторами
Всем доброго времени суток. Прошу вашей помощи в следующей задаче (Нет, не очередной ловец халявы: я уже попытался написать код, но мой...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
Baragoz - DPS/HPS бот для WoW 3.3.5a, многоязычный
AmbA 26.10.2026
Хотите ещё ботов? У меня есть один! А я пока отдохну от него. https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=12062&stc=1&d=1793007952 Инструкция внутри. https:/ / youtu. be/ VpfFZSUDGnQ. . .
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru