Среда, 30.07.2025, 08:50 Приветствую Вас Гость

On-line: Книги, учебники, статьи

Главная | Регистрация | Вход | RSS

Удаление записи

Удаление записи

При реализации режима удаления записи нам нужно учесть тот факт, что порядок следования записей в файле и коллекции может быть различным. Поэтому в процедуре DeleteItem организуется цикл поиска в файле удаляемой записи:

Procedure DeleteItem;

{Удаляет указанный в Location элемент данных}

var

D: Integer;

PStr: PString;

s: String;

Data: DataType; 

begin

PStr := PS.At(Location){Получаем текущую запись}

s := copy(PSr,1,LName)

seek(DataFile,0);

D := -1;{D - номер записи в файле}

repeat{Цикл поиска по совпадению поля Name:}

inc(D);

read(DataFile,Data);

with Data do while Length(Name) < LName do

Name := Name+' ' 

until Data.Name=s;

seek(DataFile,pred(FileSize(DataFile))); 

read(DataFile,Data); {Читаем последнюю запись} 

seek(DataFile,D);

write(DataFile,Data); {Помещаем ее на место удаляемой} 

seek(DataFile,pred(FileSize(DataFile))); 

truncate(DataFile); {Удаляем последнюю запись} 

with РS do D := IndexOf(At(Location)); 

PS.AtFree(D); {Удаляем строку из коллекции} 

Draw {Обновляем окно} 

end; {DeleteItem}

Вход на сайт
Поиск
Календарь
«  Июль 2025  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Наш опрос
Как Вам удобнее??
Всего ответов: 341
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0