Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.042 c
9-1128328498
XCoder
2005-10-03 12:34
2006.04.16
Камера


4-1138348951
maxim161
2006-01-27 11:02
2006.04.16
Сервис и форма


2-1143629843
Федя
2006-03-29 14:57
2006.04.16
Ну, неужели никто не знает? Chart, Date, Time


2-1143973368
MVP
2006-04-02 14:22
2006.04.16
Объясните пожалуйста как пользоваться scanline и region?


15-1143130706
Parus
2006-03-23 19:18
2006.04.16
Коллекция MIDов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский