Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Опять же вопрос по Grid у... (больше не буду.....наверно =))   Найти похожие ветки 

 
Nick_serov   (2006-04-07 22:27) [0]

Проблемка такая:

У меня есть Грид, в который я гружу Екселевский прайс, в 7-м столбце располагаются цены на товары. Задача программы в расчете наценки на товар в зависимости от её стоимости (для этого я брал диапазоны и если стоимость(которая находится в 7 столбце) попадает в данный диапазон, то прибавляется определенный процент, приписанный к данному диапазону и конечное значение записывается в Edit с заголовком ЦЕНА МАГАЗИНА)  Причина в том, что все это проделывается с числом, которое записано в ячейку, которая выделена в данный момент , т.е. конечную стоимость можно увидеть только в Edit"e и только при наведении на цену. Мне нужно, чтобы конечная стоимость расчитывалась и писалась в соседней ячейке(возле со стоимостью) , т.е в 8 столбце по нажатии хнопашки...    хух... вроде всецело описал проблему =)

посоветуйте мне плиз, как это осуществить????


 
Anatoly Podgoretsky ©   (2006-04-07 23:24) [1]

Расчетное поле


 
Nick_serov   (2006-04-08 00:29) [2]


> Anatoly Podgoretsky ©   (07.04.06 23:24) [1]
>
> Расчетное поле


А можно поподробней пожалуйста?


 
Плохиш ©   (2006-04-08 03:59) [3]


> Мне нужно, чтобы конечная стоимость расчитывалась и писалась
> в соседней ячейке(возле со стоимостью) , т.е в 8 столбце
> по нажатии хнопашки

Как взять значение из ячейки проблем не составляет? Так операция записи в ячейку является обратной операции чтения. Или я чего-то не понял?


 
Nick_serov   (2006-04-08 15:55) [4]

здесь как я понимаю цикл надо применить что-то вроде

for i := 1 to grid.row.count

блин, проблема в том, что я циклам не обучен (да, вот такое я ламо =))

хелп кто нить


 
Nick_serov   (2006-04-08 15:59) [5]

ну блин вот так пытался - ниче хорошего ((((

procedure TForm1.xpButton6Click(Sender: TObject);
var
c : integer;
begin
with grid1 do
for i := 1 to grid1.RowCount do
cells[8,c] := edit6.Text;
end;


 
Nick_serov   (2006-04-08 16:28) [6]

видоизменил до такого, результат нулевой ((((

procedure TForm1.xpButton6Click(Sender: TObject);
var
c : integer;
begin
with grid1 do
for i := 1 to 10 do
begin
cells[8,c + 1] := edit6.Text;
end;
end;

end.


 
Gydvin ©   (2006-04-08 17:22) [7]

а причем здесь С
если в цикле используешь I


 
Anatoly Podgoretsky ©   (2006-04-08 19:28) [8]

Nick_serov   (08.04.06 15:55) [4]
блин, проблема в том, что я циклам не обучен (да, вот такое я ламо =))

Опа, так надо начинать с самых основ языка, а это уже не для форума


 
Nick_serov   (2006-04-08 21:14) [9]


> Anatoly Podgoretsky ©   (08.04.06 19:28) [8]


приаерно знаю, но не приходилось применять, смотрите ккод, лучше бы что дельное посоветовали


> Gydvin ©   (08.04.06 17:22) [7]



> а причем здесь С
> если в цикле используешь I
>


Пардон, очепятка...


 
Nick_serov   (2006-04-08 22:11) [10]

procedure TForm1.xpButton6Click(Sender: TObject);
var
i : integer;
begin
with grid1 do
for i := 1 to grid1.RowCount do
begin
cells[8,i + 1] := edit6.Text;
end;
end;


вот теперь пишет то, что в Edit, а как мне сделать, чтобы в цикл входило последовательное выделение строки (одна за одной до grid1.RowCount) сверху вниз? т.к каждой ячейке соответсвует свое значение в Edit"e. т.е, когда выделяешь ячейку, то для нее высвечивается свое значение в Edit...

подскажите пжалста


 
Kolan ©   (2006-04-09 01:43) [11]

Как-то так:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 I: Integer;
 R: TGridRect;
begin
 with Grid1 do
   for I := 0 to Grid1.RowCount - 1 do
   begin
     Cells[8,I + 1] := Edit1.Text;
   end;
   R.Left := 8;
   R.Top := 1;
   R.Right := 8;
   R.Bottom := 8;
   Grid1.Selection := R;
end;


Кстати работает и так, но почему незнаю:

procedure TForm1.BitBtn1Click(Sender: TObject);
var
 I: Integer;
 R: TGridRect;
begin
 with Grid1 do
   for I := 0 to Grid1.RowCount - 1 do
   begin
     Cells[8,I + 1] := Edit1.Text;
   end;
   R.Left := 8;
   R.Top := 1;
   Grid1.Selection := R;
end;


 
Volkov   (2006-04-09 11:40) [12]


> Kolan ©   (09.04.06 01:43) [11]


Блин, не выходит, прописывает в рядом стоящий столбец(весь его заполняет) значение Edit1 только для выделенной в данный момент ячейки, а у меня когда идешь по столбцу ячеек с исходным значение сверху вниз, то для КАЖДОЙ ячейки в Edit1 высвечивается СВОЕ значение. По сути цикл должен быть примерно таким :

for I := 0 to Grid1.RowCount - 1 do
определяем в координаты ячейки, в которой мы находимся; //?????
Cells[8,I + 1] := Edit1.Text;
перемещаемся на строку ниже // ?????????
end;


==========================================
// ???????  - означает, что я не знаю как это сделать

думал: может применить эмуляцию нажатия клавиши (вниз),
но опять же не знаю как это делается

если кто знает, напишите плиз


 
Nick_serov   (2006-04-09 11:48) [13]

Пардон, Volkov   (09.04.06 11:40) [12]  - это моя запись  (сонный я, не так подписался =)


 
Nick_serov   (2006-04-09 11:49) [14]

вообщем проблема свелась к тому, что нужно переместиться на ячейку, которая ниже выделенной

кто знает как???


 
EvS ©   (2006-04-09 12:10) [15]

>кто знает как???

Не маятся дурью.
Код из обработчика события выделения перенести в цикл.
Тогда и выделять не нужно будет и Edit не понадобится.


 
Std ©   (2006-04-09 12:32) [16]

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


 
Anatoly Podgoretsky ©   (2006-04-09 12:34) [17]

Nick_serov   (09.04.06 11:49) [14]
Row + 1


 
Nick_serov   (2006-04-09 13:46) [18]

Усе, товарищи, сам допер, вот тока пральный ответ уже опубликовали
> Anatoly Podgoretsky ©   (09.04.06 12:34) [17]
>
> Nick_serov   (09.04.06 11:49) [14]
> Row + 1


=))))))))))))))))

Всем спасибо!!!!!!!!



Страницы: 1 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
2-1144474928
bagos[XZ]
2006-04-08 09:42
2006.04.23
проблема с импортом


15-1144134954
Kolan
2006-04-04 11:15
2006.04.23
Ктонибудь знает как подсчитать интеграл в Maple?


8-1132830908
Noby
2005-11-24 14:15
2006.04.23
как заставить TMediaPlayer воспроизводит из


2-1144171420
Gear
2006-04-04 21:23
2006.04.23
динамическое создание кнопок на ToolBar


2-1144338266
новенький
2006-04-06 19:44
2006.04.23
Как сделать переключение?





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