Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.04;
Скачать: CL | DM;

Вниз

Разбиение недели на часы   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
7-10035
Kate
2002-04-10 10:44
2002.07.04
ComPort


1-9869
HitMan
2002-06-20 19:32
2002.07.04
Опять про StringGrid. Цвет и шрифт....


1-9782
Arsenik
2002-06-23 19:34
2002.07.04
Как извлечь иконки из файла (exe, dll)


1-9878
BlackSun
2002-06-21 20:51
2002.07.04
Доступ к данным из dll


6-9944
DikobraZ
2002-04-21 18:36
2002.07.04
Сканнер портов подвисает...