Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.01;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.057 c
15-1173429612
antonn
2007-03-09 11:40
2007.04.01
Проблемка с руским текстом в IE


3-1168866635
Alek_1
2007-01-15 16:10
2007.04.01
Как быстрее переслать данные клиенту


15-1173096896
Kerk
2007-03-05 15:14
2007.04.01
Федор Бондарчук снимает Обитаемый остров


15-1173038445
Romm
2007-03-04 23:00
2007.04.01
PHP и MySQL срочно!


15-1173015018
Riply
2007-03-04 16:30
2007.04.01
Комментарии в dpr файле.