3 / 3 / 0
Регистрация: 20.07.2012
Сообщений: 50
|
|
1 | |
Как наложить на форму количество лейблов, соответствующих количеству дней в месяце?31.07.2012, 11:01. Показов 5336. Ответов 22
Метки нет (Все метки)
Здравствуйте!
Продолжаю писать прогу "график работы" и возник вопрос... Как не вручную, а программно положить на форму лейблов, число которых будет соответствовать числу дней в месяце? Предыдущий вариант моей программы использовал заготовленную форму с 31 лейблом, что не очень удобно, так как в разных месяцах, разное количество дней(что сбивает с понтолыги юзера))... P.S. как программно убирать с формы её элементы(лейблы, текстбоксы, кнопки и т.д...) ?
0
|
31.07.2012, 11:01 | |
Ответы с готовыми решениями:
22
Обращение к количеству дней в месяце Множества.Месяц 1..30 Описать функцию число дней (m), определяющую количество дней в месяце (n) не високосного года. Как обуздать дату? Вычислить количество дней в месяце? Как учесть в программе, что в месяце может быть разное количество дней? |
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||||||
31.07.2012, 12:03 | 2 | |||||
Ну вот например для текстбокса
P.S. программно убрать можно только программно же созданные контролы. Попытка удалить контрол созданный в конструкторе приведет к еррору P.P.S. - а зачем вам изменять количество лейблов? Не проще ли делать некоторые из них скрытыми согласно количеству дней?
1
|
3 / 3 / 0
Регистрация: 20.07.2012
Сообщений: 50
|
|
31.07.2012, 12:03 [ТС] | 3 |
Это не совсем то, что я просил, но тем не менее похоже на правду))
Только выводится всего один текстбокс, а не количество соответствующее количеству дней в месяце.. А можно расписать подробно строку №4(каждое слово в ней) ? Как сделать заготовленные на форме лейблы скрытыми? И как тоже самое сделать с лейблами?))
0
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||||||
31.07.2012, 12:34 | 5 | |||||
пример с лабелем
Set - присваивает переменной ссылку на объект Controls.Add - добавляет новый элемент управления в форму его параметры: VB.Label - тип элемента управления Label1 - имя элемента управления Form1 - где размещать Далее вы можете делать с элементом все что хотите в рамках его свойств. P.S. - ctlLabel объявить не забудьте
1
|
3 / 3 / 0
Регистрация: 20.07.2012
Сообщений: 50
|
|
31.07.2012, 12:35 [ТС] | 6 |
А как узнать количество дней в месяце?))
Вот текущая дата Day(Date) А нет ли чего-то типа LastDay(Date) ? :-)
0
|
3 / 3 / 0
Регистрация: 20.07.2012
Сообщений: 50
|
|
31.07.2012, 12:45 [ТС] | 8 |
Не понял как это работает и к чему привязать...
При запуске этой строки, прога выдает ошибку...((
0
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
|
31.07.2012, 12:49 | 9 |
Не по теме: у-у-у.... батенька! Вам бы сначала наверно стоило последовать завету Владимира Ильича :) в процедуру клика кнопки ее запихайте хотя бы
0
|
3 / 3 / 0
Регистрация: 20.07.2012
Сообщений: 50
|
|
31.07.2012, 13:00 [ТС] | 11 |
Так я и учусь))
Если бы я все знал, тогда бы не спрашивал Вас)) Добавлено через 5 минут Ура) Работает)) Осталось разобраться по какому принципу)) Всем спасибо))
0
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
||||||
31.07.2012, 13:21 | 12 | |||||
вот вам еще примерчик создания лабелей в цикле по количеству дней:
и в цикле же удаление с проверкой существования объекта
2
|
Заблокирован
|
||||||
31.07.2012, 13:22 | 13 | |||||
Но можно и динамически добавить нужные элементы в предварительно созданный массив.
Например, на форме Label1 с Index=0 (задать в свойствах контрола)
2
|
369 / 78 / 6
Регистрация: 23.05.2012
Сообщений: 232
|
|
31.07.2012, 13:29 | 14 |
ну особого то преимущества как бы и нет - все равно все в цикле делается
а вот забить ему мозг массивом контролов когда он еще в азах не разобрался - это реально Добавлено через 4 минуты ну и моим способом можно добавить на форму активХ-компоненты, не входящие в стандартный комплект VB. Правда сложнее, чем стандартные
0
|
Заблокирован
|
|
31.07.2012, 13:43 | 15 |
Сообщение было отмечено как решение
Решение
А это совсем просто!
Из первого числа следующего месяца вычитаем первое число текущего. Получаем разницу в днях А вот и есть! Для твоего Label30 нет ещё события _Click (и не скоро будет), а у моего Label1(30) уже есть
1
|
Модератор
|
||||||
01.08.2012, 10:07 | 16 | |||||
Мне кажется, чем запоминать все премудрости действия с датами, проще поступить так:
1
|
skol13
|
01.08.2012, 10:32
#17
|
0
|
Заблокирован
|
|
01.08.2012, 13:28 | 20 |
Что то здесь не то
0
|
01.08.2012, 13:28 | |
01.08.2012, 13:28 | |
Помогаю со студенческими работами здесь
20
Напечатать на экране "календарь" на один месяц (по дню недели 1-го числа и количеству дней в месяце) Количество дней в месяце Количество дней в месяце Количество дней в месяце Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |