Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 59

Выделение каждого 4 дня других цветом в календаре

25.08.2018, 04:00. Показов 3102. Ответов 2
Метки нет (Все метки)

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

Код календаря который получился..
Кликните здесь для просмотра всего текста
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class CalendarController : MonoBehaviour
{
 
    public GameObject _calendarPanel;
    public Text _yearNumText;
    public Text _monthNumText;
 
    public GameObject _item;
 
    public List<GameObject> _dateItems = new List<GameObject>();
    const int _totalDateNum = 42;
 
    private DateTime _dateTime;
    public static CalendarController _calendarInstance;
 
    void Start()
    {
        _calendarInstance = this;
        Vector3 startPos = _item.transform.localPosition;
        _dateItems.Clear();
        _dateItems.Add(_item);
 
    
 
        for (int i = 0; i < _totalDateNum; i++)
        {
            GameObject item = GameObject.Instantiate(_item) as GameObject;
            item.name = "Item" + (i + 1).ToString();
            item.transform.SetParent(_item.transform.parent);
            item.transform.localScale = Vector3.one;
            item.transform.localRotation = Quaternion.identity;
            item.transform.localPosition = new Vector3((i % 7) * 36 /* 31 */ + startPos.x, startPos.y - (i / 7) * 30 /* 25 */, startPos.z); // растояние между клетками
 
            _dateItems.Add(item);
 
 
        }
 
        _dateTime = DateTime.Now;
        Debug.Log ("result = " + _dateTime); // тест
 
 
        CreateCalendar();
 
        _calendarPanel.SetActive(true);
    }
 
    void CreateCalendar()
    {
        DateTime firstDay = _dateTime.AddDays(-(_dateTime.Day - 1));
        int index = GetDays(firstDay.DayOfWeek);
    
        int date = 0;
        int dateklick = 0;
        for (int i = 0; i <= _totalDateNum; i++)
        {
            Text label = _dateItems[i].GetComponentInChildren<Text>();
            _dateItems[i].SetActive(false);
 
            if (i >= index)
            {
                DateTime thatDay = firstDay.AddDays(date);
                if (thatDay.Month == firstDay.Month)
                {
 
                        _dateItems [i].SetActive (true);
 
                        label.text = (date + 1).ToString ();
                        date++;
                }
            }
        }
        _yearNumText.text = _dateTime.Year.ToString();
        _monthNumText.text = _dateTime.Month.ToString();
    }
 
    int GetDays(DayOfWeek day)
    {
        switch (day)
        {
            case DayOfWeek.Monday: return 1;
            case DayOfWeek.Tuesday: return 2;
            case DayOfWeek.Wednesday: return 3;
            case DayOfWeek.Thursday: return 4;
            case DayOfWeek.Friday: return 5;
            case DayOfWeek.Saturday: return 6;
            case DayOfWeek.Sunday: return 0;
        }
 
        return 0;
    }
    public void YearPrev()
    {
        _dateTime = _dateTime.AddYears(-1);
        CreateCalendar();
    }
 
    public void YearNext()
    {
        _dateTime = _dateTime.AddYears(1);
        CreateCalendar();
    }
 
    public void MonthPrev()
    {
        _dateTime = _dateTime.AddMonths(-1);
        CreateCalendar();
    }
 
    public void MonthNext()
    {
        _dateTime = _dateTime.AddMonths(1);
        CreateCalendar();
    }
 
    Text _target;
 
}

Пример выделенных дней в календаре

ну и мой календарь который получился..


Заранее всем спасибо кто откликнется.. )
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.08.2018, 04:00
Ответы с готовыми решениями:

Вывод в календаре рабочих дней одним цветом, а нерабочих другим цветом.
В Access есть форма в которую вставлен элемент ActiveX Календарь и есть таблица, имеющая два поля Date - тип дата и Flag - тип логический....

Выделение праздников в календаре
Как реализовать вот это: Таблицы,отражающих студенческий календарь(текущая неделя в семестре; числитель,знаменатель), количество дней...

Как в календаре заставить нужные дни нужного месяца окраситься заданным цветом
Кинул на форму календарь (MonthCalendar). Как теперь заставить нужные дни нужного месяца окраситься заданным цветом? Подскажите, если кто...

2
296 / 125 / 106
Регистрация: 30.10.2015
Сообщений: 690
25.08.2018, 10:42
EnvyChild, Если я правильно понял, у Вас сложность с переходом на дугой месяц. Для этого Вы должны на экземпляре DateTime в цикле вызывать метод AddDays(4);
1
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 59
25.08.2018, 10:50  [ТС]
Спасибо за совет) но у меня проблема еще в том что не очень опытный в сфере календарей, я лишь студент самоучка.. Поэтому у меня проблема не только с переходом на другой месяц а ещё и с самим выделением каждого 4 дня .. )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.08.2018, 10:50
Помогаю со студенческими работами здесь

Выделение цветом
Есть текстбокс в который выводится вычисление с трёх других текстбоксов, как сделать выделение числа красным цветом если результат...

Выделение цветом
Подскажите, если кто знает, можно ли как то выделить цветом во многострочной части документа столбцы и строки

Выделение строк цветом
На страница имеется скрипт, который позволяет выбрать все чекбоксы, имеющиеся в каждой строке таблицы. Можно ли доработать скрипт или код...

Выделение строк цветом
Как можно выделить только лишь определенную строку цветом, при этом что бы другие были стандартного цвета?

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


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru