- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
Private Sub Command1_Click()
Dim day, month, year, sum, ost As Integer
day = Text1.Text
month = Text2.Text
year = Text3.Text
point:
If ((sum + 30) < 5000) Then
If (month > 12) Then month = 1
year = year + 1
End If
Select Case month
Case 1
sum = sum + 31
Case 2
If (year Mod 4 = 0) Then sum = sum + 29
Else
sum = sum + 28
End If
Case 3
sum = sum + 31
Case 4
sum = sum + 30
Case 5
sum = sum + 31
Case 6
sum = sum + 30
Case 7
sum = sum + 31
Case 8
sum = sum + 31
Case 9
sum = sum + 30
Case 10
sum = sum + 31
Case 11
sum = sum + 30
Case 12
sum = sum + 31
End Select
month = month + 1
GoTo point
End If
If (month > 12) Then
month = 1
year = year + 1
End If
ost = 5000 - sum
If (ost = 0) Then
Select Case month
Case 1
ost = 31
Case 2
If (year Mod 4 = 0) Then ost = 29
Else: ost = 28
End If
Case 3
ost = 31
Case 4
ost = 30
Case 5
ost = 31
Case 6
ost = 30
Case 7
ost = 31
Case 8
ost = 31
Case 9
ost = 30
Case 10
ost = 31
Case 11
ost = 30
Case 12
ost = 31
End Select
End If
Text4.Text = ost
Text5.Text = month
Text6.Text = year
End Sub
Знакомому надо программу перевести с С++. Я так и не понял как здесь возвращать значения функции и как её вообще объявлять, но не в этом дело. Всплывает сообщение об ошибке при работе программы "else without if" и выделяет мне ELSE на 17 строке. Что я делаю не так? Взято с: http://www.cyberforum.ru/visual-basic/thread1187002.html
guest 24.05.2014 20:11 # +1
guest 24.05.2014 20:18 # +1
guest 26.05.2014 13:16 # +1
brutushafens 24.05.2014 20:48 # +1
bormand 24.05.2014 21:36 # 0
Но длины месяцев все-таки стоит положить в массив. Тем более их тут два раза юзают.
1024-- 24.05.2014 21:43 # 0
А почему? Это какие-то зарезервированные имена, или слишком мало смысла в них?
P.S. Вспомнилось: в PHP можно использовать имена без знака "$", они будут строками (XXX - эквивалентно "XXX"), если не определены. Используя в коде MY_PAAMAYIM_NEKUDOTAYIM, можно пострадать после того, как в новой версии введут MY_PAAMAYIM_NEKUDOTAYIM.
bormand 24.05.2014 21:47 # 0
> если не определены
Нотис будет в логах. Так что нельзя. Это атавизм от пёрла, на который даже там давно забили (подобный код падает с ошибкой при use strict).
Lure Of Chaos 25.05.2014 21:31 # 0
частично спасает венгерская нотация.
Lure Of Chaos 25.05.2014 21:32 # 0
brutushafens 24.05.2014 22:05 # +3
guest 26.05.2014 13:17 # 0
brutushafens 24.05.2014 20:54 # +1
kegdan 28.05.2014 07:28 # 0
brutushafens 04.06.2014 17:59 # 0