![]() |
|
|
Регистрация | << Правила форума >> | 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; |