Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Label 
:(
    Опции темы
Voldemar2004
Дата 15.5.2005, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата

чёто она помойму неработает  или я отупeл за всё ето время

M.E.G.U.S, ты прав, мне тоже кажется ерунда какая-то. И смысла задачи то я не понял. smile
Гость_Гость делает какую-то игру. smile


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Gannibal
Дата 15.5.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



вот так вот должно быть
Код

Option Explicit

Private Sub Command1_Click()
Dim level

Command1.Visible = False
If Label1.Caption = "B" Then Label5.Caption = "Íàéäåí âûõîä.": level = level + 1: GoTo XXX100

XXX100:
Print "ura"

End Sub


кстати Гость у тебя там ошибка в этой строчке
Цитата(Guest @ 15.5.2005, 16:19)
If LB1 = "B" Then Label5 = "Найден выход.": level = level + 1: GoTo XXX100:


там в конце недложно быт ":" вот так вот

Добавлено @ 18:31
Цитата(cardinal @ 15.5.2005, 16:45)
А можешь просто сделать отдельную функцию и выполнять ее по условию...


полностью согласен smile



--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Voldemar2004
Дата 15.5.2005, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Код

GoTo XXX100


А это зачем?


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
cardinal
Дата 15.5.2005, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Цитата(Voldemar2004 @ 15.5.2005, 16:03)
Гость_Гость делает какую-то игру.

Ходилку по лабиринту smile
Добавлено @ 21:09
Цитата(Voldemar2004 @ 15.5.2005, 17:52)
А это зачем?

В смысле?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Gannibal
Дата 15.5.2005, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 742
Регистрация: 15.4.2003
Где: 010101

Репутация: 18
Всего: 17



Цитата(cardinal @ 15.5.2005, 20:09)
Цитата (Voldemar2004 @ 15.5.2005, 16:03)
Гость_Гость делает какую-то игру.

Ходилку по лабиринту smile


а может стрелялку какую нибудь smile здесь непонять smile ладно оставивим его.. может он нам сам скажет что он делает

Цитата(cardinal @ 15.5.2005, 20:09)
Добавлено @ 20:09
Цитата (Voldemar2004 @ 15.5.2005, 17:52)
А это зачем?

В смысле?


он наверное пошутил как я понял smile



--------------------
Я родился в этом безумном мире - и Я сделаю всё чтобы в нём выжить!
PM MAIL ICQ   Вверх
Guest
Дата 16.5.2005, 07:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Option Explicit
Private Sub Command1_Click()
Dim level
Command1.Visible = False
If Label1.Caption = "B" Then Label5.Caption = "Íàéäåí âûõîä.": level = level + 1: GoTo XXX100

XXX100:
Print "ura"

End Sub

это понятно. но если есть Private Sub Command1_Click() Private Sub Command2_Click() ..... Private Sub Command100_Click()
и что бы каждый раз не писать

XXX100:
Print "ura"

его нужно вынести куда то и написать один раз. но обращаться программа будет туда из разных мест.


  Вверх
Voldemar2004
Дата 16.5.2005, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата

В смысле?


Ну зачем Goto, если есть операторы If else end if, elseif, select case end select ?
Потом замучаешься крутить колесо мыши и бегать по экрану глазами в пойсках этой несчастной метки, связанной с Goto. smile


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Guest
Дата 16.5.2005, 12:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











XXX100:
Print "ura"

его нужно вынести куда то и написать один раз. но обращаться программа будет туда из разных мест.
как сделать ??
  Вверх
Voldemar2004
Дата 16.5.2005, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата

его нужно вынести куда то и написать один раз. но обращаться программа будет туда из разных мест.
как сделать ??


Module:
Код

Sub Message()
MsgBox ("Ja-Ja, Zergut")
End Sub


Form1:
Код

Private Sub Command1_Click()
' your code this
Call Message
' text's heap
End Sub


Form2:
Код

Private Sub Command1_Click()
' your code this
Call Message
' text's heap
End Sub

smile

Guest, что ты пишешь, если не секрет? Игру? smile

Это сообщение отредактировал(а) Voldemar2004 - 16.5.2005, 15:46


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Guest
Дата 16.5.2005, 23:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











а зачем загружать форму2 ?
  Вверх
cardinal
Дата 17.5.2005, 01:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Ну, Guest, это же просто пример smile, а про GoTo забудь, фигня это...

Давай уж регистрируйся, хватит быть гостем smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Guest
Дата 17.5.2005, 18:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Блин, вот код програмки


' Имеется форма на которой 4 label (LA1, LA2, LB1, LB2)
' На них наложены 4 кнопки (BA1, BA2, BB1, BB2)
' Выпадает случайное число для К (клад)
' Выпадает случайное число для В (выход)
' Если игрок нажал кнопку под которой ничего нет, игра продолжается.
' Если игрок попал на К - добавляется 100 очков
' Если игрок попал на В - происходит смена уровня (+1), все кнопки становятся видимыми.


Option Explicit
Dim klad As Integer
Dim vixod As Integer
Dim ochki As Integer
Dim level As Integer



Private Sub Form_Load()

level = 1
Label505 = 1

XXX100:

' все кнопки видимые
BA1.Visible = True
BA2.Visible = True
BB1.Visible = True
BB2.Visible = True

' обнуление вида ячеек
LA1 = ""
LA2 = ""
LB1 = ""
LB2 = ""

' определяем в какой ячейке клад и присваиваем выпавшему номеру ячейки букву К
Randomize
klad = Int((4 * Rnd) + 1)
If klad = 1 Then LA1 = "K"
If klad = 2 Then LA2 = "K"
If klad = 3 Then LB1 = "K"
If klad = 4 Then LB2 = "K"

' определяем в какой ячейке выход и присваиваем выпавшему номеру ячейки букву В
Randomize
vixod = Int((4 * Rnd) + 1)
If vixod = 1 Then LA1 = "B"
If vixod = 2 Then LA2 = "B"
If vixod = 3 Then LB1 = "B"
If vixod = 4 Then LB2 = "B"

' проверяем что бы не совпали ячейки выхода и клада. Если совпали, делаем расчет заново.
If klad = vixod Then GoTo XXX100

End Sub

' Нажата кнопка BA1. Кнопка исчезает показывая что под ней.
Private Sub BA1_Click()
BA1.Visible = False

' результат того что под кнопкой. Если под кнопкой К добавляем 100 очков, отображаем результат.
If LA1 = "K" Then Label501 = "Найден клад. + 100": ochki = ochki + 100: Label503 = ochki
If LA1 = "B" Then Label501 = "Найден выход.": level = level + 1: Label505 = level: GoTo XXX200

GoTo XXX205


XXX200:

' все кнопки видимые
BA1.Visible = True
BA2.Visible = True
BB1.Visible = True
BB2.Visible = True

' обнуление вида ячеек
LA1 = ""
LA2 = ""
LB1 = ""
LB2 = ""

' определяем в какой ячейке клад и присваиваем выпавшему номеру ячейки букву К
Randomize
klad = Int((4 * Rnd) + 1)
If klad = 1 Then LA1 = "K"
If klad = 2 Then LA2 = "K"
If klad = 3 Then LB1 = "K"
If klad = 4 Then LB2 = "K"

' определяем в какой ячейке выход и присваиваем выпавшему номеру ячейки букву В
Randomize
vixod = Int((4 * Rnd) + 1)
If vixod = 1 Then LA1 = "B"
If vixod = 2 Then LA2 = "B"
If vixod = 3 Then LB1 = "B"
If vixod = 4 Then LB2 = "B"

' проверяем что бы не совпали ячейки выхода и клада. Если совпали, делаем расчет заново.
If klad = vixod Then GoTo XXX200

XXX205:

End Sub

' Нажата кнопка BA2. Кнопка исчезает показывая что под ней.
Private Sub BA2_Click()
BA2.Visible = False

' результат того что под кнопкой. Если под кнопкой К добавляем 100 очков, отображаем результат.
If LA2 = "K" Then Label501 = "Найден клад. + 100": ochki = ochki + 100: Label503 = ochki
If LA2 = "B" Then Label501 = "Найден выход.": level = level + 1: Label505 = level: GoTo XXX200
GoTo XXX205

XXX200:

' все кнопки видимые
BA1.Visible = True
BA2.Visible = True
BB1.Visible = True
BB2.Visible = True

' обнуление вида ячеек
LA1 = ""
LA2 = ""
LB1 = ""
LB2 = ""

' определяем в какой ячейке клад и присваиваем выпавшему номеру ячейки букву К
Randomize
klad = Int((4 * Rnd) + 1)
If klad = 1 Then LA1 = "K"
If klad = 2 Then LA2 = "K"
If klad = 3 Then LB1 = "K"
If klad = 4 Then LB2 = "K"

' определяем в какой ячейке выход и присваиваем выпавшему номеру ячейки букву В
Randomize
vixod = Int((4 * Rnd) + 1)
If vixod = 1 Then LA1 = "B"
If vixod = 2 Then LA2 = "B"
If vixod = 3 Then LB1 = "B"
If vixod = 4 Then LB2 = "B"

' проверяем что бы не совпали ячейки выхода и клада. Если совпали, делаем расчет заново.
If klad = vixod Then GoTo XXX200

XXX205:
End Sub
' Нажата кнопка BB1. Кнопка исчезает показывая что под ней.
Private Sub BB1_Click()
BB1.Visible = False

' результат того что под кнопкой. Если под кнопкой К добавляем 100 очков, отображаем результат.
If LB1 = "K" Then Label501 = "Найден клад. + 100": ochki = ochki + 100: Label503 = ochki
If LB1 = "B" Then Label501 = "Найден выход.": level = level + 1: Label505 = level: GoTo XXX200
GoTo XXX205


XXX200:

' все кнопки видимые
BA1.Visible = True
BA2.Visible = True
BB1.Visible = True
BB2.Visible = True

' обнуление вида ячеек
LA1 = ""
LA2 = ""
LB1 = ""
LB2 = ""

' определяем в какой ячейке клад и присваиваем выпавшему номеру ячейки букву К
Randomize
klad = Int((4 * Rnd) + 1)
If klad = 1 Then LA1 = "K"
If klad = 2 Then LA2 = "K"
If klad = 3 Then LB1 = "K"
If klad = 4 Then LB2 = "K"

' определяем в какой ячейке выход и присваиваем выпавшему номеру ячейки букву В
Randomize
vixod = Int((4 * Rnd) + 1)
If vixod = 1 Then LA1 = "B"
If vixod = 2 Then LA2 = "B"
If vixod = 3 Then LB1 = "B"
If vixod = 4 Then LB2 = "B"

' проверяем что бы не совпали ячейки выхода и клада. Если совпали, делаем расчет заново.
If klad = vixod Then GoTo XXX200

XXX205:
End Sub


' Нажата кнопка BB2. Кнопка исчезает показывая что под ней.
Private Sub BB2_Click()
BB2.Visible = False

' результат того что под кнопкой. Если под кнопкой К добавляем 100 очков, отображаем результат.
If LB2 = "K" Then Label501 = "Найден клад. + 100": ochki = ochki + 100: Label503 = ochki
If LB2 = "B" Then Label501 = "Найден выход.": level = level + 1: Label505 = level: GoTo XXX200

GoTo XXX205

XXX200:

' все кнопки видимые
BA1.Visible = True
BA2.Visible = True
BB1.Visible = True
BB2.Visible = True

' обнуление вида ячеек
LA1 = ""
LA2 = ""
LB1 = ""
LB2 = ""

' определяем в какой ячейке клад и присваиваем выпавшему номеру ячейки букву К
Randomize
klad = Int((4 * Rnd) + 1)
If klad = 1 Then LA1 = "K"
If klad = 2 Then LA2 = "K"
If klad = 3 Then LB1 = "K"
If klad = 4 Then LB2 = "K"

' определяем в какой ячейке выход и присваиваем выпавшему номеру ячейки букву В
Randomize
vixod = Int((4 * Rnd) + 1)
If vixod = 1 Then LA1 = "B"
If vixod = 2 Then LA2 = "B"
If vixod = 3 Then LB1 = "B"
If vixod = 4 Then LB2 = "B"

' проверяем что бы не совпали ячейки выхода и клада. Если совпали, делаем расчет заново.
If klad = vixod Then GoTo XXX200


XXX205:
End Sub


-------------------------------------------------------------------------------------------------------------------------------------------------------------

На форме размещено 4 кнопки, но по замыслу их должно 400 (поле 20 х 20), как видите из программы ее часть повторяется при нажатии каждой кнопки.

--------------------------------------------------------------------------------------------------------------------------------------------------------------
XXX200:

' все кнопки видимые
BA1.Visible = True
BA2.Visible = True
BB1.Visible = True
BB2.Visible = True

' обнуление вида ячеек
LA1 = ""
LA2 = ""
LB1 = ""
LB2 = ""

' определяем в какой ячейке клад и присваиваем выпавшему номеру ячейки букву К
Randomize
klad = Int((4 * Rnd) + 1)
If klad = 1 Then LA1 = "K"
If klad = 2 Then LA2 = "K"
If klad = 3 Then LB1 = "K"
If klad = 4 Then LB2 = "K"

' определяем в какой ячейке выход и присваиваем выпавшему номеру ячейки букву В
Randomize
vixod = Int((4 * Rnd) + 1)
If vixod = 1 Then LA1 = "B"
If vixod = 2 Then LA2 = "B"
If vixod = 3 Then LB1 = "B"
If vixod = 4 Then LB2 = "B"

' проверяем что бы не совпали ячейки выхода и клада. Если совпали, делаем расчет заново.
If klad = vixod Then GoTo XXX200

----------------------------------------------------------------------------------------------------------------------------------------------------------


Если их 4 то это еще ладно, но когда их 400, то код увеличится до офигенных размеров. Вышеуказанная часть должна быть написана 1 раз, а не 400 раз (по 1000 строк в каждой ). Так вот как это сделать? Куда и как прописать этот кусочек кода, чтобы к нему обращаться при нажатии одной из 400 кнопок ???

  Вверх
cardinal
Дата 17.5.2005, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Для начала сделай функцию и вставь туда повторяющийся кусок:
Код

XXX200:

' все кнопки видимые
BA1.Visible = True
BA2.Visible = True
BB1.Visible = True
BB2.Visible = True

' обнуление вида ячеек
LA1 = ""
LA2 = ""
LB1 = ""
LB2 = ""

' определяем в какой ячейке клад и присваиваем выпавшему номеру ячейки букву К
Randomize
klad = Int((4 * Rnd) + 1)
If klad = 1 Then LA1 = "K"
If klad = 2 Then LA2 = "K"
If klad = 3 Then LB1 = "K"
If klad = 4 Then LB2 = "K"

' определяем в какой ячейке выход и присваиваем выпавшему номеру ячейки букву В
Randomize
vixod = Int((4 * Rnd) + 1)
If vixod = 1 Then LA1 = "B"
If vixod = 2 Then LA2 = "B"
If vixod = 3 Then LB1 = "B"
If vixod = 4 Then LB2 = "B"

' проверяем что бы не совпали ячейки выхода и клада. Если совпали, делаем расчет заново.
If klad = vixod Then GoTo XXX200

Как объявлять функции и т.д. найдешь тут:
http://vb.hut.ru/vbnovice/les1.htm
А вообще я тебе про это 15.05. говорил. Самому не хочется мозгами пораскинуть?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Guest
Дата 18.5.2005, 05:28 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Так бы сразу и сказал, что делается это так:

Private Sub BA1_Click()
BA1.Visible = False
... текст программы...
Call XXX100
End Sub


Public Function XXX100() As Long
....Часто используемый код....
End Function

а то все вокруг да окола... smile smile
  Вверх
vADIKg
Дата 18.5.2005, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 18.5.2005

Репутация: нет
Всего: нет



Не скажу, что я спец, но это работает. --Resize_Images_Alt_Text--Нужно только накопировать в форме нужное количество кнопок и меток. Код вообще не нужно трогать.

И все.

Тестил при 100 - работает

Код

' Èìååì array èç Command1 - êíîïêè
'       array èç Label1   - ïîìåòêè
'       Label2            - óêàçûâàåò óðîâåíü
'       Label3            - ïîêàçûâàåò êîë-âî î÷êîâ

Option Explicit
Dim klad As Integer
Dim vixod As Integer
Dim ochki As Integer
Dim level As Integer
Dim btnsNumber As Integer ' êîëè÷åñòâî êíîïåíåé
Dim i As Integer

Private Sub Form_Load()
    level = 0
    ochki = 0
    btnsNumber = Command1.Count ' [font=arial]ãîâîðèì, ñêîêà êíîïîê èìååòñÿ[/font]    Call Update
    Label3.Caption = "0"
End Sub

Private Sub Update()
    level = level + 1
    Label2.Caption = Str(level)
    For i = 0 To btnsNumber - 1
        Command1(i).Visible = True
        Label1(i).Caption = ""
    Next
    Randomize
    Do
        klad = Int(btnsNumber * Rnd)
        vixod = Int(btnsNumber * Rnd)
    Loop While klad = vixod
    Label1(klad).Caption = "K"
    Label1(vixod).Caption = "K"
'    MsgBox Str(klad) & " " & Str(vixod) ' ïîäñêàçêà
End Sub

Private Sub Command1_Click(Index As Integer)
    Select Case Index
        Case klad
            MsgBox "Klad"
            Command1(Index).Visible = False
            ochki = ochki + 100
            Label3.Caption = Str(ochki)
        Case vixod
            MsgBox "Vixod"
            Call Update
        Case Else
            Command1(Index).Visible = False
    End Select
End Sub




Это сообщение отредактировал(а) vADIKg - 18.5.2005, 16:14
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0581 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.