Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2007, 12:56   #11
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Jeni Посмотреть сообщение
Это можно только в том случае, если "старый" и "новый" куски кратны размеру кластера, т.е. такой вариант не слишком универсальный, по крайней мере, для 1000 или 1200 байт не пройдет.
Дичь полная...
Вы бы не торопились с такими категоричными заявлениями...
Подумать сперва тоже бывает полезно..

Расписать? Пжалста...
Не поленился, набросал картинку (великая вещь - графическое представление):
Вложение 2008
Вся тонкость - в вычислении и прописывании в фате:
1. нового конца первого куска
2. нового начала длинного куска
3. начала и конца вставляемого куска (желтый) и перенесенного (зеленый)
4. какой за каким следует...

Последний раз редактировалось mihali4; 08.11.2008 в 14:04.
mihali4 вне форума Ответить с цитированием
Старый 15.12.2007, 13:07   #12
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Ну и как-же сделать такую вставку (исходя из первого сообщения)? Распишите, пожалуйста! Я знаю структуру FAT, работал с ней вручную, так что объяснения пойму.
Jeni вне форума Ответить с цитированием
Старый 17.12.2007, 10:59   #13
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
Сообщение от Jeni Посмотреть сообщение
Это можно только в том случае, если "старый" и "новый" куски кратны размеру кластера, т.е. такой вариант не слишком универсальный, по крайней мере, для 1000 или 1200 байт не пройдет.
Не берусь утверждать, т.к. не знаю, но вот тормозной дефрагментатор в ХР на NTFS-томах обязан такому поведению вот этой особенности http://www.derstein.ru/good/good_44.html (про кратность 16 кластерам)

Вообще конечно довольно соблазнительно вот так "мгновенно" резать/клеить файлы, но я лично пока не встречал такого софта, всякие сплиттеры/редакторы, тот же TC почему-то действуют долго и по-старинке
пыщь
JTG вне форума Ответить с цитированием
Старый 21.12.2007, 22:22   #14
Jeni
Форумчанин
 
Регистрация: 31.05.2007
Сообщений: 486
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Не поленился, набросал картинку (великая вещь - графическое представление):
Честно говоря, не сразу обратил внимание на продолжение темы, т.к. нового сообщения не было.

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Вся тонкость - в вычислении и прописывании в фате:
1. нового конца первого куска
2. нового начала длинного куска
3. начала и конца вставляемого куска (желтый) и перенесенного (зеленый)
4. какой за каким следует...
Просмотрел я картинку, ну и что? "Придумать" такой перенос разных кусков файлов в свободные кластера особого ума не нужно (и саму FAT при этом модифицировать несложно). Но вы лучше скажите, каким образом будет храниться информацию о том, где какой кусок кончается? Ведь система, точнее драйвер FAT об этом ничего не знает!
Во всяком случае "прозрачной" работы с таким файлом не получится. Придется, фактически, всё делать "вручную", т.е. модифицировать работу драйвера файловой системы.

Ну, может я чего не понял, тогда поясните подробнее.

Последний раз редактировалось Jeni; 21.12.2007 в 23:53.
Jeni вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сдвиг данных в dbgrid'e на 1 вверх kate158 БД в Delphi 5 22.08.2008 22:20
циклический сдвиг массива goacher Общие вопросы C/C++ 4 28.05.2008 20:11
циклический сдвиг массива goacher Паскаль, Turbo Pascal, PascalABC.NET 4 27.05.2008 22:26
Циклический сдвиг столбцов в массиве С++ Помогите! Ладушка Общие вопросы C/C++ 10 01.05.2008 23:17