Видимо что-то такое и надо брать за основу.
Но многое пока не понимаю. К примеру
Код: Выделить всё
// Нужно убедится, что родительская форма в редактировании. Иначе сообщаем
// об этом и прерываем операцию.
Ок. А можно программно переводить форму в режим редактирования?
Дальше
Код: Выделить всё
if SL.Count = 4 then
4 это откуда? Просто заранее известное число? Что-то типа "в таблице 4 столбца"?
Или
Код: Выделить всё
S := WinCPToUtf8(SL[0]);
if not Goods.Locate('название', S, []) then
begin
Goods.Append;
Goods['Название'] := S;
Goods.Post;
end;
"Название" видимо "название" поля. Почему 1-й раз с маленькой, а 2-й с большой? Если с маленькой, то не добавляем? Почему? Ошибка?
А можно названия полей не так явно прописывать, а брать из формы и файла?
Кодировка внутри базы по-умолчанию UTF8?
Возможно вопросы наивны и сам дойду до ответов, но просто некоторое время не программировал и уже кое-что подзабыл )