Форум: "Потрепаться";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
ВнизРазбиение недели на часы Найти похожие ветки
← →
Ajax (2002-06-02 14:27) [0]Написал программу считающую проводимое в сети время и калькулирующую стоимомсть (исходя из времени). Пока программа была только для личного пользования проблем не возникало, но теперь появилась необходимость пользователю изменять тариф (деньги за минуту в сети). И я не знаю как это лучше сделать. Проблема в том, что у разных провайдеров по-разному назначается плата (например у меня в будни 9-19 один тариф, потом 19-23 другой и ночь третий). Желательно сделать как можно более гибкую систему Есть идея создать 7-ми мерный массив по 24 элемента и назначать тариф на каждый час в неделю, но уж больно громоздкая конструкция получается. Какие будут идеи?
← →
Ajax (2002-06-03 08:24) [1]???
← →
Anatoly Podgoretsky (2002-06-03 10:32) [2]Вообще то лучше список, вряд ли у у твоего провайдера тарифы на каждый час различнве, а что потом будешь делать если обнаружится, что у какого либо смена тарифа не кратна часу, а приздничные и другие дни, вне обычных правил, список и только список и не один
← →
VAleksey (2002-06-03 11:18) [3]2-спр.
в одном имя тарифа | код тарифа
в другом
ID | код тарифа | колва-часов(или период времени)| тариф
связь один ко многим
по имени тарифа находишь код , по коду находишь список тарифов, в списке ищешь кол-во часов (или период времени) и т.д.
Думаю так.
← →
Ajax (2002-06-03 20:46) [4]>Anatoly Podgoretsky © (03.06.02 10:32)
Список - это имеется в виду TList? Так это даже получается более громоздкая конструкция (хотя смотря что и как вносить). Согласен более гибкая настройка, но опять же, смотря что и как вносить. Я так толком и не могу представить, что фиксировать: тариф по часам или, например, время смены тарифа с указанием нового.
>VAleksey © (03.06.02 11:18)
Что-то не понял. Что есть такое "2-спр."? Зачем мне:
> по имени тарифа находишь код , по коду находишь список тарифов,
> в списке ищешь кол-во часов (или период времени)
когда мне нужно наоборот - задаю время, получаю тариф.
Сейчас пользуюсь этим:
est:=time;
if (DayOfWeek(now)=1) or (DayOfWeek(now)=7) then //Если суббота или воскресенье
if (est>StrToTime("09:00:00")) and (est<StrToTime("23:00:00")) then k:=1.9 else k:=1.38 //Между 9 и 23
else //В будни
if (est>StrToTime("09:00:00")) and (est<StrToTime("19:00:00")) then k:=2.41 else
if (est>StrToTime("19:00:00")) and (est<StrToTime("23:00:00")) then k:=3.96 else k:=1.9;
Но это только если заранее известны тарифы.
← →
Ajax (2002-06-04 09:31) [5]???
← →
Anatoly Podgoretsky (2002-06-04 12:02) [6]Ajax © (03.06.02 20:46)
Нет это может быть что угодно, справочник базы данных например, который будет представлять список тарифов для разных интервалов и дней. Нужно только продумать хорошую структуру
← →
Ajax (2002-06-04 19:18) [7]Вот структуру то и не получается. Единственные идеи у меня - это либо почасовая запись тарифов, либо интервалы. И ничего другого в голову не приходит.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c