Программирование
Веб программирование

Дата в VB

 
 

Для работы с датами есть схожая функция Date, теперь сделаем апгрейд нашим часам, добавив к ним еще и дату. Открой проект, который мы делали в предыдущем шаге, и добавь к нему еще 1 текстовое поле(Text2). Теперь нажми 2 раза на форму и у тебя опять появится окно кода с созданной процедурой, но теперь для формы:

Private Sub Form_Load()

End Sub

Все что ты впишешь в эту процедуру, то у тебя будет загружаться вместе с формой. В ней впиши Text2.Text = Date, здесь текст в текстовом поле будет равен функции Date(текущая дата). Вот что у тебя должно получиться:

Private Sub Form_Load()
Text2.Text = Date
End Sub

Есть вопросы? Спроси на нашем форуме!!
Добрый Человек [26.09.2010 14:55]

Private Sub Timer1_Timer()
Text2.Text = Date
End Sub

По моему, должно быть вот так

compod [03.10.2010 18:52]

согласен с добрым человеком

Саня [25.12.2010 15:51]

Зачем те дату каждую секунду обновлять, если она изменяется раз в день?

Дмитрий [17.03.2011 14:42]

Согласен с добрым человеком)) [Саней]

Smitty [26.05.2011 18:47]

може и не надо.... но в 24.00 карета превратится в тыкву (т.е. дата поменяется) а на форме не отобразится (если прогу не перезапустить)

Гость [14.08.2011 14:39]

нееет автор все правильно написал Private Sub Form_Load()сюда и надо код вводить в форму а не в Time как сказал добрый человек

NaRaN [13.04.2012 06:46]

Добрый прав. По инструкции автора дата не меняется.
код:
Private Sub FormLoad()
Timer1
Timer
Timer1.Interval = 1
End Sub

Private Sub Timer1_Timer()
Text1.Text = Time
Text2.Text = Date
End Sub

алексей [14.04.2012 00:20]

NaRaN, брееет.

так код больше но лучше !!!

Private Sub FormLoad()
Label1.Caption = Time: Label2.Caption = Date
Timer1.Interval = 100: Timer2.Interval = 1000 * 10 ' можно и так Timer1.Interval = 1000
End Sub
Private Sub Timer1
Timer()
If Label1.Caption <> Time Then Label1.Caption = Time ' что бы процес не затормаживал работа с контролами всегда тормазит процес и лучше к ним по меньше обращатся
End Sub
Private Sub Timer2_Timer()
If Label2.Caption <> Date Then Label2.Caption = Date ' тут анологично
End Sub

NaRaN [18.04.2012 07:00]

Алексей, возможно. Я начал изучать VB 6 дней назад, так что не очень понимаю что и как лучше. Опираюсь всего на пару сайт-учебников и на комментарии к ним. Спасибо за подсказку, сейчас попробую твой вариант.

NaRaN [18.04.2012 07:17]

Алексей, что такое "Контролы"? Скинь код для календаря, что в 15 уроке, если не затруднит. Спасибо.

алексей [18.04.2012 07:33]

контролы это те же самые текстбоксы и лайболы.
вот сделай эксперемент
при нажатие например формы или кнопки
for i=1 to 10^5 step 1
text1=i
next i
тут у нас в текст каждый раз записывается число i
а вот щас мы сделаем запись не в контрол текстбокс а в переменную a
Dim a as integer
for i=1 to 10^5 step 1
a=i
next i
text1=a
в первом варианте мы 10^5 обращались к контролу а во втором 1 раз и из-за этого скорость возрасла в 100-1000 раз
если всё таки надо следить за процесом то можно так
кинь таймер
опятьже при нажатие чего лиюо
timer1.interval=100
timer1.enabled=true
for i =1 to 10^7 step 1 ' так как через переменную а всё происходит быстро мы удленим путь сделав 10^7 можешь ещё увеличить
' мы уденили для того что бы смогли следить ну просто при 10^5 мы бы не успели нечего заметитть
doevents
a=i
next i

теперь код для таймера
на форму кинь тест или лайбел
text1=a
всё
весь прикол в том что мы обращаемся к контролу в интервале 100 ну лучше в остальных случаев 500 делать
и из за этого скорасть почти не меняется что без участие контроло что с ним
И ГЛАВНОЕ ВСЕГДА В ЦИКЛАХ ПИШИ DoEvents!!!!!!!!!!

алексей [18.04.2012 07:36]

оооо блин я в первых двух случаев не написал DoEvents
НАПИШИ
просто я делал не на VB6 а сразу сюда и из-за этого пропустил

NaRaN [18.04.2012 08:09]

Алексей, спасибо! Только вот не совсем понял, что за "DoEvents". Знаю только "If --> Then". А это цикл "For --> DoEvents" ??? Ладно, я думаю, сам разберусь по ходу дела.

алексей [18.04.2012 13:23]

DoEvents
это для циклов . Оно не даёт циклю зацикливаться нормально . Лучше его писать во всех циклах . ну например у тебя огромный цикл он заработал и через несколько сек у тебя комп завис это без DoEvents с ним всё будет в поряде



Оставлять комментарии можно только зарегистрированным




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