Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.13;
Скачать: CL | DM;

Вниз

Как   Найти похожие ветки 

 
Sergey_la   (2004-01-29 00:40) [0]

Проблема заключается в следующем:
Есть файл длиной где-то в 300 Мб, в конце этого файла -
50 Мб нулей. Как можно получить файл длиной в 250 Мб, не прибегая к копированию даных в новый файл?


 
Palladin ©   (2004-01-29 00:47) [1]

Truncate + F1


 
Slym ©   (2004-01-29 03:58) [2]

SetEndOfFile


 
8ung ©   (2004-01-29 11:43) [3]

Работай с Tmemorystream.
При загрузке файла Tmemorystream грузит файл в память. Таким образом ты можешь изменять файл, открытый Tmemorystream, а затем записать его поверх старого.


 
jack128 ©   (2004-01-29 11:49) [4]


> 8ung © (29.01.04 11:43) [3]
ну да и 300 мешков памяти занимаешь, просто так..


 
8ung ©   (2004-01-29 11:54) [5]

Допустим нули начинаются с байта по адресу $20.
Пример:
var
tm1,tm2 : TMemoryStream;
begin
tm1 := TMemoryStream.Create;
tm2 := TMemoryStream.Create;
tm1.LoadFromFile("C:\file.EXE");//загрузить в tm1 файл "C:\file.EXE"
tm1.Seek(0,soFromBeginning);//прейти в позицию 0 в файле
tm2.CopyFrom(tm1,$20);//скопировать из tm1 в tm2 20h байт
tm1.Free;
tm2.SaveToFile("C:\file.EXE");//сохранить полученный файл в "C:\file.EXE"
tm2.Free;
end;


 
Vit@ly ©   (2004-01-29 11:58) [6]

> Sergey_la (29.01.04 00:40)
читай Palladin © (29.01.04 00:47) [1]
Assign
Reset( ,1)
Seek()
Truncate
Close


 
Palladin ©   (2004-01-29 11:58) [7]


> 8ung © (29.01.04 11:54) [5]

более идиотского решения придумать нельзя...


 
pasha_golub ©   (2004-01-29 12:56) [8]

Palladin © (29.01.04 11:58) [7]

Можно. :-)

for i:= FileSize(F) downto DeletePos do
begin
Seek(F,i);
Truncate(F);
end;


 
Sergey_la   (2004-02-04 00:44) [9]

Ребят, спасибо большое!



Страницы: 1 вся ветка

Текущий архив: 2004.02.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.036 c
14-39049
DeMoN-777
2004-01-25 14:05
2004.02.13
Поиск в ХР


14-39043
ИМХО
2004-01-26 02:24
2004.02.13
Наушники <-> колонки


1-38793
Michail Dalakov
2004-02-02 20:37
2004.02.13
Font при Enabled:=false


14-39023
Valerian
2004-01-26 08:47
2004.02.13
Не могу установить некоторые программы и игры


14-39083
Ломброзо
2004-01-24 00:13
2004.02.13
За Родину, за Путинда!