Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Вниз

Опять же вопрос по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.014 c
6-1136916833
vladik
2006-01-10 21:13
2006.04.23
FTP на базе сокетов


15-1143531437
miek
2006-03-28 11:37
2006.04.23
цифровой аппарат+RAW


6-1136972246
NorthMan
2006-01-11 12:37
2006.04.23
Господа, подскажите плиз


2-1144326365
RomanH
2006-04-06 16:26
2006.04.23
IBTable или Table


8-1128977517
Alko
2005-10-11 00:51
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский