Войти

Показать полную графическую версию : Visual Basic


DevilHaker
01-12-2005, 17:18
Пожалуйста, помогите!!!

Private Sub Command1_Click()
If Combo1 = xxx Then
z = FreeFile
Open "xxx.txt" For Input As z
Text2.Text = Input(LOF(z), z)
Close z
Else
If Combo1 = xx Then
z = FreeFile
Open "xx.txt" For Input As z
Text2.Text = Input(LOF(z), z)
Close z
End If
End Sub

И постояно вылетает ошибка "Block if without End If"

Что оно хочет? Я ж прописал уже End If.

Admiral
03-12-2005, 02:28
Хочет что б был или Else или If но никак не Else If - такого в Бейсике нет
Есть два варианта решения ошибки

Private Sub Command1_Click()

If Combo1 = xxx Then
z = FreeFile
Open "xxx.txt" For Input As z
Text2.Text = Input(LOF(z), z)
Close z

Else
z = FreeFile
Open "xx.txt" For Input As z
Text2.Text = Input(LOF(z), z)
Close z
End If

End Sub

или

Private Sub Command1_Click()

If Combo1 = xxx Then
z = FreeFile
Open "xxx.txt" For Input As z
Text2.Text = Input(LOF(z), z)
Close z
End If

If Combo1 = xx Then
z = FreeFile
Open "xx.txt" For Input As z
Text2.Text = Input(LOF(z), z)
Close z
End If

End Sub

Первий вариант годитса, когда у тебя регламентированое одно условие (If Combo1 = xxx), а всё другое не интересует.
Второй когда под регламентом два условия If Combo1 = xxx и Combo1 = xx тоесть если в комбо будет прописано не xxx и не xx то никаких операций производитса не будет.

DevilHaker
08-12-2005, 00:25
Большое спасибо!!!!!!!!!!!!!!!!!!

Vazdaew
15-01-2006, 09:52
Кстати, конструкция ElseIf (без пробела) в VB 6.0 имеется, и потому в нем возможны такие вот операторы:

If bBoolean1 then
.....
ElseIf bBoolean2 then
.....
ElseIf bBoolean3 then
.....
EndIf

Всего вам наилучшего!




© OSzone.net 2001-2012