Здравствуйте! Хочу показать работу (обработка базы данных предприятий) ,в которой не знаю как запрограммировать две кнопки: "Удалить" предприятие и "Изменить" данные о предприятии. Помогите, пожалуйста. Кнопку "Удалить" попробовал обработать, но получается какая-то ахинея.
Кнопку "Удалить" попробовал обработать, но получается какая-то ахинея.
Во-первых, не надо удалять ничего из StringGrid-а, там не хранятся данные. Удалять надо выбранную строку из ListBox-а, с одновременным сдвигом всего, что находится в массиве records ближе к началу начиная с той же позиции (Lb1.ItemIndex + 1)... Если у тебя множественный выбор в ListBox-е отключен, то проще всего это сделать так:
procedure TForm1.SpeedButton3Click(Sender: TObject); // удаление строки begin if lb1.Items.Count = 2 then exit; // Не удаляем, если осталось 2 записи
// Иначе переносим все, что располагалось правее выбранной записи в массиве records Move(records[lb1.ItemIndex + 2], records[lb1.ItemIndex + 1], sizeof(TMyRec) * (200 - (lb1.ItemIndex + 1))); // и удаляем саму строку из ListBox-а. Можно, конечно, сделать // и lb1.Items.Delete(lb1.ItemIndex), но зачем писАть больше? lb1.DeleteSelected; end;