Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Megallim

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте! Нужно написать прграммку на VBA. На форме должны появляться множество точек (или маленьких кружочков), которые случайно разбросаны. Эти точки как бы являются "звёздами" и со временем они должны мерцать. Мерцание можно сделать двумя способами.  
1) С помощью Timer сделать так, чтобы некоторые, так сказать, "звёзды" через несколько секунд (у каждой "звезды" рандомное время мерцания) после появления начали становиться больше, затем меньше, затем опять больше и так далее (бесконечный цикл).
2) Или с помощью опять того же таймера сделать так, чтобы появившиеся "звёзды" через несколько секунд пропадали (у каждой "звезды" рандомное время мерцания), потом опять появлялись на том же месте, пропадали и т.д. (бесконечный цикл).
 
Вот впрочем и всё описание моего задания. Изучаю Java, Haskell, CSS и начал изучать VBA, который по мнению многих программистов является одним из самых лёгких языков и прекрасно подходит для изучения новичкам. Но я бы не сказал так. VBA мне по каким-то причинам пока даётся трудом. Да и учебников хороших нет, чтобы всё по полочкам разложено было. Все "учебники" на самом деле являются справочниками.
 
Нужные модули рисования (библиотеки) подключены. Написан даже код, который позволяет рисовать линии на форме:  

Код:
 
Private Sub UserForm_Activate()
''' resets the repiant thing for ellipse
Range("repaint_mode") = 0
End Sub
 
Private Sub UserForm_Deactivate()
CleanUpLine 'cleans up, realse objects etc
CleanUpEllipse
''' resets the repiant for thing ellipse
Range("repaint_mode") = 0
End Sub
 
Private Sub UserForm_Initialize()
'sets things up for drawing - see sub
Setup
'sethting up for drawing see sub
drawellipsetest
End Sub
 
Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
If Button = 1 Then
SetDrawStart x, y
ElseIf Button = 2 Then
'''set start points
lXs = x
lYs = y
Else: End If
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
'Pass the mouase positin to subs
If Button = 1 Then
Draw x, y
ElseIf Button = 2 Then
If Range("repaint_mode") = 1 Then
DrawEllipseNoRepaint x, y
Else
DrawEllipse x, y
End If
End If
End Sub
 

 
Но это не то. Как бы так его изменить, чтобы он отвечал моим требованиям? Поэтому хотелось бы, чтобы вы подсказали, так сказать, подтолкнули меня. С чего вообще начать? Хочу узнать хотя бы то, как объявлять координаты этих точек ("звёзд").

Всего записей: 6 | Зарегистр. 13-05-2016 | Отправлено: 12:53 13-05-2016
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Excel VBA (часть 3)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru