casa

Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];
giù

E puoi bloccare l'accesso alla cartella, qualcosa come fmShareExclusive, ma per la cartella ??? Trova rami simili


Arte (2001-12-18 15:12) [0]

А можно заблокировать доступ к папке,что-то типа fmShareExclusive ,но для папки???



Alexey Petrov (2001-12-18 16:08) [1]

С помощью CreateFile можно открыть и директорию, в т.ч. и эксклюзивно.

Provalo ...

Подробности в MSDN



cdaDmitriy (2001-12-18 17:20) [2]

> Алексей Петров ©
SOURCE for use CreateFile for
С помощью CreateFile можно открыть и директорию ? ...



Alexey Petrov (2001-12-18 17:23) [3]

> cdaDmitriy © (XNUMX XNUMX:XNUMX)
Читайте MSDN.
Source я в тривиальных случаях не привожу.



Arte (2001-12-18 17:25) [4]

Я обязательно попробую ,но от слов MSDN веет чем-то мелкософтовым,а я про Дельфи!!




cdaDmitriy (2001-12-18 17:40) [5]

> Алексей Петров © я в тривиальных случаях не привожу ?
я пробовал ... попробуй идай пример.



cdaDmitriy (2001-12-18 17:47) [6]

SXNUMX:="D:\ICON\"; в т.ч. и эксклюзивно
H := Integer(CreateFile(PChar(SXNUMX), GENERIC_READ, 0 , nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, XNUMX));
labelXNUMX.Caption:=inttostr(H);
if H < XNUMX then raise EFCreateError.CreateResFmt(@S, [SXNUMX]);



Arte (2001-12-18 17:53) [7]

cdaDmitriy откудова ты ето достал,я не сомневаюсь в работоспособности кода,но охота почитать по поводу директорий



cdaDmitriy (2001-12-18 17:59) [8]

help for CreateFile and попробовал



Arte (2001-12-18 20:24) [9]

Ребят вы или дураки или читать не умеете.Был задан вопрос Заблокировать папку надо,доступ к ней. А вы про файлы мне???Я сначала не поверил,но потом я все выяснил,все написанное здесь,кроме моего вопроса - чушь!




Anatoly Podgoretsky (2001-12-18 20:28) [10]

Да и как ты думаешь будут тебе отвечать в дальнейшем, я не хочу проверять приведенный код, но хинт следующий Папка такой же файл.



Arte (2001-12-18 21:39) [11]

Ђнатолий,значит Я - дурак!!! ? все тут!!! џ пробовал и код приведенный выше и сам писал и ничего не прошло,если указывать директорию - ничего не менЯетсЯ,а если файл , то все ЋЉ работает,файл заблокирован!!! ? как с этим быть???



Alexey Petrov (2001-12-19 08:41) [12]

Еще хинт:
В коде, приведенном "cdaDmitriy © (XNUMX XNUMX:XNUMX)" XNUMX ошибки.
XNUMX. В имени директории конечный "\" - лишний.
XNUMX. Проверка открылся ли файл должна выполняться проверкой на INVALID_HANDLE_VALUE, а не <XNUMX. В текущей версии Delphi и WinAPI Integer(INVALID_HANDLE_VALUE) конечно <XNUMX, но это может поменяться, к тому-же, теоретически возможно появление корректного Handle, такого, что Integer(Handle)<XNUMX.
XNUMX. Для проверки ошибок WinAPI - удобнее писать
WinXNUMXCheck(H<>INVALID_HANDLE_VALUE)

> Arte © (18.12.01 17: 25)
Если MSDN смущает - смотри в SDK help, это собственно усеченная версия MSDN-а. А из Delphi все API прекрасно вызывается.



cdaDmitriy (2001-12-19 09:31) [13]

> Алексей Петров ©

XNUMX. В имени директории конечный "\" - лишний.
он не лишний а избыточный :

lpFileName

Points to a null-terminated string that specifies the name of the object (file, pipe, mailslot, communications resource, disk device, console, or directory) to create or open.

If *lpFileName is a path, there is a default string size limit of MAX_PATH characters. This limit is related to how the CreateFile function parses paths.
Windows NT: You can use paths longer than MAX_PATH characters by calling the wide (W) version of CreateFile and prepending "\\?\" to the path. The "\\?\" tells the function to turn off path parsing. This lets you use paths that are nearly XNUMX Unicode characters long. You must use fully-qualified paths with this technique. This also works with UNC names. The "\\?\" is ignored as part of the path. For example, "\\?\C:\myworld\private" is seen as "C:\myworld\private", and "\\?\UNC\tom_XNUMX\hotstuff\coolapps" is seen as "\\tom_XNUMX\hotstuff\coolapps".

XNUMX. посмотри реализацию unit Classes; хотя
WinXNUMXCheck(H<>INVALID_HANDLE_VALUE) надежней.


{ TFileStream }

constructor TFileStream.Create(const FileName: string; Mode: Word);
iniziare
if Mode = fmCreate then
iniziare
FHandle := FileCreate(FileName);
if FHandle < XNUMX then
raise EFCreateError.CreateResFmt(@SFCreateError, [FileName]);
end else
iniziare
FHandle := FileOpen(FileName, Mode);
if FHandle < XNUMX then
raise EFOpenError.CreateResFmt(@SFOpenError, [FileName]);
fine;
fine;

Art © все работает если хочешь пиши пришлю




Pagine: 1 tutto il ramo

Forum: "Principale";
Archivio attuale: 2002.01.08;
Scarica: [xml.tar.bz2];

al piano di sopra

Top.Mail.Ru Yandeks.Metrika













Memoria: 0.8 MB
Ora: 0.028 c
7-22443
masik
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
PopUp menu YXNUMXk


3-21959
Николаев Констанитн
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
Ошибка при активизации TTable???


1-22148
Delphimun
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
Как послать системе сообщение, что нажата клавиша?


14-22323
Melamed
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
Come correggere questi dati personali, registrati al momento della registrazione?


4-22483
Stropal
XNUMX-XNUMX-XNUMX XNUMX:XNUMX
2002.01.08
Параметры фукнции





afrikaans albanese Arabic armeno Azero basco bielorusso Bulgarian catalano Cinese (semplificato) Cinese (tradizionale) croato Ceco danese Dutch Inglese estone filippina Finnish Francese
galiziano georgiano Tedesco greco Creolo haitiano ebraico hindi ungherese islandese Indonesian irlandese Italiano Giapponese Korean lettone lituano macedone Malay maltese Norwegian
persiano polacco Portoghese rumeno Russian serbo Slovak sloveno Spagnolo swahili Swedish Thai turco ucraino Urdu vietnamita gallese yiddish bengalese bosniaco
Cebuano esperanto Gujarati Hausa Hmong Igbo giavanese kannada khmer lao latino maori marathi mongolo nepali punjabi somalo tamil telugu Yoruba
zulù
Английский Francese tedesco italiano portoghese russo spagnolo