|
Вопрос # 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. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|