Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Эксперимент с переменными. Добавлено: 18.05.07 20:15  

Автор вопроса:  Annie
Здесь 2 совершенно одинаковых кода
(в смысле по функции ). Разница лишь в том, что
В первом в качестве переменных используются именованные контролы, во втором коде добавлены дополнительные переменные, которые присваиваются контролам соответственно. Но работают они по разному.
В первом неправильно считает возраст,
например если ставить даты с 2.05.1942 по 9.05.1942 – возвращает 64 года,
а должно быть 65 лет
или наоборот
если даты с 2.05.1942 по 9.05.1942 – возвращает 65 лет,и 2.06.1942 – тоже 65 , хотя еще не исполнилось.
во втором случае таких проблем не возникает. Пока что..
так в чем ошибка?
1)

Private Sub cmd_begin_Click()

If Month(Date) > txt_Month.Text Or (Month(Date) >= txt_Month.Text And Day(Date) >= txt_Day.Text) Then
    aVoz = Str(Year(Date) - txt_Year.Text)
    txt_Voz.Text = aVoz
  Else
    aVoz = Str(Year(Date) - txt_Year.Text - 1)
    txt_Voz.Text = aVoz
  End If

End Sub
2)
Private Sub cmd_begin_Click()
      Dim b, c, a, e, f, r As Integer

a = Int(txt_Year.Text)  'год рождения
e = Int(txt_Month.Text) 'месяц рождения
r = Int(txt_Day.Text) 'день рождения
b = Year(Date) 'текущий год
c = Month(Date) 'текущий месяц
f = Day(Date) 'текущий день

If c > e Or (c >= e And f >= r) Then
     aVoz = Str(b - a)
     txt_Voz = aVoz
Else
     aVoz = Str(b - a - 1)
     txt_Voz = aVoz
End If
End Sub

Ответить

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

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



Вопросов: 0
Ответов: 454
 Профиль | | #1 Добавлено: 18.05.07 22:03
Уважаемый Rakel, пожалуйста, объявляйте переменные так, чтобы было понятно.
what is this?

Dim b, c, a, e, f, r As Integer


Month(Date)


Ваша проблема в этом.

Ответить

Номер ответа: 2
Автор ответа:
 bi-lya



Вопросов: 1
Ответов: 125
 Профиль | | #2 Добавлено: 19.05.07 04:50

Dim b, c, a, e, f, r As Integer

EUGY говорит о том, что здесь b, c, a, e, f - тип Variant и только r - Integer

Ответить

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



Вопросов: 19
Ответов: 40
 Профиль | | #3 Добавлено: 19.05.07 08:01
здесь b, c, a, e, f - тип Variant и только r - Integer -это да, но проблема в первом коде, а второй,где допущена эта ошибка работает пока правильно

Ответить

Страница: 1 |

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



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