Создадим программу для магазина. В таблицу можно добавлять, удалять и покупать товар со склада.
Поставьте на форму следующие компоненты: StringGrid1 (SG), 5 меток Label с заголовками «Код товара», «Название», «Цена», «Количество», «Введите количество покупаемого товара», 5 строк ввода Edit, 3 кнопки: «Купить», «Добавить товар», «Удалить товар», «Выход».
В таблице понадобится фиксированная строкадля названия колонок. Поэтому свойству FixedCols в Инспекторе Объектов присвоим значение 0.
Свойству ColCount зададим значение 4, а RowCount зададим значение 2, так как сначала товаров не будет.

Опишем процедуру заполнения фиксированных ячеек (процедура по созданию формы):
procedure TForm1.FormCreate(Sender: TObject);
Begin
SG.Cells[0,0]:='Код товара';
SG.Cells[1,0]:='Название';
SG.Cells[2,0]:='Цена';
SG.Cells[3,0]:='Количество';
end;
Вторая процедура на кнопку «Добавить товар» будет заключаться в том, что из полей ввода в таблицу переносятся в соответствующие ячейки код, название, цена и количество товара, причем в выбранную пользователей строку.
procedure TForm1.BitBtn1Click(Sender: TObject);
Begin
SG.Cells[0,SG.row]:=edit1.Text;
SG.Cells[1,SG.row]:=edit2.Text;
SG.Cells[2,SG.row]:=edit3.Text;
SG.Cells[3,SG.row]:=edit4.Text;
SG.RowCount:=SG.RowCount+1;
// увеличиваем количество строк в таблице
SG.row:=SG.row+1;// делаем текущей следующий ряд
end;
StringGrid1.row – текущая строка, StringGrid1.col – текущий столбец.
Самостоятельно напишите процедуру для кнопок «Купить товар» и «Удалить товар», учитывая введенное количество товара.