Страница: 1 |
Как сделать, чтобы TextBox в реальном времени показывал время?
Страница: 1 |
Вопрос: Часы из TextBox
Добавлено: 05.06.04 19:59
Автор вопроса: Anry Deriabine
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #1
Добавлено: 05.06.04 20:48
Используй совместно таймер с интервалом, скажем, в миллисекунд 100...
Номер ответа: 2
Автор ответа:
Anry Deriabine
Вопросов: 14
Ответов: 29
Профиль | | #2
Добавлено: 05.06.04 23:37
Где использовать?Этот TextBox на экселевском листе висит, в нем должна отображаться дата и время.А на какое событие ЭТО определить, не пойму.Слабоват еще в этом деле.
Private Sub ?????
TextBox2.Text = Date & " " & Time
End Sub
Номер ответа: 3
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #3
Добавлено: 06.06.04 00:17
Ну не знаю... там же когда в редактор VB влезаешь, там предлагают форму... вот на нее таймер... Хотя как все это делается - хз...
Номер ответа: 4
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #4
Добавлено: 06.06.04 01:33
Наверное таймер таки прийдётся на API создавать.
Номер ответа: 5
Автор ответа:
Anry Deriabine
Вопросов: 14
Ответов: 29
Профиль | | #5
Добавлено: 06.06.04 17:43
А если впихать его на открытие страницы?
WorkSheets.Activate ....
Номер ответа: 6
Автор ответа:
TERMIT
ICQ: 5297101
Вопросов: 16
Ответов: 93
Web-сайт:
Профиль | | #6
Добавлено: 06.06.04 21:45
да че там париться....может я не правельно понял но мне кажеться все елементарно....
в тай
Номер ответа: 7
Автор ответа:
TERMIT
ICQ: 5297101
Вопросов: 16
Ответов: 93
Web-сайт:
Профиль | | #7
Добавлено: 06.06.04 21:55
пардон enter ничайно нажа.....ну так вот.....создаеш таймер и text1
и на таймер ставиш интервал 1.....а в код таймера пишеш:
text1.text = date$ & " " time$
вот так...
Кстате я набираю группу разработчиков на vb....для совместного создания оболочки для windows .......если ты заинтересован то пиши
www.info-soft.nm.ru
termit20031988@list.ru
Номер ответа: 8
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #8
Добавлено: 07.06.04 00:31
По моему ответы 5-7 совершенно излишни. Как он будет таймер без формы создавать? Хоть бы прочитали вопрос повнимательнее.
Номер ответа: 9
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #9
Добавлено: 07.06.04 01:21
CyRax, я не уверен, но разве и на VBA можно использовать АПИ !? Если так, то макросам дается нехилая свобода действий...
Номер ответа: 10
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #10
Добавлено: 07.06.04 04:41
Sne,
Считаю незнание VBA минусом для VB-программиста. Иначе зачем тогда перечислять это в его достоинствах.
А вообще, VBA - это как VB.NET: куча классов, привязка к офису, ну и поддержка API соответственно.
---
Специально для тебя проверил в Ворде.
Private Declare Function MessageBeep Lib "user32.dll" ( _
ByVal wType As Long) As Long
Private Sub Document_New()
MessageBeep 32
End Sub
---
Я вообще то тоже не профессионал в VBA. Наверное можно создать таймер и без формы. Но, как говорится, "На безрыбье и рак рыба". Так что если никто более знающий не ответит, то и на API сгодится.
Номер ответа: 11
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #11
Добавлено: 07.06.04 05:48
Поробуй такой код.
Создай новый макрос и в модуль вставь:
=====
Private Declare Function SetTimer Lib "user32.dll" ( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long, _
ByVal uElapse As Long, _
ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32.dll" ( _
ByVal hWnd As Long, _
ByVal nIDEvent As Long) As Long
Private Const HWND_DESKTOP = 0
Private Const WM_TIMER = &H113
Private Timer_Index As Long
'---
Public Sub Timer_Create(ByVal Interval As Long)
Timer_Index = 0 ' Номер таймера если будешь использовать несколько таймеров
SetTimer HWND_DESKTOP, Timer_Index, Interval, AddressOf Timer_Callback
End Sub
'---
Public Sub Timer_Destroy()
KillTimer HWND_DESKTOP, Timer_Index
End Sub
'---
Function Timer_Callback(ByVal hWnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
On Error Resume Next
Select Case uMsg
Case WM_TIMER
If ActiveDocument Then
ActiveDocument.Content = ActiveDocument.Content & Time$ & vbCr
End If
End Select
uMsg = 0
End Function
=====
Пример для Word:
---
Private Sub Document_New()
Timer_Create 500
End Sub
---
Private Sub Document_Close()
Timer_Destroy
End Sub
=====
PS: Будет выбивыать - пиши.
Номер ответа: 12
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #12
Добавлено: 07.06.04 13:17
Ох и страшная эта штука макросы ))
PS
Попросту я еще не встречал задач в работе (VBA), где бы мне понадобились АПИ... Спасибо что просветил
Номер ответа: 13
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #13
Добавлено: 07.06.04 13:48
sne,
ты тестил API-Timer? Потесть плиз. Вдруг какую ошибку отловишь. Может на десктоп неправильно было таймер вешать? Но я не нашёл за время составления кода как найти hWnd какого нибудь вордовского окна средствами VBA.