Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.06.2009, 16:56
r2d2 r2d2 вне форума
Прохожий
 
Регистрация: 16.06.2009
Сообщения: 2
Репутация: 10
По умолчанию Сложный подсчет времени

Программу пишу на Делфи 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  
Старый 16.06.2009, 17:49
r2d2 r2d2 вне форума
Прохожий
 
Регистрация: 16.06.2009
Сообщения: 2
Репутация: 10
По умолчанию

Да, просмотрел я весь фак: вот нашел вроде похожее: http://www.delphisources.ru/pages/fa...t_seltext.html Но тут выделенного текста, а мне надо строчку. Поле написано на джава.
Это нужно для того, чтобы вести лог сделанных ставок, т.к. во время розыгрыша лота показываются только последние 5 ставок.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:53.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter