Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.01;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по ф-ции 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.041 c
8-1153670177
Степан
2006-07-23 19:56
2007.04.01
OpenGL.pas и памятники :)


2-1173103378
djnz
2007-03-05 17:02
2007.04.01
подключится к firebird из delphi


3-1168369928
Aspyrin
2007-01-09 22:12
2007.04.01
Создание запросов на вставку,апдейт инфы с помощью эл. ADOQuery


2-1173776010
Эшили
2007-03-13 11:53
2007.04.01
Самодельный Web-brouser


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский