Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Mark1615
0 / 0 / 0
Регистрация: 04.04.2014
Сообщений: 30
#1

Создать приложение Светофор

15.11.2014, 13:52. Просмотров 2016. Ответов 28
Метки нет (Все метки)

Создать приложение «Светофор.
Код для данного предложения есть но он очень большой.
Подскажите как его изменить например сделать что бы цвета зажигались в другом порядке и т п.

vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
Public Class Form1
    Dim n As Byte
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = True
        Dim Гр As Graphics = Me.CreateGraphics
        'Объявляем точки и прямоугольники:
        Dim П1, П2 As Rectangle
        'Задаем координаты и размеры:
        П1.X = 350 : П1.Y = 50 : П1.Width = 300 : П1.Height = 300
        П2.X = 475 : П2.Y = 350 : П2.Width = 50 : П2.Height = 350
        Гр.DrawRectangle(Pens.Black, П1)
        Гр.DrawRectangle(Pens.Black, П2)
    End Sub
 
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        n = n + 1
        If n = 12 Then n = 0
        Select Case n
            Case 0
                выкл1.Visible = False
                If выкл1.Visible = False Then
                    выкл2.Visible = True
                    выкл3.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 5000
                End If
            Case 1
                выкл2.Visible = False
                If выкл2.Visible = False Then
                    выкл1.Visible = True
                    выкл3.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 1500
                End If
            Case 2
                выкл3.Visible = False
                If выкл3.Visible = False Then
                    выкл2.Visible = True
                    выкл1.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    зеленый.Visible = True
                    Timer1.Interval = 7000
                End If
            Case 3
                выкл3.Visible = False
                выкл2.Visible = True
                выкл1.Visible = True
                зеленый1.Visible = False
                зеленый2.Visible = False
                зеленый4.Visible = False
                зеленый5.Visible = True
                зеленый3.Visible = False
                Timer1.Interval = 1000
            Case 4
                выкл3.Visible = False
                выкл2.Visible = True
                выкл1.Visible = True
                зеленый1.Visible = False
                зеленый2.Visible = False
                зеленый4.Visible = True
                зеленый5.Visible = False
                зеленый3.Visible = False
                Timer1.Interval = 1000
 
 
            Case 5
                выкл3.Visible = True
                If выкл3.Visible = True Then
                    выкл2.Visible = True
                    выкл1.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 500
                End If
 
            Case 6
                выкл3.Visible = False
                If выкл3.Visible = False Then
                    выкл2.Visible = True
                    выкл1.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = True
                    зеленый.Visible = False
                    Timer1.Interval = 500
                End If
            Case 7
                выкл3.Visible = True
                If выкл3.Visible = True Then
                    выкл2.Visible = True
                    выкл1.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 500
                End If
            Case 8
                выкл3.Visible = False
                If выкл3.Visible = False Then
                    выкл2.Visible = True
                    выкл1.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = True
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 500
                End If
            Case 9
                выкл3.Visible = True
                If выкл3.Visible = True Then
                    выкл2.Visible = True
                    выкл1.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 500
                End If
            Case 10
                выкл3.Visible = False
                If выкл3.Visible = False Then
                    выкл2.Visible = True
                    выкл1.Visible = True
                    зеленый2.Visible = False
                    зеленый1.Visible = True
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 500
                End If
            Case 11
                выкл2.Visible = False
                If выкл2.Visible = False Then
                    выкл1.Visible = True
                    выкл3.Visible = True
                    зеленый1.Visible = False
                    зеленый2.Visible = False
                    зеленый4.Visible = False
                    зеленый5.Visible = False
                    зеленый3.Visible = False
                    Timer1.Interval = 3000
                End If
        End Select
    End Sub
 
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer1.Enabled = False
    End Sub
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
    End Sub
End Class
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2014, 13:52
Ответы с готовыми решениями:

Создать приложение «Светофор»
Создать приложение «Светофор». Его назначение – демонстрация «логики» работы...

Создать полноэкранное приложение
Добрый вечер, подскажите как создать форму, чтобы она закрывала весь экран...

Создать приложение в корне сервера
Подскажите, кто знает, может есть возможность создать ASP-NET проект в корне...

Как создать бесформенное приложение
Добрый день знатоки Visual Basic 2010 Express! Мне нужно написать программу...

Как создать мультиязыковое приложение
Доброго времени суток! На форме лабел Имя, два баттона Войти и Выйти и...

28
Visualist
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
19.11.2014, 21:28 #21
Цитата Сообщение от Mark1615 Посмотреть сообщение
спасибо конечно но у меня на 2008 не идет как его под 2008 сделать?
нуу, вот тебе код, просто добавь его в чистый модуль твоей form1, это чтобы не качать VS2013. только он чуть ли не длинней твоего, т.к. все программно создается, без конструктора

