Главная страница
    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.044 c
2-1143471867
Setor
2006-03-27 19:04
2006.04.16
Как записать данные в начало файла


2-1143716825
Рафик
2006-03-30 15:07
2006.04.16
КТо нибудь знает как мне попроще вытащить один бит из ком порта


15-1143100591
Xception
2006-03-23 10:56
2006.04.16
Generacija TTH hash a na Delphi


15-1143274248
zeff
2006-03-25 11:10
2006.04.16
как лучше сохранять иконку без потери в цвете


2-1144087536
TimScorp
2006-04-03 22:05
2006.04.16
Количество найденых записей





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский