![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Народ, гдо шарит помогите пжлс!
Осуществить одновременный доступ на чтение и запись в файл, запись данных необходимо поместить в позицию N/2, где N – объем файла, при этом объем файла возрастает. Заранее спс |
|
#2
|
|||
|
|||
|
Я бы делал через поток.
Код:
var
F : TFileStream;
P : Pointer;
Pz, Sz : Integer;
D : String;
begin
F := TFileStream.Create('my_file.txt',fmOpenread Or fmOpenWrite);
Pz := F.Size div 2;
Sz := F.Size - Pz;
GetMem(P,Sz);
F.seek(Pz,soFromBegining);
F.ReadBuffer(P^,Sz);
F.seek(Pz,soFromBegining);
D := 'New data';
F.WriteBuffer(D[1],Length(D));
F.WriteBuffer(P^,Sz);
FreeMem(P,Sz);
F.Free;
end; |