Помогите понять откуда эта ошибка???

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Помогите понять откуда эта ошибка???

Сообщение Memfivosfey » 13.01.2006 (Пт) 5:24

Код: Выделить всё
       DateValue As Date
       DateValue = "29.02.2100"


ERROR:
Run-Time Error '13':
Type mismatch


Код: Выделить всё
      DateValue As Date
      DateValue = "28.02.2100" - а вот так работает.


не ужели 2100 не высокосный????



Птибдого бдагадаген!
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

echo
Обычный пользователь
Обычный пользователь
 
Сообщения: 62
Зарегистрирован: 26.01.2005 (Ср) 8:25
Откуда: Хабаровск

Сообщение echo » 13.01.2006 (Пт) 8:30

офф:
ну, если 2096 високосный, а 2097, 2098, 2099 - нет, то и 2100 должен быть високосный. Только вот WinNT, стоящая на моей рабочей машине, не знает о существовавании 2100-го года, ИМХО. Т.к. в "настройках даты/времени" после 2099 года показывает снова 1980г.
Душа болит... А лечишь её - печень болит!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.01.2006 (Пт) 8:50

Нет, каждая сотня лет - не високосная. Каждые 400 лет - снова високосный.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: Помогите понять откуда эта ошибка???

Сообщение Andrey Fedorov » 13.01.2006 (Пт) 9:11

Memfivosfey писал(а):
Код: Выделить всё
      DateValue As Date
      DateValue = "28.02.2100" - а вот так работает.


Вообще-то так лучше не писать - надо:

DateValue = #2/28/2100#

А то в твоем варианте под разными настройками локали строка с датой будет преобразовываться в разную дату.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Kiryusha
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 216
Зарегистрирован: 30.08.2005 (Вт) 10:56
Откуда: УР, Ижевск

Сообщение Kiryusha » 13.01.2006 (Пт) 12:19

Нет, каждая сотня лет - не високосная. Каждые 400 лет - снова високосный.


Вот где ответ, алибек прав! Поддерживаю его мнение.
Судебно-медицинское вскрытие показало, что чукча умер в
результате судебно-медицинского вскрытия.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 13.01.2006 (Пт) 12:27

echo писал(а):Только вот WinNT, стоящая на моей рабочей машине, не знает о существовавании 2100-го года, ИМХО. Т.к. в "настройках даты/времени" после 2099 года показывает снова 1980г.


А при чем тут настройки даты/времени? В MS даже предположить не могут что ты после 2099 еще будешь использовать сегодняшнюю версию Windows.
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Сообщение codemaster » 13.01.2006 (Пт) 14:18

Andrey Fedorov писал(а): В MS даже предположить не могут что ты после 2099 еще будешь использовать сегодняшнюю версию Windows.


например в Германии во многих уважаемых конторах
установлен Win 3.11 :shock:
на вопрос а почему не XP народ отвечает : а зачем, для наших задач достаточно - все работает.!
//<-
Mit freundlichen Grüßen
//->

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 13.01.2006 (Пт) 14:23

codemaster писал(а):например в Германии во многих уважаемых конторах
установлен Win 3.11 :shock:
на вопрос а почему не XP народ отвечает : а зачем, для наших задач достаточно - все работает.!


Зуб даю что в 2099 году ни в одной (даже не уважаемой конторе) WinXP не будет использоваться ;) Разве что в каком-то музее сохранится древний комп с не менее древней операционкой - как экспонат...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 13.01.2006 (Пт) 14:38

alibek писал(а):Нет, каждая сотня лет - не високосная. Каждые 400 лет - снова високосный.

Да? А по моему все что оканчивается на "...00" високосное. Ибо делится на 4. :?

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 13.01.2006 (Пт) 14:41

GAGArin писал(а):
alibek писал(а):Нет, каждая сотня лет - не високосная. Каждые 400 лет - снова високосный.

Да? А по моему все что оканчивается на "...00" високосное. Ибо делится на 4. :?


Почитай, к примеру, здесь:

http://ru.wikipedia.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%9A%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D0%B8
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

GAGArin
Неистовый флудер
Неистовый флудер
 
Сообщения: 1777
Зарегистрирован: 23.12.2002 (Пн) 12:46
Откуда: я тут взялся, не знаю...

Сообщение GAGArin » 13.01.2006 (Пт) 14:51

Буду знать, думал должен быть только четырем кратен.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 13.01.2006 (Пт) 15:45

GAGArin писал(а):Буду знать, думал должен быть только четырем кратен.

Запомни формулу :)
4 - 100 - 400
По крайней мере для григорианского, который сейчас используется.
Lasciate ogni speranza, voi ch'entrate.

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 13.01.2006 (Пт) 16:51

Пасиба, исчерпывающая информация...... а я и не знал......
(особенно про Григорианский календарь и правила высокосного года)
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 14.01.2006 (Сб) 1:15

Andrey Fedorov


Вообще-то так лучше не писать - надо:

DateValue = #2/28/2100#

А то в твоем варианте под разными настройками локали строка с датой будет преобразовываться в разную дату.



Хотел спросить, такое присваивание срабатывает только если я присваиваю переменной напрямую значение даты, а вот так никак нельзя?


Код: Выделить всё
DateValue = "#" & VarDay & "/" & VarMonth & "/" & VarYear & "#"
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.01.2006 (Сб) 6:31

## - это константа.
А для того, что ты написал, есть функция DateSerial.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Memfivosfey
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 212
Зарегистрирован: 17.02.2005 (Чт) 14:55

Сообщение Memfivosfey » 15.01.2006 (Вс) 1:06

Пасиба, понял...
В программировании нет не решаемых проблемм, есть проблеммы на которые
мы не можем найти решение...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 175

    TopList