Страница: 1 | 2 |
Вопрос: Кто поможет?
Добавлено: 22.11.05 12:49
Автор вопроса: KEP
Люди я уже два раза спрашивал и все время вы не в силах мне помочь.
Пишу программу которая при соидинение с интернетом
начинает считать время проведенное в интернете и в зависимости от провайдера - переводит это все дело в рубли.
Есть шесть texBox'sa в которых пользователь вводит тариф провайдера:
text1="03.00" до Text2="08.00"
Если с 3 утра до 8 утра то label1="10 руб в час"
text3="08.00" до Text4="15.00"
Если с 8 утра до 15 дня то label1="20 руб в час"
text5="15.00" до Text6="03.00"
Если с 15 дня до 3 часов ночи то label1="25 руб в час"
Как я только не пробывал и так If Time > "15:00:00" or Time < "3:00:00" Then Label1 = "25 руб."
и Or на and и.т.д Гдето работает гдето глючит. Ооочень нужно эту программу написать. мож кто поможит? Нужно чтоб точно без глюков работала, подгонять под определенное время не нужно так как пользователь сам будет вводить время!!!!???? Блин ну вроде не че сложного, но не получаеться!
Ответы
Всего ответов: 19
Номер ответа: 1
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #1
Добавлено: 22.11.05 12:57
Что глючит - пояснить не мог что ли?
И, кроме того, не нужно жестких условий. Скажем, 15:00:00 и 3:00:00 у тебя из условия вообще выпадают. Используй не "меньше" и "больше", а "меньше или равно" и "больше или равно".
Номер ответа: 2
Автор ответа:
KEP
Вопросов: 44
Ответов: 119
Профиль | | #2
Добавлено: 22.11.05 14:08
Да не че не получается попробуй сам, и убедишься!
Номер ответа: 3
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #3
Добавлено: 22.11.05 14:26
Ты лучше глюк опиши
Номер ответа: 4
Автор ответа:
KEP
Вопросов: 44
Ответов: 119
Профиль | | #4
Добавлено: 22.11.05 15:34
задача вроде из простейших?... глюк... да не получается вообще нечего
If Time > "3:00:00" And Time < "8:00:00" Then Label1 = "10 руб."
If Time > "8:00:00" And Time < "15:00:00" Then Label1 = "20 руб."
If Time > "15:00:00" And Time < "3:00:00" Then Label1 = "25 руб."
Посмотри вроде работает да, но поставь время в системе на 0:00:00 и Label1 будет пустовать. Ему не чего не присваивается П.О.Ч.Е.М.У??? По условию с 15 до 3 ночи 25 руб. На 9 утра то же самое.... хотя должно быть 20 руб блин я уже не знаю что делать. И равенствами пробывал. и так и сяк... П.О.М.О.Г.И.Т.Е
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 22.11.05 15:44
Ну тебе же по русски уже сказали!
If Time > "15:00:00" Or Time < "3:00:00" Then Label1 = "25 руб."
Or, не And !!!!
Тогда все работает. Проверил, хотя очевидность этого не нуждается в проверке.
Номер ответа: 6
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #6
Добавлено: 22.11.05 15:45
А вообще делай лучше через Case и Hour(), чтоб к формату не привязываться
Номер ответа: 7
Автор ответа:
KEP
Вопросов: 44
Ответов: 119
Профиль | | #7
Добавлено: 22.11.05 16:26
If Time > "3:00:00" Or Time < "8:00:00" Then Label1 = "10 руб."
If Time > "8:00:00" Or Time < "15:00:00" Then Label1 = "20 руб."
If Time > "15:00:00" Or Time < "3:00:00" Then Label1 = "25 руб."
Блин сделай свой код пажалуйста у меня не че не получается.
Номер ответа: 8
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #8
Добавлено: 22.11.05 16:40
ЫЫыыыыыыыыыыыы...........
Я просто не могу уже!
Or нужен в последней строчке, в двух верхних And!!
Ты же по-русски понимаешь? Or - или, And - и.
Если время больше 3 и меньше 8
Если время больше 8 и меньше 15
Если время больше 15 или меньше 3
Нарисуй циферблат, разметь на три сектора - и будет понятно.
Но еще раз повторю - условия не должны быть строгие!!
Номер ответа: 9
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #9
Добавлено: 22.11.05 16:45
Private Sub CheckTime()
Select Case Hour(Now)
Case 3 To 8
Label1.Caption = "10 руб."
Case 8 To 15
Label1.Caption = "20 руб."
Case Else
Label1.Caption = "25 руб."
End Select
End Sub
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 22.11.05 21:46
вы шо больные??? )) Вы ж строки сравнивайте!!! парси своё время Split (myTime, ":") получай 3 разныз переменны (часы, мин и сек) потому уже сравнивай всё там..
Номер ответа: 11
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #11
Добавлено: 23.11.05 10:53
Не пора ли посмотреть на функции работы со временем, типа TimeValue и DateDiff?
ЗЫ. со временем шутки плохи...
Номер ответа: 12
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #12
Добавлено: 23.11.05 11:07
2HACKER, Sur
Чем плох Hour(Now)? Я глюков никогда не видел.
Парсить время? Самый извратный способ )
А они то тут при чем? :[ ]
А с ним шутить и не надо.
В общем, KEP, делай как я писал в посте номер 9 - и проблем не будет.
Номер ответа: 13
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #13
Добавлено: 23.11.05 12:14
2LamerOnLine
Hour(Now) плох, что только Hour. Минуты и секунды тоже "козить" будешь? А сравнивать время, вместо строк, позволит TimeValue. Понял?
Номер ответа: 14
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #14
Добавлено: 23.11.05 12:37
а я и не спорю, зато это занимательно, полезно для практики, и главное будет работать... :P
Номер ответа: 15
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #15
Добавлено: 23.11.05 13:33
Sur, сделай милость, пролистай страницу наверх и вникни в суть вопроса. Минуты, секунды и TimeValue тут нахрен не нужны.
С первыми двумя пунктами согласен, насчет третьего - большие сомнения. Не люблю я решения, настолько зависимые от криворукости исполнителя.
Тем более, если и надо распарсить время - лучше, как предложил Sur, пользоваться временными функциями, чтобы отвязаться от всяких локалей. Иначе при другом формате отображения времени имеем... прально, Ж...