Ну у меня есть консольное приложение. Я создал модуль. В основной прогге прописал в uses имя модуля. А в модуле мне что прописать то?(чтобы из модуля использовать глобальные переменные, которые объявлены в основной проге)
Ааа, по ходу у него ругается компилер что оба модуля ссылаются друг на друга в interface-секциях. Я правильно понял? Если да, то надо просто было сразу ошибку компиляции указать.
Привет парни подскажите пожалуйста, как сделать так: Есть Edit1 и Edit2 и Lable В Edit1 и Edit2 пишу число и надо чтобы в Lable выводилась произведение этих чисел!? Подскажите пожалуйста заранее спасибо. А при нажатии на Button1
В обработчике кнопки онКлик пишеш label1.Caption:=IntToStr(StrToInt(edit1.text)*StrToInt(edit2.text));
Code: procedure TForm7.Button1Click(Sender: TObject); const mininhor=60; polnoeTime=480; var dpm,result,HP,hor,min,alltime,yourDPM,allHP:real; begin {Кирпич} if bosslist.ItemIndex=0 then dpm:=2.08;allHP:=1000; {Сизый} if bosslist.ItemIndex=1 then dpm:=20.83;allHP:=10000; {Махно} if bosslist.ItemIndex=2 then dpm:=104.16;allHP:=50000; {Лютый} if bosslist.ItemIndex=3 then dpm:=208.33;allHP:=100000; {Шайба} if bosslist.ItemIndex=4 then dpm:=1041.66;allHP:=500000; 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); yourDPM:=(allHP-hp)/(polnoeTime-alltime); yourDPM:=FloatTostr(labelDpm.Caption); end; end. Подскажите пожалуйста, что в почслежней строке " yourDPM:=FloatTostr(labelDpm.Caption);" не правильно?
labelDPM.caption тип стринг а FloatToSTR нужно давать флоат Вам нужно вместо FloatToSTR использовать StrToFloat
все нормально, но теперь он за переменную allHP постоянно берет 500000, как это поправить? ну кроме как если в каждый If then не пихать расчеты?
Подскажите пожалуйста ещё как сложить числа которые в Edit1 и Edit2 ? И как делить дробные числа? Подскажите пожалуйста!
Умножение label1.Caption:=IntToStr(StrToInt(edit1.text) * StrT oInt(edit2.text)); Сложение label1.Caption:=IntToStr(StrToInt(edit1.text) + StrT oInt(edit2.text)); Вычитание label1.Caption:=IntToStr(StrToInt(edit1.text) - StrT oInt(edit2.text)); Деление без дроби и без остатка label1.Caption:=IntToStr(StrToInt(edit1.text) div StrT oInt(edit2.text));
Ни когда в жизни если на то пошло учите основы у вас условия по bosslist.ItemIndex выполняеться только одно действие писать нужно так if bosslist.ItemIndex then begin ля-ля-ля end;
Только без проверки что разделитель точка label1.caption:=FloatTostr(strToFloat(edit1.text) * strToFloat(edit2.text)); если попадется разделитель запятая а не точка выкинет ошибку
с запятой в таком виде не будет. можно написать DecimalDelimiter:=','; тогда будет работать с запятой , но не будет с точкой. если нужно и запятая и точка то тут сложнее. Но лучше все при вводе в едит проверять чтобы не получилось не приятностей типа две запятые и тд
будет работать только с тем разделителем, который стоит у пользователя в настройких системны. если стоит точка - не будет работать с запятой, если запятая - с точкой. Вот тут лежит пример процедуры, изменяющей системный разделитель: http://www.delphisources.ru/pages/faq/base/chg_sys_separator.html
Блин я с точной прибавить пытался а не получается label7.caption:=FloatTostr(strToFloat(edit1.text) + strToFloat(edit4.text));