|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Сложный подсчет времени
Программу пишу на Делфи 8
Собственно, смысл программы: Есть скандинавский аукцион, там тикает время до окончания лота. После каждой ставки аукционная стоимость и время повышается на определенную величину. Программа нужна для расчета ориентировочного времени, нужного для достижения определенной суммы. Например, текущая стоимость 2500, требуется рассчитать сколько времени надо ждать до достижения 17500. Но дело в том, что при разной аукционной стоимости добавление времени идет по разному. Пусть это будет 5 интервалов и временное распределение соответственно, расположенных следующим образом: 1-4999 добавляется 2 минуты. Каждая ставка поднимает стоимость аукционную на 50 рублей. 5000-9999 добавляется 1.5 минуты 10000-14999 добавляется 1 минута 15000-19999 добавляется 30 сек 20000- и более добавляется 15 сек Так вот, как я ни пытался что-то придумать, получалось только громадный код. Я только начинающий, поэтому прошу помочь, может есть способ это как-то организовать в систему и написать короче? Мой код примерно следующий: x - текущая стоимость лота y - требуемая стоимость лота (до которой мы считаем) Это я нашел в нете: Для начала вводим функцию интервала Between: Код:
function Between(Check, Left, Right: Integer): Boolean; begin Result := (Check >= Left) and (Check < Right); end; При первом интервале случай один: Код:
If between(y,1,5000) then s:=(y-x)*120/50 // Если требуемая стоимость попадает в диапазон от 1 до 4999, то вычитаем от требуемой (она ведь больше будет) текущую, потом делим на 50 (стоимость 1 ставки). У нас теперь в s количество ставок, необходимое на покрытие этого периода времени. И мы это умножаем на время, которое добавляется за 1 ставку. В итоге в s имеем искомое время. Но, если в первом случает всего 1 вариант события, то во втором их уже два: Если y и х в одном диапазоне и если у и х в разных диапазонах. В третьем - их уже три. В итоге, если посчитать, выйдет 15 строк кода в нашем варианте. В моем их выходит порядка 45. НУ наверняка же есть способ полегче? ------------------- И второй вопрос: как брать из определенной части веб страницы (например, справа в углу поле есть) текст и записывать его в поле ТMemo? У меня есть самоучитель по делфи, я половинку прочитал. Основы. В какой теме смотреть.? Я так понимаю, надо записать данные в переменную, а потом из нее уже добавить. Как обратиться к странице, чтобы получить эти данные? Короче, жду ответов ) Заранее спасибо. Последний раз редактировалось r2d2, 16.06.2009 в 17:10. |
#2
|
|||
|
|||
Да, просмотрел я весь фак: вот нашел вроде похожее: http://www.delphisources.ru/pages/fa...t_seltext.html Но тут выделенного текста, а мне надо строчку. Поле написано на джава.
Это нужно для того, чтобы вести лог сделанных ставок, т.к. во время розыгрыша лота показываются только последние 5 ставок. |