Показать сообщение отдельно
  #3  
Старый 23.08.2007, 05:47
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Берем TStringList, у него реализована и вставка строки и удаление и добавление. Грузим в него файл.
Пишем функцию которая возвращает количество записей/блоков в этом TStringList.
Затем пишем функцию которая читает блок по его номеру. Например если "описание" - одна строка, то блок с номером 7 следует читать таким образом: читаем 3 строки из позиции (7*3)-1, т.е. строки с индексами 20,21,22. Ну и естественно перед чтением нужно проверять существует ли такой блок в файле, т.е. его номер не больше количества блоков.
Затем пишем вставку блока в конкретную позицию. Так же вставляем 3 строчки начиная от определенной позиции.
Ну и в оконцовке - удаление
Ответить с цитированием