ホーム
Top.Mail.Ru Yandeks.Metrika
フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

ダウン

また、fmShareExclusiveのようなフォルダへのアクセスをブロックできますが、フォルダに対しては??? 似ている枝を探す


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

また、fmShareExclusiveのようなフォルダへのアクセスをブロックできますが、フォルダに対しては???



Алексей Петров   (2001-12-18 16:08) [1]

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

試してみる

MSDNの詳細



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

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



Алексей Петров   (2001-12-18 17:23) [3]

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



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

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



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

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



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

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




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

cdaDmitriy otkudovaあなたはそれを得た、私はコードが機能していることは間違いないが、ディレクトリについて読みたい



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

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



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

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



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

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



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

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



Алексей Петров   (2001-12-19 08:41) [12]

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

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



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

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

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

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 32,000 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_1\hotstuff\coolapps" is seen as "\\tom_1\hotstuff\coolapps".

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


{ TFileStream }

constructor TFileStream.Create(const FileName: string; Mode: Word);
始まる
if Mode = fmCreate then
始まる
FHandle := FileCreate(FileName);
if FHandle < 0 then
raise EFCreateError.CreateResFmt(@SFCreateError, [FileName]);
他に終わり
始まる
FHandle := FileOpen(FileName, Mode);
if FHandle < 0 then
raise EFOpenError.CreateResFmt(@SFOpenError, [FileName]);
終わり
終わり

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



ページ: 1 全枝

フォーラム: "Main";
現在のアーカイブ:2002.01.08;
ダウンロード:[xml.tar.bz2];

2階









メモリ:0.86 MB
時間:0.035 c
6-22279
デニス
2001-07-28 22:08
2002.01.08
プロキシ経由のNMSMTP


3-21934
アレクシー
2001-12-04 08:52
2002.01.08
助けてください


1-22008
アリゲーター
2001-12-17 11:46
2002.01.08
HELP!


1-22039
ゆりbtr
2001-12-18 10:46
2002.01.08
Форма


1-22018
デルフィッグ
2001-12-18 01:51
2002.01.08
メモからテキストを印刷する 私は何か問題があります....





アフリカーンス語 アルバニア語 Arabic アルメニア語 アゼルバイジャン語 バスク ベラルーシ Bulgarian カタロニア語 中国語(簡体字) 中国語(繁体字) クロアチア チェコ語 デンマーク語 Dutch 英語 エストニア語 タガログ語 Finnish フランス語
ガリシア語 ジョージアン ドイツ語 ギリシャ語 ハイチ語 ヘブライ語 ヒンディー語 ハンガリー語 アイスランド語 Indonesian アイリッシュ イタリア語 日本語 Korean ラトビア語 リトアニア マケドニア語 Malay マルタ語 Norwegian
ペルシア語 ポリッシュ ポルトガル語 ルーマニア Russian セルビア Slovak スロベニア語 スペイン語 スワヒリ語 Swedish Thai トルコ語 ウクライナ語 ウルドゥー語 ベトナム語 ウェールズ語 イディッシュ語 ベンガル語 ボスニア語
セブアノ語 エスペラント グジャラート語 ハウサ語 モン族 イボ ジャワ語 カンナダ語 クメール語 ラオ語 ラテン マオリ語 マラーティー語 モンゴル語 ネパール語 パンジャブ語 ソマリ タミル語 テルグ語 ヨルバ語
ズールー語
Английский Французский Немецкий Итальянский ポルトガル語 Русский Испанский