| 
| 
 | Вопрос # 5 379/ вопрос открыт / | 
 |  Здравствуйте!
 Здравствуйте, эксперты!
 
 добрее время суток
 
 помогите пожалйиста
 как удалить запиь из файла
 
 стоит след. структура
 
 спосибо заране
 Приложение:Переключить в обычный режим Unit.... . . Type MemberData = Record MemberId, MemberPassword : String[10]; MemberName, MemberPhone : String[20]; Comments : String[50]; MemBerDebt : Real; PrePayed : Boolean; CreatedAt : TDate; End;  ...... MemberFile : File Of MemberData; ElDelMember : MemberData; Records : Array Of MemberData; .... {$R *.dfm}  Procedure TMembersFrm.FormCreate(Sender: TObject); Begin AssignFile(MemberFile,'members.dat'); {$I-} Reset(MemberFile); {$I+} If IoResult <> 0 Then Rewrite(MemberFile); end; .... // // a .....   Procedure TMembersFrm.Delete1Click(Sender: TObject);  for i:= ListView1.Selected.Index to FileSize(MemberFile)-1 do // begin  end; SetLength(Records,FileSize(MemberFile)); end; 
|  |   Вопрос задал: Hassan (статус: Посетитель)Вопрос отправлен: 6 июня 2011, 18:07
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 6 июня 2011, 19:49; участников в обсуждении: 1. 
|   | min@y™ (статус: Доктор наук), 6 июня 2011, 19:49 [#1]:Короче, советую выкинуть весь этот [censored] код и написать всё заново с использованием TFileStream. Выкидывание записи из файла:
 
 
 открываешь файл;
читаешь записи оттуда, пока не найдёшь нужную (или Seek(), если известен номер записи, которую надо удалить);
копируешь всё остальное в другой TFileStream;
удаляешь исходный стрим, если нужно;
переименовываешь файл, если нужно.
 Вот как-то так...
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |