|
|
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Сделал интерфейс, а дальше - проблема: не знаю с чего начинать. Это моя первая программа, подскажите пожалуйста как и что мне использовать. Хотя бы наведите на мысль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2007, 21:52 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Использовать готовый контрол календарь и не изобретать велосипед :). Находится он в библиоеке Windos Common controls2-SP4 кажется. MsComct2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 01:52 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Вот мои рекомендации: 1. Разместил бы 2 элемента ListBox (месяц/год) 2. Создал бы массив элементов Label(i) в количестве 37 штук и разместил бы их ниже ListBox поочередно Label(0)...Label(36) в 7 столбцов(где каждый столбец день недели) и 6 строк. В последней строке достаточно поместить только 2 элемента: Label(35) и Label(36) До остальных очередь не дойдет при максимальном количестве дней в месяце - 31, с учетом того, что 1 число этого месяца - воскресенье и будет расположено в Label(6) (Пример Июль - 2007 года). В этом случае 31 число у нас окажется как раз в Label(36). Думаю идея ясна. Все элементы массива Label должны быть не видимы. 3. Из расчетов потребуется определить каким днем будет первое число месяца. Потребуются такие функции VB - WeekDay, WeekDayName, Month и схожие. Как только находите день первого числа месяца, то помещаете его в нужную ячейку (например для Июля 2007 - Воскресенье - Label(6)) Делаете ячейку видимой и забиваете все стоящие за ней циклом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 5. Ну и обрабатываете выборку другого месяца/года через: Код: plaintext 1. Вроде все. Вот такое краткое пособие :) Пример моей программы со схожей реализацией работы календаря, можно посмотреть тут: http://eo.yastrebov.biz/screen.php Удачи в Ваших начинаниях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 02:16 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Magnus23Использовать готовый контрол календарь и не изобретать велосипед :). Находится он в библиоеке Windos Common controls2-SP4 кажется. MsComct2. Данный календарь имеет значительные недостатки. Из того, что я помню - не обновляется с наступлением новой даты, и собственным таймером это не исправишь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 02:19 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
VipFedor Magnus23Использовать готовый контрол календарь и не изобретать велосипед :). Находится он в библиоеке Windos Common controls2-SP4 кажется. MsComct2. Данный календарь имеет значительные недостатки. Из того, что я помню - не обновляется с наступлением новой даты, и собственным таймером это не исправишь... Недостатки можно найти практически в любом контроле. Но это не повод чтобы все писать самому. А исправить при желании можно что угодно. Там строго говоря не календарь а DatePicker, т.е. его использование подразумевает наличие дополнительного кода. Все ж лучше чем писать с нуля. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2007, 12:38 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2007, 08:03 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Спасибо всем огромное, хоть что-то с места сдвинулось. Но опять же куча вопросов и банальные грабли( Вот мой код, почти всё на что меня хватило: Option Explicit Dim MyDate As Date Dim FirstDayOfMonth Dim DayIndex Dim i As Integer Dim mesjac As Integer Dim god As Integer Private Sub Form_Load() DayIndex = 1 MyDate = CDate(1 & "/" & mesjac & "/" & god) Select Case Weekday(MyDate, vbMonday) Case 1 FirstDayOfMonth = FormMounth.Label(0) Case 2 FirstDayOfMonth = FormMounth.Label(1) Case 3 FirstDayOfMonth = FormMounth.Label(2) Case 4 FirstDayOfMonth = FormMounth.Label(3) Case 5 FirstDayOfMonth = FormMounth.Label(4) Case 6 FirstDayOfMonth = FormMounth.Label(5) Case 7 FirstDayOfMonth = FormMounth.Label(6) End Select For i = FirstDayOfMonth To 42 FormMounth.Label(i).Visible = True FormMounth.Label(i).Caption = DayIndex DayIndex = DayIndex + 1 Next i End Sub Возникли такие вопросы: Как определить последний день месяца? Первый определил, хотя всё равно ничего не работает. Как сделать так, чтобы при событии Click переменной присвоилось значение, которое было бы видно во всех формах проекта? Ломаю голову которую неделю. Помогите, иначе совсем сломаюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2007, 21:54 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Всё что сделал зарботало. Только до сих пор не могу сообразить как определить последний день месяца? Выбор месяца и года находятся в другой форме, так что каким-то путём надо чтобы переменные передавались из одной формы в другую??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 09:17 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
в форме передающий параметр об. глоб.переменную Public lastDay as Long Sub() lastDay=1 end sub в другой форме получай данные из формы Debug.Print ИмяВормы.lastDay ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 09:49 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
form2.perem1 = form1.perem1.... где form2 и form1 Name твоих форм.... можно еще так Me.perem1 = form2.perem2 Вобщем набери в редакторе кода Name твоих форм поставь точку и посмотри какие там будут интересные вещи появляться.... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 09:50 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
gjghjcform2.perem1 = form1.perem1.... где form2 и form1 Name твоих форм.... можно еще так Me.perem1 = form2.perem2 Вобщем набери в редакторе кода Name твоих форм поставь точку и посмотри какие там будут интересные вещи появляться.... :) Не получается пишет, мол Outside Procedure( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 10:36 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
TIKOв форме передающий параметр об. глоб.переменную Public lastDay as Long Sub() lastDay=1 end sub в другой форме получай данные из формы Debug.Print ИмяВормы.lastDay Не получается. Дело в том, что в форме-источнике присвоение знач-я переменной располагается внутри события Click.( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 10:38 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Может я что-то не так делаю??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 10:39 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
salvadorМожет я что-то не так делаю??? без разницй в каком событии главное объявить глоб. переменую присвоить значение и потом обращаться к ней через ИмяФормы.Переменная ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 11:03 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
тогда добавь модуль и пропиши в нем Код: plaintext 1. В принципе тоже можно сделать и в модуле формы... тогда код будет как я писал выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 11:08 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Написал Имя формы. переменная сама появилась. Значение 0. Не передаётся и всё, хоть тресни( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 11:17 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Еще раз. Ты ее где объявляешь??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 11:22 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Пробовал и в модуле и в форме в разделе General. Эффект один и тот же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 11:24 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Хм.... Public FormCapt As String ' Это должно быть в General UserForm1 Private Sub Form1_Load() FormCapt = "ВАСЯ!" End Sub Код кнопки на форме Form2 Private Sub CommandButton1_Click() MsgBox Form1.FormCapt End Sub Только что проверил... РАБОТАЕТ!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 11:32 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Спсибо огромное с значениями вроде подразобрался. Наступил на новые грабли. Значение переменной не меняется при щелчках, т. е. я щёлкаю допустим год2006 a=2006, потом щёлкаю год2007, переменной по идее должно присвоиться значение 2007, но оно остаётся тем же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 20:39 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
salvadorТолько до сих пор не могу сообразить как определить последний день месяца? Выбор месяца и года находятся в другой форме, так что каким-то путём надо чтобы переменные передавались из одной формы в другую??? Определить последний день месяца можно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. salvadorЗначение переменной не меняется при щелчках, т. е. я щёлкаю допустим год2006 a=2006, потом щёлкаю год2007, переменной по идее должно присвоиться значение 2007, но оно остаётся тем же. Меняется. Обрабатывай событие Объект_Click(), а не Объект_Change() Например: Код: plaintext salvadorнадо чтобы переменные передавались из одной формы в другую Можно передавать переменные в качестве параметров процедуре обработки: Форма 1: Код: plaintext 1. 2. 3. Форма 2: Код: plaintext 1. Надеюсь тебе это поможет! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2007, 23:19 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Спасибо огромное, VipFedor. С переменными я разобрался. А вот за последний день месяца отдельное спасибо, удружил...целую неделю голову ломал никак не мог придумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 19:49 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
VipFedor, если тебе не будет трудно, объясни пожалуйста как работают эти 2 строчки: If Year(Date) Mod 4 = 0 Then: MonthDays = 29 If Year(Date) Mod 4 <> 0 Then: MonthDays = 28 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 20:50 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
Если год делится на 4 без остатка значит он високосный и в феврале 29 дней иначе год простой и в феврале будет 28 дней. Mod Operator Used to divide two numbers and return only the remainder. Syntax result = number1 Mod number2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 21:00 |
|
||
|
Помогите, пожалуйста новичку. Нужно создать календарь.
|
|||
|---|---|---|---|
|
#18+
gjghjcЕсли год делится на 4 без остатка значит он високосный и в феврале 29 дней иначе год простой и в феврале будет 28 дней. Mod Operator Used to divide two numbers and return only the remainder. Syntax result = number1 Mod number2 Спасибо, теперь мой ум прояснился))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2007, 21:47 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34546995&tid=2163967]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 502ms |

| 0 / 0 |
