Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2009, 22:01   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию Помогите собрать мысли в кучу

Здраствуйте, помогите плз

сижу и немогу отладить что то
Нужно: по введёной цене вычислить сколько времени будит работать приложение, но над учитывать переход с дневного на ночной и с ночного на дневной тариф...
Мне хотябы один ктобы помог отладить а второй я по алгоритму сделаю

Код:
function GetHour(a: integer): Ttime;
var str:string;
begin
   str:=IntToStr(a div 60) + ' : ' + IntToStr(a mod 60)+ ':00';
  Result :=StrToTime(str);
end;

procedure TForm7.Button1Click(Sender: TObject);
var
tr:TDateTime;
g1,g2,z1,z2:integer;
g3:real;
begin
   g2:= StrToInt(Edit1.Text);
   if (frac(time1)<frac(time)) and (frac(time)<frac(time2)) then
       begin// днём
         g1:=trunc(g2/(cena1/60)); //Находим сколько минут по дневному
         tr:=time+GetHour(g1); // время окончания сеанса по дневному
         if (frac(time)<frac(time2))and(frac(time2)<frac(tr)) then
             begin     //есть переход
              z1:=MinuteOfTheDay(frac(time2)-frac(time));//минут до прехода на ночной
              g3:=g2-((cena1/60)*z1);//стоймость минут до перехода
              g1:=trunc((g2-g3)/(cena2/60));    //кол-во мин после перехода
              g1:=g1+z1; // складываев мин до перехода и после
             end;
       end
      else ///ночь
       begin
         g1:=trunc(g2/(cena2/60));// кол мин по ночному
      end;

  //showmessage(inttostr(g1));
end;
time2---время перехода на ночной тариф, допустим 22:00:00
cena1- цена по дневнмоу тарифу
cena2-цена по ночному тарифу

Вроде бы как бы всё правильно считает не верно, если ктоможет подскажите что не так сделано
Dozent вне форума Ответить с цитированием
Старый 15.10.2009, 22:14   #2
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

эмм отладил, надо было взглянуть на другом фоне на прогу

Код:
    g3:=g2-((cena1/60)*z1);//стоймость минут до перехода
g2 убрал, зачем я его туда ваше поставил не знаю! токо почему-то оно показывает на 1 мин больше
Dozent вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите собрать .... netbioz Компьютерное железо 5 05.10.2009 19:12
!!!помогите собрать системник!!!! nub' Компьютерное железо 10 16.08.2009 11:10
Помогите собрать таблицу из нескольких файлов repka Microsoft Office Excel 16 08.04.2009 12:56
Мысли Elm0 Свободное общение 0 23.06.2007 21:42