Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.005 c
1-9824
Chak
2002-06-24 16:44
2002.07.04
Массив компонент


1-9856
volph
2002-06-21 15:01
2002.07.04
Parameters.ParamByName( GUID ).Value


7-10035
Kate
2002-04-10 10:44
2002.07.04
ComPort


3-9706
UncleRu
2002-06-10 17:11
2002.07.04
upper в InterBase


1-9913
PycUS
2002-06-17 22:02
2002.07.04
Цвет





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский