Блин) Сори ещё раз подскажи, Смотри если в Label значение > 1,5 то как сделать чтобы в Label2 было "2" ? Заранее спасиб)
Не не не,не округлить надо а допустим в Edit2 значение 1.5, и надо чтобы он проверял больше 1.5 или меньше и в Label записывал допустим: Больше 1.5, Меньше 1.5
ну так это совсем другое дело if Strtofloat(edit2.text)<1.5 then label1.caption:='Меньше' else label1.caption:='Больше';
спасибо за трей, но вот новый вопрос: как сделать горячие клавиши?например если программа(а она в трее) слышит ctrl+L он делает то что мне нужно(а именно записывает в файл содиржимое бф,но это не суть).
ставь глобальный хук на клавиатуру. Правда если будет пересекаться где то хоткей с другим приложением будешь иметь много лишнего мусора
Написал парсер на Delphi в тесте приложение работает нормально при любом объеме парсинга, а вот после компиляции при большом объеме приложение не отвечает (зависает), но парсинг все равно идет, по завершению парсинга, приложение отвисает. В чем проблема? Как можно решить данный вопрос?
Code: procedure TForm7.Button1Click(Sender: TObject); const mininhor=60; polnoeTime=480; var dpm,result,HP,hor,min,alltime,yourDPM,allHP,raznHP,razntime,winTime:real; begin {Кирпич} begin if bosslist.ItemIndex=0 then begin dpm:=2.08;allHP:=1000; HP:=StrToFloat(editHP.Text); hor:=StrToFloat(editHore.Text); min:=strtofloat(editMin.Text); alltime:=hor*mininhor+min; result:=HP/alltime; if result<dpm then resultat.Caption:=('Победа'); if result>dpm then resultat.Caption:=('Поражение'); LabelMustDPM.Caption:=floattostr(dpm); raznHP:=(allhp-hp) ; razntime:=(polnoetime-alltime); yourDPM:= raznHP/razntime; labelDpm.Caption:=FloatTostr(yourDPM); winTime:=(hp/yourDPM)/mininhor; label4.Caption:=floattostr(winTime) end; end; Нужно что бы winTime:=(hp/yourDPM)/mininhor; полученный результат раскладывался на часы и минуты. т.е. если остаток менее 60 он идет в минуты а если целое то в часы. еще надо убрать ошибку при делении на "mininhor" подскажите пожалуйста как все это сделать?
деление нужно проверять чтобы делитель не был 0 что касаеться разделения на часы минуты секунды то дели на 60 на 60 на 24
а как избежать ошибки, он не компилируется когда winTime:=(hp/yourDPM)/mininhor; а так компилирует winTime:=(hp/yourDPM);
Гон! Div это целочисленное деление, а у него реал типы, погрешность будет бешеная! Деление в дельфи есть, это нормально. Сделай типизированные константы и всё будет работать как надо
Вообще никак не получается сделать определение дня недели! Помогите плиз!(Pascal) PHP: type TMonth = (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Decem); TYear = 1901..2012; TDate = record day: 1..31; month: TMonth; year: TYear; end; var Date: TDate; /////////////////////////////////////////////////////////////////////////////// function IntToMonth(n: integer): TMonth; begin case N of 1: IntToMonth := Jan; 2: IntToMonth := Feb; 3: IntToMonth := Mar; 4: IntToMonth := Apr; 5: IntToMonth := May; 6: IntToMonth := Jun; 7: IntToMonth := Jul; 8: IntToMonth := Aug; 9: IntToMonth := Sep; 10: IntToMonth := Oct; 11: IntToMonth := Nov; 12: IntToMonth := Decem; end; end; /////////////////////////////////////////////////////////////////////////////// procedure InputDate(var Date: TDate); var n: byte; begin writeln('Введите сегодняшнюю дату.'); writeln; write('Введите день: '); repeat readln(date.day); until date.day in [1..31] ; write('Введите месяц числом (1 - январь, 2 - февраль и т. д.): '); repeat readln(n); until n in [1..12] ; date.month := IntToMonth(n); write('Введите год (от 1900 до 2012): '); repeat readln(date.year) until (date.year >= 1901) and (date.year <= 2012) ; end; /////////////////////////////////////////////////////////////////////////////// procedure PrintMonth(Date: TDate); begin case Date.month of Jan: write(' января '); Feb: write(' февраля '); Mar: write(' марта '); Apr: write(' апреля '); May: write(' мая '); Jun: write(' июня '); Jul: write(' июля '); Aug: write(' августа '); Sep: write(' сентября '); Oct: write(' октября '); Nov: write(' ноября '); Decem: write(' декабря '); end; end; /////////////////////////////////////////////////////////////////////////////// procedure PrintDate(Date: TDate); begin write(Date.day); PrintMonth(Date); write(Date.year, ' года.') end; /////////////////////////////////////////////////////////////////////////////// function IsLeap(year: integer): boolean; var res: boolean; begin res := (year mod 4 = 0) and (year mod 400 <> 0); //проверка на високосный год IsLeap := res; end; /////////////////////////////////////////////////////////////////////////////// function DaysInMonth(Date: TDate): integer; begin case Date.month of Feb: begin if IsLeap(Date.year) then DaysInMonth := 29 else DaysInMonth := 28; end; Apr, Jun, Sep: DaysInMonth := 30; else DaysInMonth := 31; end; {case} end; {DaysInMonth} /////////////////////////////////////////////////////////////////////////////// procedure IncDate(var date: TDate); begin inc(Date.day); if (Date.day > DaysInMonth(Date)) then //если после инкремента день завышен begin Date.day:= 1; inc(Date.month); if ((ord(Date.month)+1) > 12) then //если после инкремента месяц завышен begin Date.month:= Jan; inc(Date.year); end; end; end; /////////////////////////////////////////////////////////////////////////////// begin {main} InputDate(Date); writeln; write('Сегодня '); PrintDate(Date); write(' Завтра '); IncDate(Date); PrintDate(Date); readln; end.