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

Вниз

удаление информации из файла   Найти похожие ветки 

 
Zendor ©   (2004-03-23 11:50) [0]

Какие существуют способы удаление из файлов произвольной длины некоторого количества байт в проекте на DElphi 8 с Windows Forms.


 
Fay ©   (2004-03-23 11:57) [1]

С сохранением работоспособности?


 
GLFox   (2004-03-23 11:57) [2]

А причем тут собственно Delphi, для работы с произвольным фрагментом файла можно использовать WinAPI"шную штучку, которая называется Memory Mapped Files


 
Тимохов ©   (2004-03-23 11:58) [3]

один из способов - перезапись нужных байт и пропуск не нужных байт в новом файле


 
Ztndor   (2004-03-23 12:08) [4]

а если без применения WinApi, и с сохранением работоспособности?


 
Тимохов ©   (2004-03-23 12:11) [5]

а какая рабоспособность у файла произвольной динны?


 
Zendor ©   (2004-03-23 12:13) [6]

в зависимости от ситуации, хотя мне нужно дя работы с базой произвольной длины, куда записываются и откуда удаляется информация


 
Тимохов ©   (2004-03-23 12:16) [7]

в исходном вопросе вы спрашивали как удалить, один из способов приведен в 3.

как сохранить работоспособность - это уже ваше дело, вряд ли вам в этом может кто-то помочь по столь скудной информации, которую вы привели.


 
Rouse_ ©   (2004-03-23 12:24) [8]

Для сохранения работоспособности ИМХО нужно знать формат файла...


 
Zendor ©   (2004-03-23 12:26) [9]

способ номер три скорее всего не подходиттак как как все пишется на .net и для .net

а работоспособность это чтоб файл загружался да время затрачиваемое на удаление не было слишком высоким вот и спрашиваю про разные способы


 
Тимохов ©   (2004-03-23 12:29) [10]


> Zendor ©   (23.03.04 12:26) [9]

до нета пока не добрался, но сомневаюсь, чтобы там нельзя было создавать файлы.

про время: зависит от размера файла. и что такое слишком высокое? какое для этого ваше субъективное (или еще лучше объективное) мерило?


 
Zendor ©   (2004-03-23 12:38) [11]

единственный способ который я знаю копирование в другой файл всего этого не копирую некоторый кусок, но при большах размерах файлов это...


 
Serginio666   (2004-03-23 12:42) [12]

Все также, копирование через буффер массива байт с записью в файл со смещением количества удаляемых байт с усечением длины файла на это количество. Смотри
System.IO.FileStream и его методы

public function Read([in,out] array: array of Byte; offset: Integer; count: Integer): Integer; override;

public procedure Write(array: array of Byte; offset: Integer; count: Integer); override;

public procedure SetLength(value: Int64); override;


 
Zendor ©   (2004-03-23 12:50) [13]

> Serginio666

но даже если мы сделаем массив под размер кластера на диске при больших объемах файлов это...


 
TUser ©   (2004-03-23 13:53) [14]

Тут в каком-то посте автор упомянул, что нужна база. Так может сразу для базы данных и писать. И пусть BDE/ADO/dbE/... думает, как там чего-то удалять.


 
Serginio666   (2004-03-23 15:13) [15]

>>> Zendor ©   (23.03.04 12:50) [13]
Нужно размер буффера подбирать по кэш процессора, а не размер кластера.
У тебя есть другие предложения????


 
Zendor ©   (2004-03-23 16:12) [16]

> TUser
нет стоит другая задача

> Serginio666
а как под кэш,  ведь в кэше пишется и другая инфа?  под размер кластера я слышал для более быстрой работы с жестким диском


 
Тимохов ©   (2004-03-23 16:14) [17]


> Zendor ©   (23.03.04 16:12) [16]

у вас есть проблемы с быстродейтвием?


 
Serginio666   (2004-03-23 17:19) [18]

>>Zendor ©   (23.03.04 16:12) [16]
http://www.rsdn.ru/Forum/Message.aspx?mid=556030&only=1
http://www.rsdn.ru/Forum/Message.aspx?mid=556822&only=1
http://www.rsdn.ru/Forum/Message.aspx?mid=559132&only=1
http://www.rsdn.ru/Forum/Message.aspx?mid=562937&only=1



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

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

Наверх




Память: 0.5 MB
Время: 0.03 c
1-1082589588
Demi
2004-04-22 03:19
2004.04.11
Что такое SetWallpaper


3-1081862519
andruxin
2004-04-13 17:21
2004.04.11
Проблема SQL-запроса на разных ОС.


14-1079626797
Mox Fulder
2004-03-18 19:19
2004.04.11
Опять сети (как они достали...)


14-1079089350
_none_
2004-03-12 14:02
2004.04.11
небольшой соц.опрос: купили бы вы электроскутер?


3-1079438870
DimonNew
2004-03-16 15:07
2004.04.11
DBLookupComboBox