Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Много всяких вопросов Добавлено: 08.10.03 17:30  

Автор вопроса:  GreenGo

Извините, если вопросы покажутся вам детскими, но я совем недавно стал учить VB.

1) мне нужно с помощью PSet вывести на экране точки, типа звездное небо. Координаты надо выводить с помощью цикла. Проблема состоит в том: в цикле я могу указать только одну переменную, например, только х. А как сделать цикл для у?

2) Опять же, с помощью цикла надо чтобы менялся цвет в текстовом окне. Ввожу такой код:
Private Sub go1_Click()

For x = 1 To 255 Step 1
Timer1.Enabled = True
    txt.BackColor = RGB(x, 0, 0)
Next
End Sub

Не робит.

3) Прога "Угадывание чисел". Юзер вводит в  поле лубую цифру от 1 до 9, ну и прога пишет, типа угадал или нет. Все просто, но нужно в обязательном порядке использовать знаки =, >, <. То есть выпало число 4, а в текстовом поле ввели "<5" - значит угадал.

Вот для начала такие вопросики. Заранее спасибо! 

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Swift



Вопросов: 5
Ответов: 43
 Профиль | | #1 Добавлено: 08.10.03 20:33

1) если нужно звёздное небо, то наверное нужно использовать генератор случайных чисел, а не цикл

сделай форму и положи на неё таймер Timer1:

Private Sub Form_Load()

Randomize

Me.DrawWidth = 3

Me.Timer1.Interval = 100 '0.1c

Me.Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

Dim X As Single, Y As Single

Dim Xmax As Single, Ymax As Single

Xmax = Me.ScaleWidth

Ymax = Me.ScaleHeight

X = CLng((Xmax * Rnd) + 1)

Y = CLng((Ymax * Rnd) + 1)

Me.PSet (X, Y), RGB(255, 0, 0)

End Sub

2) опять, лучше используй не цикл, а таймер, чтобы прога не висла.

А можешь и три :)

3) знаки надо обрабатывать отдельно, как строки

Ответить

Номер ответа: 2
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 08.10.03 20:36
1. В VB допустимы вложенные циклы.
For x=0 to 1000
For y=0 to 1000
Pset (x,y), vbred
Next y
Next x

2. Попробуй после txt.BackColor = RGB(x, 0, 0) вставить DoEvents или
txt.Refresh.

Ответить

Номер ответа: 3
Автор ответа:
 Swift



Вопросов: 5
Ответов: 43
 Профиль | | #3 Добавлено: 08.10.03 20:46

Вложенные циклы будут работать последовательно а не параллельно!

Ответить

Номер ответа: 4
Автор ответа:
 GreenGo



Вопросов: 2
Ответов: 4
 Профиль | | #4 Добавлено: 08.10.03 21:07

1 и 2) Дело в том, что надо !обязательно! сделать это с помощью циклов.

3) Ну вот я проверяю строчку с введенными данными. Выпало число 6. Юзер ввел ">5". Потом значит проверяется первый символ. Потом, понятное дело, вступает в дело if. Ну вот как я себе это представлю

if firstletter = ">" then
if x > randomDigit then... а что писать тут я не понимаю :) словами понимаю, а кодом - нет....

Попробовал вложенный цикл - не робит.

Ответить

Номер ответа: 5
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #5 Добавлено: 08.10.03 22:21
Ну чисто для примера:

If firstletter="<" and RandomDigit < x Then
msgbox "Правильно!"
elseif firstletter=">" anf RandomDigit > x Then
msgbox "Правильно!
ElseIf FirstLetter<> "<" and firstletter <> ">" and x=randomdogit then
msgbox "Правильно!"
End if

Доработай уже как тебе надо.

Ответить

Номер ответа: 6
Автор ответа:
 Swift



Вопросов: 5
Ответов: 43
 Профиль | | #6 Добавлено: 09.10.03 10:37

Какого результата ты хочешь добиться с помощью циклов?

Переллельное наращивание X и Y?

2) всё работает, просто настолько быстро, что не успеваешь замечать.

Вставь в цикл Doevents хотя бы, но и это не сильно поможет.

Dim x As Integer

For x = 1 To 255 Step 1

Me.Text1.BackColor = RGB(x, 0, 0)

DoEvents

Next

тут надо использовать таймер вместе с циклом.

Ответить

Номер ответа: 7
Автор ответа:
 GreenGo



Вопросов: 2
Ответов: 4
 Профиль | | #7 Добавлено: 09.10.03 13:51

Вот реальные задачи:

Создать программу, изменяющую цвета фона и символа в текстовом поле на инвертированные через постепенный переход цветов. Начальный цвет фона – синий, конечный – красный, начальный цвет символов – белый, конечный – зелёный.

Создать на форме две кнопки. По нажатию одной должен меняться цвет фона текстового поля, по нажатию другой – цвет символов. Для задания цвета фона и цвета символа использовать функцию RGB().

Для систематических сигналов на изменение цвета использовать объект Timer.

 

РАБОТА

1.     Разработать интерфейс пользователя.

2.     Для перехода цвета аргументы функции RGB() нужно изменять в цикле с определённым шагом. В отчёте привести алгоритм перехода цвета.

Изменить программу так, чтобы цвет при первом щелчке на кнопке менялся в одном направлении, а при следующем щелчке – в обратном. В отчёте описать сущность требуемых изменений.

 

именно цикл

Ответить

Номер ответа: 8
Автор ответа:
 GreenGo



Вопросов: 2
Ответов: 4
 Профиль | | #8 Добавлено: 10.10.03 15:03
Artyom_kr, большое спасибо, я и не знал, что можно сразу два условия писать

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам