Casa
Top.Mail.Ru Yandeks.Metrika
Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

Para baixo

E você pode bloquear o acesso à pasta, algo como fmShareExclusivo, mas para a pasta ??? Encontre agências semelhantes


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

E você pode bloquear o acesso à pasta, algo como fmShareExclusivo, mas para a pasta ???



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

Usando CreateFile, você pode abrir um diretório, incl. e exclusivo.

Experimente ...

Detalhes no MSDN



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

> Alexey Petrov ©
FONTE para uso CreateFile para
Com o CreateFile posso abrir um diretório? ...



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

> cdaDmitriy © (18.12.01 17: 20)
Leia o MSDN.
Fonte I em casos triviais não citam.



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

Eu definitivamente vou tentar, mas a partir das palavras MSDN respira algo melkosoftovym, e eu estou falando de Delphi !!



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

> Alexey Petrov © Eu não cito em casos triviais?
Eu tentei ... tentar dar um exemplo.



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

S1: = "D: \ ICON \"; incluindo e exclusivo
H: = Integer (CreateFile (PChar (S1), GENERIC_READ, 0 , nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0));
label1.Caption: = inttostr (H);
se H <0, em seguida, gerar EFCreateError.CreateResFmt (@S, [S1]);




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

cdaDmitriy da UTD você entendeu, não tenho dúvidas no desempenho do código, mas a caça para ler sobre os diretórios



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

ajuda para CreateFile e tentei



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

Vocês, tolos ou não sabem ler, foi feita uma pergunta para bloquear a pasta, acessá-la. E você sobre os arquivos para mim ??? No começo eu não acreditei, mas depois eu descobri tudo, tudo escrito aqui, exceto pela minha pergunta, é um disparate!



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

Sim, e o que você acha que irá responder no futuro, não quero verificar o código acima, mas a próxima pasta sugere o mesmo arquivo.



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

“Natholii, então eu sou um tolo !!! ? tudo aqui !!! џ Eu tentei o código acima e escrevi eu mesmo e não passei por nada, se você especificar um diretório, nada muda, e se o arquivo é tudo, então tudo funciona, o arquivo está travado !!! ? Como lidar com isso ???



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

Outra sugestão:
No código dado por "erros 18.12.01" cdaDmitriy © (17 47: 2).
1. No nome do diretório, o final "\" é supérfluo.
2. A verificação de se o arquivo está aberto deve ser executada verificando INVALID_HANDLE_VALUE, não <0. Na versão atual do Delphi e WinAPI Integer (INVALID_HANDLE_VALUE) é claro <0, mas isso pode mudar, e é teoricamente possível que uma Handle correta possa aparecer, de forma que Integer (Handle) <0.
3. Para verificar os erros de WinAPI, é mais fácil escrever
Win32Check (H <> INVALID_HANDLE_VALUE)

> Arte © (18.12.01 17: 25)
Se o MSDN estiver confuso - consulte a ajuda no SDK, essa é a versão real truncada do MSDN. E do Delphi, todas as APIs são lindamente chamadas.



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

> Alexey Petrov ©

1. No nome do diretório, o final "\" é supérfluo.
não é supérfluo, mas redundante:

lpFileName

Aponta para uma cadeia terminada com nulo que pode ser usada para criar ou abrir.

Se * lpFileName for um caminho, haverá um limite de tamanho de string padrão de MAX_PATH. Essa função é analisar caminhos.
Windows NT: você pode usar os caminhos do CreateFile e Prepending "\\? \" Para o caminho. O "\\? \" Informa a função para desativar a análise de caminho. 32,000 caracteres Unicode longos. Você deve usar os caminhos completos com essa técnica. Isso também funciona com nomes UNC. O "\\? \" É ignorado como parte do caminho. Por exemplo, "\\? \ C: \ myworld \ private" é visto como "C: \ myworld \ private", e "\\? \ UNC \ tom_1 \ hotstuff \ coolapps" é visto como "\\ tom_1 \ hotstuff \ coolapps. "

2. veja a implementação de Classes de Unidades; embora
Win32Check (H <> INVALID_HANDLE_VALUE) é mais confiável.


{TFileStream}

construtor TFileStream.Create (const FileName: string; modo: Word);
começar
se Mode = fmCreate então
começar
FHandle: = FileCreate (nome do arquivo);
se FHandle <0 então
raise EFCreateError.CreateResFmt (@SFCreateError, [FileName]);
fim mais
começar
FHandle: = FileOpen (nome do arquivo, modo);
se FHandle <0 então
raise EFOpenError.CreateResFmt (@SFOpenError, [Nome_do_Arquivo]);
end;
end;

Art © tudo funciona se você quiser escrever enviar



Страницы: 1 filial inteira

Fórum: "Principal";
Arquivo atual: 2002.01.08;
Download: [xml.tar.bz2];

em cima









Memória: 0.6 MB
Hora: 0.028 c
14-22393
Felix
2001-11-08 21:54
2002.01.08
O que fazer?


3-21954
Strahov
2001-12-05 15:32
2002.01.08
Alguém já encontrou um bug


1-22030
Andrey Senchenko
2001-12-18 12:49
2002.01.08
Form.OnCloseQuery - Como lidar?


3-21922
Stas
2001-11-29 12:50
2002.01.08
BDE


1-22219
dimonf
2001-12-16 17:23
2002.01.08
Como fazer o Canvas render quando qualquer janela é monitorada





afrikaans albanês Arabic armênio azerbaijano basco belarusian Bulgarian catalão Chinês simplificado) Chinês tradicional) croata checo dinamarquês Dutch Inglês estoniano filipino Finnish French
Galego georgiano German grego crioulo haitiano hebraico hindi húngaro islandês Indonesian irlandês Italian Japanese Korean letão lituano macedónio Malay maltês Norwegian
persa polonês Portuguese romeno Russa sérvio Slovak esloveno espanhol swahili sueco tailandês turco ucraniano urdu vietnamita galês ídiche bengali bósnio
cebuano esperanto gujarati hausa hmong igbo javanês kannada khmer lao latino maori marata mongol Nepali punjabi somali tâmil telugu yoruba
zulu
Английский francês Alemão Italiano Португальский russo Espanhol