Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
1

Как заставить работать ? :)

20.04.2012, 15:12. Просмотров 1021. Ответов 15
Метки нет (Все метки)

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Form1.label6.caption := FloatTostr (dosp);
 
if Dosp <=0.1 then Form1.label7.caption := '0.1';
  if Dosp >=0.15 then Form1.label7.caption := '0.15';
  if Dosp >=0.2 then Form1.label7.caption := '0.2';
  if Dosp >=0.25 then Form1.label7.caption := '0.25';
  if Dosp >=0.3 then Form1.label7.caption := '0.3';
  if Dosp >=0.35 then Form1.label7.caption := '0.35';
  if Dosp >=0.4 then Form1.label7.caption := '0.4';
  if Dosp >=0.45 then Form1.label7.caption := '0.45';
  if Dosp >=0.5 then Form1.label7.caption := '0.5';
  if Dosp >=0.55 then Form1.label7.caption := '0.55';
  if Dosp >=0.6 then Form1.label7.caption := '0.6';
  if Dosp >=0.65 then Form1.label7.caption := '0.65';
  if Dosp >=0.7 then Form1.label7.caption := '0.7';
  if Dosp >=0.75 then Form1.label7.caption := '0.75';
  if Dosp >=0.8 then Form1.label7.caption := '0.8';
  if Dosp >=0.85 then Form1.label7.caption := '0.85';
  if Dosp >=0.9 then Form1.label7.caption := '0.9';
  if Dosp >=0.95 then Form1.label7.caption := '0.95';
  if Dosp >=1 then Form1.label7.caption := '1';
Не хочет выполнять условие если Dosp = 0.123.
Как учесть числа к примеру от [0 до 0.14] тогда Label1 =0.1
и так далее.
Сейчас такой код выполняет условие только если Dosp = 0.1,0,15 и тд
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2012, 15:12
Ответы с готовыми решениями:

Как заставить savedialog правильно работать
Есть такой код form1.SaveDialog1.filter:='Excel|*.xls|Word|*.doc|Html|*.html'; //фильтры...

Как заставить работать относительные ссылки в WebBrowser-е?
Помогите пожалуйста чайнику, как сделать чтобы работали относительные ссылки в HTMLке открытой в...

Как заставить TFDQuery, созданный визуально работать нормально для всех параметров?
Всем привет! Почему когда используешь TFDQuery, созданный визуально, с параметрами , то результаты...

Image 1 под Image 2 и Image 3 как заставить его работать как кнопку?
Имеется несколько Image, все они расположены друг на друге, Image используемый как кнопка перестаёт...

15
103 / 102 / 29
Регистрация: 15.01.2011
Сообщений: 481
20.04.2012, 15:20 2
Добавьте
Delphi
1
 if (Dosp <0.15) and  (Dosp >0.1) then Form1.label7.caption := '0.15';
Тут сомнение, что это должно быть равно 0,15. Ну, это уже вы сами определитесь, исходя из задачи.
0
Модератор
62544 / 46716 / 32199
Регистрация: 18.05.2008
Сообщений: 113,064
20.04.2012, 15:21 3
Если нужны середины интервалов через 0,05 то так
Delphi
1
2
3
4
if (Dosp>=0.075)and(Dosp <=0.125) then Form1.label7.caption := '0.1'
else if (Dosp>0.125)and(Dosp <=0.175) then Form1.label7.caption := '0.15'
else if (Dosp >0.175)and(Dosp<=0.225) then Form1.label7.caption := '0.2'
else и т.д.
0
103 / 102 / 29
Регистрация: 15.01.2011
Сообщений: 481
20.04.2012, 15:23 4
Puporev, а ведь точно, перемешай у него строки, и получится та еще каша в результате. Ничего не будет работать правильно.
0
Модератор
62544 / 46716 / 32199
Регистрация: 18.05.2008
Сообщений: 113,064
20.04.2012, 15:26 5
Так у него все больше и больше, а поскольку все больше 1 значения, то его и будет выводить.
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
20.04.2012, 15:31  [ТС] 6
Puporev, А если значение мы не знаем, к примеру если число бедет 0.099999999999 как ему задать 0.1. Тоесть надо промежутку от 0 до 0.1 задать значение 1
для промежетка от 0.1 до 0.15 задать значение 0.15

Добавлено через 4 минуты
То есть промежутку чисел содержащимся в отрезке от 0 до 0.1 присвоить 0.1
от 0.1 до 0.15 присвоить 0.15

Промежуток же может включать в себя не только 0.1 но и 0.12345 и тд
0
Модератор
62544 / 46716 / 32199
Регистрация: 18.05.2008
Сообщений: 113,064
20.04.2012, 15:44 7
Siberia Bear, Вы читать умеете? У меня же заданы промежутки
0.075..0,125, 0,125..0,175, 0,175..0,225 и т.д.
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
20.04.2012, 15:47  [ТС] 8
Puporev, сейчас попробую я новичок не судите строго
0
Модератор
62544 / 46716 / 32199
Регистрация: 18.05.2008
Сообщений: 113,064
20.04.2012, 15:48 9
Главная Ваша ошибка что Вы не пишете else между интервалами, т.е. нет никакого выбора, все срабатывает на наименьшем интервале.
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
20.04.2012, 15:50  [ТС] 10
Puporev,
то есть так

Delphi
1
2
3
4
5
6
7
if (Dosp=0)and(Dosp <=0.1) then Form1.label7.caption := '0.1' 
else
  if (Dosp=0.1)and(Dosp <=0.15) then Form1.label7.caption := '0.15'
else
  if (Dosp=0.16)and(Dosp <=0.2) then Form1.label7.caption := '0.2'
else
  if (Dosp=0.21)and(Dosp <=0.25) then Form1.label7.caption := '0.25'
0
Модератор
62544 / 46716 / 32199
Регистрация: 18.05.2008
Сообщений: 113,064
20.04.2012, 15:59 11
Delphi
1
if (Dosp>=0)and
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
20.04.2012, 16:01  [ТС] 12
не понял
0
Модератор
62544 / 46716 / 32199
Регистрация: 18.05.2008
Сообщений: 113,064
20.04.2012, 16:03 13
Если написать равно, то ни фига не будет, интервал это от и до, либо включая границы, либо нет
Delphi
1
2
if(a>x)and(a<y) then
if(a>=x)and(a<y) then
Добавлено через 1 минуту
Delphi
1
if (Dosp=0.21)and(Dosp <=0.25)
такое условие выполнится только для =0,21
1
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
20.04.2012, 16:11  [ТС] 14
Puporev, СПАСИБО БОЛЬШОЕ!!! ЗАРАБОТАЛО
0
1299 / 705 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
20.04.2012, 16:19 15
автор пургу гонит имхо.

Delphi
1
2
3
4
5
6
7
8
9
10
uses Math;
/// <...>
var dust,dd: double;
begin
  dust:=10.3354;
  dust:=RoundTo(dust,-3);
  dd:=RoundTo(dust,-1);
  if dd<=dust then dust:=dd+0.05 else dust:=dd;
  ShowMessage(FloatToStr(dust));
end;
0
0 / 0 / 1
Регистрация: 05.04.2012
Сообщений: 34
20.04.2012, 16:21  [ТС] 16
Alex_pac, спасибо, но этот вариант не подходит
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2012, 16:21

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

убрать из процедуры FormCloseQuery if then else и заставить работать
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin if...

Нужна помощь. Не могу заставить работать.
unit LKardano; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

Заставить отдельные окна работать в черно белом режиме
Можно как то сделать окно какое либо отображаться черно белом режиме? Желательно без оттенков...

Как заставить работать мотоподвес?
Может кто-то в этом разбирается? У меня тарелка, DVB-карта, дрова на неё, позиционер. Надобно...

Splitter -как эго заставить работать
Нужно сделать простенький текстовый редактор!!! -создала. А вот разделить елементи панелей на...

Как заставить работать FireBird Embedded ???
Везде говорится, что чтобы приложение заработало с FireBird Embedded достаточно скопировать пару...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.