TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

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

При реализации режима удаления записи нам нужно учесть тот факт, что порядок следования записей в файле и коллекции может быть различным. Поэтому в процедуре 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}

 

 

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz