Вниз
Скачать: CL | DM;

Вопрос по ф-ции LockFile   Найти похожие ветки 

← →
T.V   (2007-03-14 13:51) [0]

Доброго времени суток! Пытаюсь заблокировать текстовый файл начиная с 3-го байта и до конца
файла. Почему Блокнот может прочитать весь файл а не первые 2 байта?  
Правильно ли я понимаю, что если указать смещение от которого происходит блокировка файла,
то байты ДО этого смещения могут быть доступны для чтения, а остальные будут не видны?
Вот код

var
hTxtFile,fsz: Integer;

procedure TForm1.Button2Click(Sender: TObject);
begin
 hTxtFile := FileOpen(ExtractFilePath(Application.ExeName) + "Text.txt",
   fmOpenRead or fmShareDenyNone);
 if hTxtFile <> -1 then
 begin
   fsz := GetFileSize(hTxtFile,nil);
   if not LockFile(hTxtFile,3,0,fsz - 2,0) then
   begin
     FileClose(hTxtFile);
     ShowMessage(SysErrorMessage(GetLastError));
   end;
 end else
   ShowMessage(SysErrorMessage(GetLastError));
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 if hTxtFile <> -1 then FileClose(hTxtFile);
end;


← →
Сергей М. ©   (2007-03-14 14:17) [1]


> Почему Блокнот может прочитать весь файл а не первые 2 байта?


А с чего ты взял, что Блокнот читает оригинал ?


← →
T.V   (2007-03-14 14:22) [2]

> Сергей М. ©   (14.03.07 14:17) [1]
А что же он тогда читает, если файл заблокирован?


← →
Сергей М. ©   (2007-03-14 14:26) [3]


> если файл заблокирован?


А он и не заблокирован)


← →
T.V   (2007-03-14 14:40) [4]

> А он и не заблокирован)

из-за fmShareDenyNone? Тогда в чем смысл LockFile, если я могу открыть файл в режиме fmShareExclusive и запретить доступ другим программам к этому файлу? Чего-то я не понимаю...


← →
Сергей М. ©   (2007-03-14 15:15) [5]


> Чего-то я не понимаю...


Блокнот копирует оригинал во временный файл и открывает для просмотра/редактирования именно временный файл.
А этому ты никак не препятствуешь, судя по mShareDenyNone



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
15-1173018320
Капибара из дома
2007-03-04 17:25
2007.04.01
Загадги древнего Египта


15-1173095251
Calibr
2007-03-05 14:47
2007.04.01
Frame на веб-странице


15-1173425895
vajo
2007-03-09 10:38
2007.04.01
SD - MiniSD


2-1173305867
ДжекиМайер
2007-03-08 01:17
2007.04.01
достучатся до свойств


15-1173175507
Ксардас
2007-03-06 13:05
2007.04.01
Не подскажите сайт...




   Наверх