Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
1

Увеличить диапазон календаря.

17.12.2015, 07:43. Показов 1335. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Уважаемые программисты. Прошу помощи, для гуру, я думаю это сущий пустяк. Есть программа для создания рекламных блоков. Она самописная. В программе календарь ограничен 2010-ым годом. Каким образом можно добавить другие годы? С 2010 года обходились переводом даты на год схожий в период от 2000 по 2010. А 2016 год не совпадает ни с одним. Программку прикрепил.
Этот самый календарь, который нужно продлить находится:
1. Запускаем bizz.exe
2. Заходим "Ролики"
3. В параметрах ролика строка "Год"
Вот в этой строке нужно добавить годы.
Ребят помогите, ПОЖАЛУЙСТА, я думаю это элементарно для знающих, я же в программировании полный ноль.

Расписание.rar
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2015, 07:43
Ответы с готовыми решениями:

Стиль для календаря. Увеличить числа
Всем привет! Не могу справиться со стилями для календаря (mvvm), просто добавляю <Calendar ...

Как увеличить диапазон rand()?
нужно заполнить оочень большой массив оочень большими числами. нигде не нашел ответа на этот...

Как увеличить диапазон возразщаемых программой значений?
Условие задачи: С клавиатуры вводится основание системы счисления n (n меньше либо равно 10) и два...

Как на листе увеличить диапазон строк и колонок для задачи макроса
Не могу разобраться. Есть файл с макросом, который автоматически сортирует информацию которая...

14
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
17.12.2015, 10:13 2
попробуйте этот exe файл

у вас файл ro.pas битый - в нем половины кода нет
так же не хватает модуля VCF1

я закоментировал все что ненужно и получился вот такой файл
Вложения
Тип файла: 7z bizz.7z (652.6 Кб, 2 просмотров)
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
17.12.2015, 11:29  [ТС] 3
Спасибо большое, за то что откликнулся!!! За битые файлы, честно, не в курсе. На модуль при работе с программой вроде ругани нет. Так что, наверное, не критично.
Года вижу появились, но когда выбираю скажем дату 2 января 2016 года, жму добавить, в правом календаре появляется почему то 2001 год и указывает на 1 число.
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
17.12.2015, 11:41 4
Цитата Сообщение от Wail5 Посмотреть сообщение
На модуль при работе с программой вроде ругани нет.
на этот модуль ругается при компиляции
если в этом модуле есть какие-то функции - они работать не будут

Цитата Сообщение от Wail5 Посмотреть сообщение
Года вижу появились
что вы просили

Цитата Сообщение от Wail5 Посмотреть сообщение
но когда выбираю скажем дату 2 января 2016 года, жму добавить, в правом календаре появляется почему то 2001 год и указывает на 1 число.
а это вы не просили

как вы вообще выбираете именно ВТОРОЕ января? у вас там только тип\месяц\год
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
17.12.2015, 12:02  [ТС] 5
Ну смотрите, вбиваю название допустим Ролик1, выставляю месяц январь, год 2016, делаю добавить. Ролик с этим названием падает в верхний список. Нажимаю в верхнем списке на этот ролик и снизу в правом календаре, вместо того чтобы открылся январь 2016 года, открывается январь 2001 года. Даже если я руками выставлю январь 2016 года, на конкретные числа расставлю в какое время ролик пойдет, если повторно нажать на этот ролик, то снова открывается январь 2001 года. Т.е. нет привязки правого календаря к году указанному, там где Вы добавили 2016 и 2017 годы.
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
17.12.2015, 12:14 6
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

очень странная программа

начальный код рассчитывался так (Combobox3 - это год)
Delphi
1
2
3
decodeDate(MonthCalendar1.Date,e,me,ke);
if e>101 then Combobox3.ItemIndex:=e-2001
else Combobox3.ItemIndex:=e;
а в календарь вообще писало вот так (edit4 это вообще ДЛИТЕЛЬНОСТЬ ролика)
Delphi
1
2
3
4
5
6
7
8
9
10
str(mas_rol[i].time,s);
edit4.Text:=s; // 
edit5.Text:=mas_rol[i].owner;
combobox2.ItemIndex:=mas_rol[i].month;
combobox3.ItemIndex:=mas_rol[i].year;
 
str(mas_rol[i].month+1,s1);
decodedate(date,e,ie,ke);
str(mas_rol[i].year+2000,s);
Monthcalendar1.Date:=strtodate('1.'+s1+'.'+s);
я заменил в последней строке S на Combobox3.Text (тут содержится год)
Вложения
Тип файла: 7z bizz.7z (652.7 Кб, 3 просмотров)
1
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
17.12.2015, 12:32  [ТС] 7
Спасибо огромное!!! Вроде бы все работает как нужно. Низкий поклон. Огромное, человеческое спасибо!!!!
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
17.12.2015, 12:34 8
Wail5, захотите переписать (ну или после 2017 ))) ) - обращайтесь
0
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
17.12.2015, 12:44  [ТС] 9
Спасибо
0
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
30.12.2015, 09:25  [ТС] 10
Дружище, уважаемый qwertehok, бедаааа... Забили ролики, на конкретные числа, а расписание формироваться не хочет... Просто пустое расписание получается.
Объясню подробнее:
Запускаем bizz.exe, открываем Ролики, там трафик забил необходимые, допустим на 1 января должны встать Золото России 82, Аляска 48. Закрываем окно Ролики, в оставшемся окне вбиваем дату 01.01.2016 -> Получить расписание. Должно сформироваться подобно тому, как в файле empty01.xls в корне папки. А формируется пустое...
Вложения
Тип файла: rar Расписание.rar (1.28 Мб, 3 просмотров)
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
30.12.2015, 09:55 11
Wail5, аааааааааааааааааааааааааааааааааааааааааа
кто это писал? я лично его убью только за одно goto suda

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
for i:=1 to 29 do begin
suda:
  if (kols<number_setka)and
  (
  ((mas_bl[i+popr-1,y].hh_s*60+mas_bl[i+popr-1,y].mm_s<mas_set[kols+1].hh_s*60+mas_set[kols+1].mm_s)
    and
  (mas_bl[i+popr,y].hh_s*60+mas_bl[i+popr,y].mm_s>mas_set[kols+1].hh_s*60+mas_set[kols+1].mm_s))
  or
  ((i=1)
    and
  (mas_bl[i+popr+1,y].hh_s*60+mas_bl[i+popr+1,y].mm_s>mas_set[kols+1].hh_s*60+mas_set[kols+1].mm_s))
  )
   then begin
я не обещаю что разберусь с этим. тут проще все переписать.
0
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
30.12.2015, 10:13  [ТС] 12
Ну для меня слова "проще все переписать", вообще приводят в "тихий ужас" ))))
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
30.12.2015, 10:35 13
Wail5, у меня не получается получить эксельку со временем роликов
я добавляю два ролика по 2 минуты на 30,12,2015 на форме Ролики
в главном окне дата стоит 30,12,2015 - я нажимаю расписание, экселька открывается, программы есть, но моих роликов нет

Цитата Сообщение от Wail5 Посмотреть сообщение
вообще приводят в "тихий ужас"
у вас же там данные не хранятся, что вам переживать?
для того что бы исправить ЭТО нужно понять разработчика, а человека который ГОД получает расчетным путем я не могу понять
плюс хранение данных в dat файлах - так делали на лабораторных по программированию
0
0 / 0 / 0
Регистрация: 17.12.2015
Сообщений: 8
30.12.2015, 10:42  [ТС] 14
Да данные даже если бы и хранились, было бы пофиг. Весь смысл в самом виде расписания, которое делала эта "прога". Да, так и получается пустая экселька.. Что-то изменилось, с увеличением диапазона годов. Что-то к чему-то перестало делать обращение, видимо.
Я бы проклял разработчика.... очень много проблем получается без этой программы.
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,129
Записей в блоге: 3
30.12.2015, 12:27 15
все сделал

кто подскажет что тут происходит?
Delphi
1
2
3
4
5
6
var 
   tmp,yy,mm,dd,dd2:word;
   s,ss1,ss2,s1:string;
Begin
  decodedate(datas,tmp,mm,dd);
  if tmp<101 then yy:=tmp else yy:=tmp+2000;
зачем делать tmp<101???
0
30.12.2015, 12:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2015, 12:27
Помогаю со студенческими работами здесь

Как увеличить диапазон значений у одной переменной, или как описать свою целочисленную переменную?
Как увеличить диапазон значений у одной переменной, или как описать свою целочисленную переменную?

Обработать выделенный диапазон ячеек, результат записать в смежный диапазон
Напишите в среде Excel макрос, который в выделенном диапазоне ячеек должен выполнять заданные...

Найти диапазон который соответствует дате и данный диапазон имеет более старшую дату
Добрый день! Подскажите как лучше решить данную задачу - Задача - найти диапазон который...

Диапазон чисел - какой диапазон у каждой переменной
все int, можете написать какой диапазон у каждой переменной типа а1= a1 = rand()%7; b1 =...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru