Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Файловая система
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 30.09.2011, 23:58
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию Объясните одну вещь...

Доброго времени суток!

Это кусок кода из программы стороннего разработчика:

Код:
var
  Buffer: array [1..512] of Byte;

F := CreateFile('\\.\H:', GENERIC_WRITE, FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_FLAG_RANDOM_ACCESS, 0);
if F <> INVALID_HANDLE_VALUE then
begin
  SetFilePointer(F, 512 * 4, nil, 0); // ???
  { ... }
  WriteFile(F, Buffer, SizeOf(Buffer), BytesCount, nil);
end;

Объясните, пожалуйста, в какую область на USB-накопителе (H записываются данные?

Заранее спасибо!
Ответить с цитированием
  #2  
Старый 01.10.2011, 00:07
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

В свободную.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 01.10.2011, 00:14
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, куда-то на третьий килобайт.
Надо смотреть что там. Скорее всего FAT. Почитай вот здесь: http://en.wikipedia.org/wiki/Master_boot_record
Ну и далее по ссылкам. Может чего найдешь.
Ответить с цитированием
  #4  
Старый 01.10.2011, 09:54
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию

Цитата:
Сообщение от lmikle
Ну, куда-то на третьий килобайт.
Надо смотреть что там. Скорее всего FAT. Почитай вот здесь: http://en.wikipedia.org/wiki/Master_boot_record
Ну и далее по ссылкам. Может чего найдешь.

Как ты определил, что это третий? 512 * 4 = 2048?
Ответить с цитированием
  #5  
Старый 01.10.2011, 13:06
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Цитата:
Сообщение от GriLab
Как ты определил, что это третий? 512 * 4 = 2048?
диапазон 0-1023 : 1-ый кб
диапазон 1024-2047 : 2-ой кб
диапазон 2048-3071 : 3-ий кб
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #6  
Старый 01.10.2011, 14:04
Аватар для GriLab
GriLab GriLab вне форума
Начинающий
 
Регистрация: 26.11.2010
Адрес: Минск
Сообщения: 190
Версия Delphi: XE 15.0.3890
Репутация: 415
По умолчанию

Спасибо большое.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:02.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter