![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Расчеты в Grid'е [D7, XP]
Nick_serov © (2006-04-05 12:12:00)Тут такая проблема:
в последнем столбце Grid'a цены на товар. Мне нужно изменить эти цены(добавить процент надбавки). Делаю так:
procedure TForm1.Grid1Click(Sender: TObject);
var
d, f, g, h : real;
begin
edit2.Text := grid1.SelectedText;
d := strtofloat(edit2.Text);
end;
end;
end.
А он сразу начинает ругаться мол "is not valid floating point value"
I need help!
Nick_serov (2006-04-05 14:23:00) [1]to icWasya ©
Спасибки =) заработало!!!!
icWasya (2006-04-05 14:18:00) [2]>if d < 2000 and d > 100 then // <<<тут ошибку находит
if (d < 2000) and (d > 100) then // <<<тут ошибку не находит
Nick_serov (2006-04-05 14:10:00) [3]
> Да ? А он был, вопрос ? Я вот только увидел крик о помощи.
> Тонущего в луже.
Если не желаете спускаться с небес, чтобы помочь мне, простому и жалкому смертному, который не достоин ваших наиумнейших изречений, то вас никто и не умоляет, "Уважаемый"......
MsGuns (2006-04-05 14:04:00) [4]>Вопрос остается открытым....
Да ? А он был, вопрос ? Я вот только увидел крик о помощи. Тонущего в луже.
Nick_serov (2006-04-05 14:01:00) [5]
> У меня будет 5 диапазонов, если число входит в 1 диапазон,
> то оно умножается на 12%, если во второй диапазон, то умножается
> на 10% и так далее. Вопрос в том, как это сделать так, чтобы
> действие выполнялось при 2-х значениях d < 2000 и d > 1000.
> .......
>
> ??????????????
Вопрос остается открытым....
Плохиш (2006-04-05 13:56:00) [6]
> MsGuns © (05.04.06 13:34) [8]
> Все в куче: датасет с полями
Вроде автор про бд ничего не говорил. Телепатор тренеруете?
Nick_serov (2006-04-05 13:53:00) [7]
> Да.. представляю, сколько опять возникнет вопросов, когда
> диапазон поменяется на 10000-20000 или будет 2 диапазона
> ;)))
У меня будет 5 диапазонов, если число входит в 1 диапазон, то оно умножается на 12%, если во второй диапазон, то умножается на 10% и так далее. Вопрос в том, как это сделать так, чтобы действие выполнялось при 2-х значениях d < 2000 и d > 1000........
??????????????
Nick_serov (2006-04-05 13:53:00) [8]
> Да.. представляю, сколько опять возникнет вопросов, когда
> диапазон поменяется на 10000-20000 или будет 2 диапазона
> ;)))
У меня будет 5 диапазонов, если число входит в 1 диапазон, то оно умножается на 12%, если во второй диапазон, то умножается на 10% и так далее. Вопрос в том, как это сделать так, чтобы действие выполнялось при 2-х значениях d < 2000 и d > 1000........
??????????????
Игорь Шевченко (2006-04-05 13:47:00) [9]MsGuns © (05.04.06 13:44) [10]
Важно найти нужный компонент.
MsGuns (2006-04-05 13:44:00) [10]Да.. представляю, сколько опять возникнет вопросов, когда диапазон поменяется на 10000-20000 или будет 2 диапазона ;)))
Nick_serov (2006-04-05 13:39:00) [11]ха... возникли еще вопросы:
как сделать так, чтобы если в edit число меньше 2000, но больше 1000, то выполняется 1 расчет, если число больше 2000, но меньше 3500, то выполняется 2 расчет????
как это реализовать????
пробую так:
procedure TForm1.Grid1Click(Sender: TObject);
var
d, h, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
b1, b2, b3, b4, b5, b6, b7, b8, b9, b10 : real;
begin
try
edit2.Text := grid1.SelectedText;
d := strtofloat(edit2.Text);
if d < 2000 and d > 100 then // <<<тут ошибку находит
begin
h := d / 100 * strtofloat(edit5.Text) + d;
edit6.Text := floattostr(h);
except
end;
end;
end;
MsGuns (2006-04-05 13:34:00) [12]Все в куче: датасет с полями, грид с ячейками, флоаты со стрингами..
Может, почитать о принципах доступа к БД в Делфи и "не путать дебют с дуплетом" ?
Nick_serov (2006-04-05 12:52:00) [13]
> > application.Terminate;
>
> Мне понравилось :-))
Да это я так, шоб было че =)))
Запустил не из делфи - вроде получилось... псиба. Будем дальше грабли искать.
Плохиш (2006-04-05 12:42:00) [14]
> все равно ругается..... пробовал
Запускай программу не из делфи.
> application.Terminate;
Мне понравилось :-))
Nick_serov (2006-04-05 12:40:00) [15]
> try except end
>
procedure TForm1.Grid1Click(Sender: TObject);
var
d, f, g, h : real;
begin
try
edit2.Text := grid1.SelectedText;
d := strtofloat(edit2.Text);
except
application.Terminate;
end;
end;
все равно ругается..... пробовал
Плохиш (2006-04-05 12:31:00) [16]try except end
Nick_serov (2006-04-05 12:30:00) [17]
> В каком формате ? "адын тугрик" ?
> Приведи конкретное значение ..
формат численный например: 12589
проблема в том, что, когда гружу таблицу, то курсор ставится на первую первый столбец, а там текст, и..... начинает ругаться. Как сделать так, что если в ячейке не число, то он ничего не делает, а если число, то...
edit.text := grid.selectedtext;
?????????????
Сергей М. (2006-04-05 12:21:00) [18]
> в последнем столбце Grid'a цены на товар
В каком формате ? "адын тугрик" ?
Приведи конкретное значение ..
Foxtrot (2006-04-05 12:18:00) [19]Вы запятую и точку не перепутали? попоробуйте целое число.