Jump to content

Recommended Posts

  • 1 month later...
Posted

Select case

 

Уж простите за офтоп, но...

...Где ошибка?

 

Есть форма.

В ней несколько тектовых полей.

В первое ввожу значение (допустим 7801)

Нажимаю стартовую кнопку

В остальных текстовых полях должны появится соответствующие значения для 7801

Если я ввожу 7802, то в остальных полях - значения для 7802

 

код кнопки:

Private Sub Command1_Click()

Select Case X

Case X = 7801

Text2.Text = "значение 1 для 7801"

Case X = 7802

Text2.Text = "значение 1 для 7802"

End Select

End Sub

У меня при нажатии на кнопку появляется "Значение 1 для 7801" и все.

Ввожу другое значение в первое тектовое поле - ничего не работает.

 

где косяк?

:book:

8831px.ru ну и vfat, конечно же)

Posted

вроде как нужно так

Private Sub Command1_Click()
Select Case X
Case 7801

[indent]Text2.Text = "значение 1 для 7801"[/indent]


Case 7802


[indent]Text2.Text = "значение 1 для 7802"[/indent]


End Select
End Sub

то есть без "X ="

"There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu

[sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic]

Posted
то есть без "X ="

Вай... Сейчас попробуем :)

 

Не работает.

А с другой стороны - нафиг тогда указывать "Select case X"

8831px.ru ну и vfat, конечно же)

Posted
Вай... Сейчас попробуем :)

 

Не работает.

А с другой стороны - нафиг тогда указывать "Select case X"

сначала указывается переменная а затем ее значения

кста, где у тебя Х задан то?

правильно

Private Sub Command1_Click()

Select Case X

Case 7801

Text2.Text = "значение 1 для 7801"

Case 7802

Text2.Text = "значение 1 для 7802"

End Select

End Sub

должно работать

 

P.S. VB6 или .NET ?

Posted

Хосподи!!! На этом Васике еще пишут чтото серьезное? Кроме макросов в Ворде и Ёкселе?

Тяжелая поступь,

Суровые лица

Штурмовики идут похмелиться

Posted

VB6

форма

2 текстовых поля, кнопка.

в одно вводишь значение, допустим, 7801

во втором окне по нажатию кнопки должно появится "бла бла бла_1".

Ввожу другое значение (7802) - во втором окошке должно появится "бла бла бла_2"

 

ps последний раз программировал еще в лицее (3-4 года назад).

 

pps где указывать то? При загрузке формы?

"Private X As Integer" так?

8831px.ru ну и vfat, конечно же)

Posted
Хосподи!!! На этом Васике еще пишут чтото серьезное? Кроме макросов в Ворде и Ёкселе?

представь себе

8831px.ru ну и vfat, конечно же)

Posted
представь себе

 

так попробуй :)

Private Sub Command1_Click()

Select Case Text1.Text

Case "7801"

Text2.Text = "значение 1 для 7801"

Case "7802"

Text2.Text = "значение 1 для 7802"

End Select

End Sub

 

ох и давно же енто было :)

  • Like 1
Posted
так попробуй :)

Private Sub Command1_Click()

Select Case Text1.Text

Case "7801"

Text2.Text = "значение 1 для 7801"

Case "7802"

Text2.Text = "значение 1 для 7802"

End Select

End Sub

 

ох и давно же енто было :)

5 баллов. Работает!

*(Оно Оживает! Оживает! (с) было где-то)

Спасибо всем, кто помог.

8831px.ru ну и vfat, конечно же)

Posted
Хосподи!!! На этом Васике еще пишут чтото серьезное? Кроме макросов в Ворде и Ёкселе?

 

Кста, HyperLobby на Visual Basic 5 написан :)

Posted

Таксь...

Еще вопросец.

Ввожу в окно данные. Жму кнопу - в другие окна выводятся значения.

А как сделать так, что после того, как я нажму кнопку, текст, введенный в "стартовое" окно был выделен?

 

Т.е. если мне нужно проверить несколько значений путем ввода, то лень нажимать на "стартовое окно" по нескольку раз заново. Удобней просто набирать значения и жать Enter.

Э... Надеюсь меня корректно поняли ;)

8831px.ru ну и vfat, конечно же)

Posted
Таксь...

Еще вопросец.

Слуш, пожалей себя и окружающих, пиши лучше на Дельфях... :)

Тяжелая поступь,

Суровые лица

Штурмовики идут похмелиться

Posted
Таксь...

Еще вопросец.

Ввожу в окно данные. Жму кнопу - в другие окна выводятся значения.

А как сделать так, что после того, как я нажму кнопку, текст, введенный в "стартовое" окно был выделен?

 

Т.е. если мне нужно проверить несколько значений путем ввода, то лень нажимать на "стартовое окно" по нескольку раз заново. Удобней просто набирать значения и жать Enter.

Э... Надеюсь меня корректно поняли ;)

 

Значит так...

В свойствах формы ставишь KeyPreview = True

Дальше:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyReturn Then

' сюда вставь код из Command1_Click(), либо если хочешь кнопку

' оставить то вызывай событие отсюда

Text1.Text = ""

' если кнопку оставил, то добавь Text1.SetFocus

End If

End Sub

  • 3 weeks later...
Posted
а что б текст в окне был уже выделен после нажатия на кнопку (или просто "ентер")?

 

А зачем тебе его выделять, если ты новый вводить собрался?.. может я что не понял.. там поле просто очищается

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...