Проверте пжалуйста...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Шурик
Самогонщик
Самогонщик
Аватара пользователя
 
Сообщения: 1657
Зарегистрирован: 30.06.2003 (Пн) 13:27
Откуда: из запоя :))))) Матных сообщений: 972

Проверте пжалуйста...

Сообщение Шурик » 07.10.2003 (Вт) 1:27

Вот есть код!!!!!! на форме кнопка и таймер.....
после запуска, через некоторое время она виснет. Проверте код плиз.

    Dim nxtdrw, stp As Integer
    Private Sub Command1_Click()
    End
    End Sub

    Private Sub Form_Load()
    Timer1.Interval = 50
    Form1.ScaleMode = 3
    Form1.BackColor = QBColor(0)
    Me.Width = Screen.Width
    Me.Height = Screen.Height
    Me.Left = 0
    Me.Top = 0
    End Sub

    Private Sub Timer1_Timer()
    Randomize Timer
    Form1.Cls
    stp = Rnd * 15
    'nxtdrw = nxtdrw + 5
    For l = 1 To 360 Step stp
    x = (Sin(l) * l) / 1.5: y = (Cos(l) * l) / 1.5
    Form1.Line (x + 400, y + 300)-(X1 + 400, Y1 + 300), RGB(Int(l), 200, Int(l))
    X1 = x: Y1 = y
    Next l
    'nxtdrw = nxtdrw + 1
    'If nxtdrw > 360 Then nxtdrw = 1
    End Sub
    [list=]
    За ранее благодарен!!!!!!
[/list]

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 07.10.2003 (Вт) 1:41

Всё очень просто:

Ошибка в строке
stp = Rnd * 15


Через некоторое время stp становится равной 0, и поэтому строка
For l = 1 To 360 Step stp
превращается в
For l = 1 To 360 Step 0, что совсем уж неверно =)

Поэтому пиши stp = Rnd * 14+1


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 4

    TopList