Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
ВнизРасчеты в Grid е Найти похожие ветки
← →
Nick_serov (2006-04-05 12:12) [0]Тут такая проблема:
в последнем столбце 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!
← →
Foxtrot (2006-04-05 12:18) [1]Вы запятую и точку не перепутали? попоробуйте целое число.
← →
Сергей М. © (2006-04-05 12:21) [2]
> в последнем столбце Grid"a цены на товар
В каком формате ? "адын тугрик" ?
Приведи конкретное значение ..
← →
Nick_serov (2006-04-05 12:30) [3]
> В каком формате ? "адын тугрик" ?
> Приведи конкретное значение ..
формат численный например: 12589
проблема в том, что, когда гружу таблицу, то курсор ставится на первую первый столбец, а там текст, и..... начинает ругаться. Как сделать так, что если в ячейке не число, то он ничего не делает, а если число, то...edit.text := grid.selectedtext;
?????????????
← →
Плохиш © (2006-04-05 12:31) [4]try except end
← →
Nick_serov (2006-04-05 12:40) [5]
> 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:42) [6]
> все равно ругается..... пробовал
Запускай программу не из делфи.
> application.Terminate;
Мне понравилось :-))
← →
Nick_serov (2006-04-05 12:52) [7]
> > application.Terminate;
>
> Мне понравилось :-))
Да это я так, шоб было че =)))
Запустил не из делфи - вроде получилось... псиба. Будем дальше грабли искать.
← →
MsGuns © (2006-04-05 13:34) [8]Все в куче: датасет с полями, грид с ячейками, флоаты со стрингами..
Может, почитать о принципах доступа к БД в Делфи и "не путать дебют с дуплетом" ?
← →
Nick_serov (2006-04-05 13:39) [9]ха... возникли еще вопросы:
как сделать так, чтобы если в 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:44) [10]Да.. представляю, сколько опять возникнет вопросов, когда диапазон поменяется на 10000-20000 или будет 2 диапазона ;)))
← →
Игорь Шевченко © (2006-04-05 13:47) [11]MsGuns © (05.04.06 13:44) [10]
Важно найти нужный компонент.
← →
Nick_serov (2006-04-05 13:53) [12]
> Да.. представляю, сколько опять возникнет вопросов, когда
> диапазон поменяется на 10000-20000 или будет 2 диапазона
> ;)))
У меня будет 5 диапазонов, если число входит в 1 диапазон, то оно умножается на 12%, если во второй диапазон, то умножается на 10% и так далее. Вопрос в том, как это сделать так, чтобы действие выполнялось при 2-х значениях d < 2000 и d > 1000........
??????????????
← →
Nick_serov (2006-04-05 13:53) [13]
> Да.. представляю, сколько опять возникнет вопросов, когда
> диапазон поменяется на 10000-20000 или будет 2 диапазона
> ;)))
У меня будет 5 диапазонов, если число входит в 1 диапазон, то оно умножается на 12%, если во второй диапазон, то умножается на 10% и так далее. Вопрос в том, как это сделать так, чтобы действие выполнялось при 2-х значениях d < 2000 и d > 1000........
??????????????
← →
Плохиш © (2006-04-05 13:56) [14]
> MsGuns © (05.04.06 13:34) [8]
> Все в куче: датасет с полями
Вроде автор про бд ничего не говорил. Телепатор тренеруете?
← →
Nick_serov (2006-04-05 14:01) [15]
> У меня будет 5 диапазонов, если число входит в 1 диапазон,
> то оно умножается на 12%, если во второй диапазон, то умножается
> на 10% и так далее. Вопрос в том, как это сделать так, чтобы
> действие выполнялось при 2-х значениях d < 2000 и d > 1000.
> .......
>
> ??????????????
Вопрос остается открытым....
← →
MsGuns © (2006-04-05 14:04) [16]>Вопрос остается открытым....
Да ? А он был, вопрос ? Я вот только увидел крик о помощи. Тонущего в луже.
← →
Nick_serov (2006-04-05 14:10) [17]
> Да ? А он был, вопрос ? Я вот только увидел крик о помощи.
> Тонущего в луже.
Если не желаете спускаться с небес, чтобы помочь мне, простому и жалкому смертному, который не достоин ваших наиумнейших изречений, то вас никто и не умоляет, "Уважаемый"......
← →
icWasya © (2006-04-05 14:18) [18]>if d < 2000 and d > 100 then // <<<тут ошибку находит
if (d < 2000) and (d > 100) then // <<<тут ошибку не находит
← →
Nick_serov (2006-04-05 14:23) [19]to icWasya ©
Спасибки =) заработало!!!!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.046 c