Добавлено через 27 секунд
Цитата Сообщение от Fragus Посмотреть сообщение
2010.
тогда 100% не в этом причина
0
Fragus
34 / 34 / 9
Регистрация: 16.09.2014
Сообщений: 131
19.11.2014, 21:34 #22
Ексешник компилированый мной работает?
0
Visualist
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
19.11.2014, 21:40 #23
Цитата Сообщение от Fragus Посмотреть сообщение
Ексешник компилированый мной работает?
тот, что днем отправлен - да, второй - нет
0
Fragus
34 / 34 / 9
Регистрация: 16.09.2014
Сообщений: 131
19.11.2014, 22:35 #24
Надо попробовать на 2003 студии комплировать
0
Visualist
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
19.11.2014, 22:42 #25
Цитата Сообщение от Fragus Посмотреть сообщение
на 2003 студии комплировать
почему не 2013?
0
Qwertiy
821 / 629 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
19.11.2014, 23:37 #26
Цитата Сообщение от Visualist Посмотреть сообщение
да, давай с нами)
Готово:
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Public Class Form1
 
Private Mask As Integer = 4, I As Integer = -1, D(,) As Integer = {{7000, 4}, {500, 0}, {500, 4}, {500, 0}, {500, 4}, {500, 0}, {500, 4}, {2000, 2}, {8000, 1}, {2000, 3}}
 
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  Me.MaximumSize = Me.Size
  Me.MinimumSize = Me.Size
End Sub
 
Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint
  With e.Graphics
    .FillEllipse(If(Mask And 1, Brushes.Red, Brushes.Silver), 0, 0, 256, 256)
    .FillEllipse(If(Mask And 2, Brushes.Yellow, Brushes.Silver), 0, 256, 256, 256)
    .FillEllipse(If(Mask And 4, Brushes.Green, Brushes.Silver), 0, 512, 256, 256)
  End With
End Sub
 
Private Sub Tmr_Tick(sender As Object, e As EventArgs) Handles Tmr.Tick
  I = (I + 1) Mod D.GetLength(0)
  Tmr.Interval = D(I, 0)
  Mask = D(I, 1)
  Me.Refresh()
End Sub
 
End Class
1
Вложения
Тип файла: zip Светофор.zip (21.8 Кб, 7 просмотров)
Visualist
51 / 51 / 25
Регистрация: 01.02.2014
Сообщений: 201
20.11.2014, 00:09 #27
Цитата Сообщение от Qwertiy Посмотреть сообщение
Готово:
Вообще супер!
Что такое
vb.net
1
Mask And 1
?
Что здесь значит And?
0
Qwertiy
821 / 629 / 100
Регистрация: 20.08.2013
Сообщений: 2,524
20.11.2014, 00:14 #28
Цитата Сообщение от Visualist Посмотреть сообщение
Что здесь значит And?
Побитовый И. Главное не пихать в VS2003, а то он там логическим был
0
Petr_S
196 / 197 / 87
Регистрация: 21.04.2013
Сообщений: 383
20.11.2014, 00:56 #29
Цитата Сообщение от Visualist Посмотреть сообщение
- горит красный,
- зажигается желтый
- тухнет красный и желтый
- загорается зеленый, горит
- начинает моргать зеленый, тухнет
- загорается желтый, тухнет
- загорается красный - идем в начало
Мой вариант (вроде, ничего не забыл):
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Public Class Form1
    Private Timer1 As Timer
    Private programm() As String = {"R5000", "RY2000", "250", "G5000", "250", "G500", "250", "G500", "250", "G500", "250", "G500", "250", "Y5000", "250"}
    Private counter As Integer = programm.Length - 1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1 = New Timer With {.Interval = 250, .Enabled = False}
        AddHandler Timer1.Tick, AddressOf Timer1_Tick
        Timer1.Start()
    End Sub
    Private Sub Form1_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint
        e.Graphics.DrawRectangle(New Pen(Color.Black, 2), New Rectangle(10, 10, 50, 50))
        If programm(counter).Contains("R") Then e.Graphics.FillEllipse(Brushes.Red, New Rectangle(14, 14, 42, 42))
        e.Graphics.DrawRectangle(New Pen(Color.Black, 2), New Rectangle(10, 60, 50, 50))
        If programm(counter).Contains("Y") Then e.Graphics.FillEllipse(Brushes.Yellow, New Rectangle(14, 64, 42, 42))
        e.Graphics.DrawRectangle(New Pen(Color.Black, 2), New Rectangle(10, 110, 50, 50))
        If programm(counter).Contains("G") Then e.Graphics.FillEllipse(Brushes.Green, New Rectangle(14, 114, 42, 42))
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
        counter = If(counter < programm.Length - 1, counter + 1, 0)
        Timer1.Interval = CInt(System.Text.RegularExpressions.Regex.Match(programm(counter), "[0-9]+$").ToString)
        Me.Refresh()
    End Sub
End Class
0
20.11.2014, 00:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2014, 00:56

Как создать приложение для работы с БД
Недавно познакомился с Акцессом, стало получаться, теперь узнал, что всё можно...

Как создать приложение с использованием winapi
подскажите кто-нибудь как в Visual Basic.NET создать приложение с...

Как создать приложение без формы?
Как создать приложение без формы, т.е. чтобы класс который создается при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru