casa
Top.Mail.Ru Yandeks.Metrika
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


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

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



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

Usando CreateFile, puoi aprire una directory, incl. ed esclusivo.

Provalo ...

Dettagli in MSDN



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

> Alexey Petrov ©
SOURCE per l'uso di CreateFile per
Con CreateFile posso aprire una directory? ...



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

> cdaDmitriy © (18.12.01 17: 20)
Leggi MSDN.
La fonte I in casi banali non cita.



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

Proverò sicuramente, ma dalle parole MSDN respira qualcosa di melkosoftovym, e sto parlando di Delphi !!



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

> Alexey Petrov © Non cito in casi banali?
Ho provato ... prova a dare un esempio.



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

S1: = "D: \ ICON \"; compresi ed esclusivo
H: = Intero (CreateFile (PChar (S1), GENERIC_READ, 0 , nil, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0));
label1.Caption: = inttostr (H);
se H <0 aumenta quindi EFCreateError.CreateResFmt (@S, [S1]);




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

cdaDmitriy di UTD ce l'hai, non ho dubbi nell'esecuzione del codice, ma la caccia alla lettura delle directory



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

aiuto per CreateFile e provato



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

Voi ragazzi o pazzi o non sapete come leggere, è stata posta una domanda per bloccare la cartella, accedervi. E tu riguardo ai file per me ??? All'inizio non ci credevo, ma poi ho scoperto tutto, tutto quello che ho scritto qui, tranne che per la mia domanda, non ha senso!



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

Sì, e cosa pensi ti risponda in futuro, non voglio controllare il codice sopra, ma la cartella successiva suggerisce lo stesso file.



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

"Natholii, allora sono un pazzo !!! ? tutto qui !!! џ Ho provato il codice qui sopra e l'ho scritto da solo e non ho eseguito nulla, se si specifica una directory, non cambia nulla, e se il file è tutto, allora tutto funziona, il file è bloccato !!! ? Come affrontare questo ???



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

Un altro suggerimento:
Nel codice fornito da "cdaDmitriy © (18.12.01 17: 47)" errori 2.
1. Nel nome della directory, l'ultimo "\" è superfluo.
2. È necessario verificare se il file è aperto controllando INVALID_HANDLE_VALUE, non <0. Nell'attuale versione di Delphi e WinAPI Integer (INVALID_HANDLE_VALUE), naturalmente <0, ma questo può cambiare, ed è teoricamente possibile che possa apparire un Handle corretto, ad esempio Integer (Handle) <0.
3. Per controllare gli errori WinAPI, è più comodo scrivere
Win32Check (H <> INVALID_HANDLE_VALUE)

> Arte © (18.12.01 17: 25)
Se MSDN è confuso: consultare la guida in SDK, questa è la versione troncata effettiva di MSDN. E da Delphi, tutte le API sono splendidamente invocate.



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

> Alexey Petrov ©

1. Nel nome della directory, l'ultimo "\" è superfluo.
non è superfluo ma ridondante:

lpFileName

Indica una stringa con terminazione null che può essere utilizzata per creare o aprire.

Se * lpFileName è un percorso, esiste un limite di dimensioni stringa predefinito di MAX_PATH caratteri. Questa funzione è analizza percorsi.
Windows NT: è possibile utilizzare i percorsi di CreateFile e Prepending "\\? \" Al percorso. Il "\\? \" Dice alla funzione di disattivare l'analisi del percorso. Caratteri Unicode 32,000 lunghi. È necessario utilizzare i percorsi completi con questa tecnica. Funziona anche con i nomi UNC. Il "\\? \" Viene ignorato come parte del percorso. Ad esempio, "\\? \ C: \ myworld \ private" è visto come "C: \ myworld \ private" e "\\? \ UNC \ tom_1 \ hotstuff \ coolapps" è visto come "\\ tom_1 \ hotstuff" \ coolapps. "

2. vedere l'implementazione delle Classi di unità; sebbene
Win32Check (H <> INVALID_HANDLE_VALUE) è più affidabile.


{} TFileStream

costruttore TFileStream.Create (const FileName: string; Mode: Word);
iniziare
se Mode = fmCreate then
iniziare
FHandle: = FileCreate (FileName);
se FHandle <0 allora
aumentare EFCreateError.CreateResFmt (@SFCreateError, [FileName]);
fine altro
iniziare
FHandle: = FileOpen (FileName, Mode);
se FHandle <0 allora
aumentare EFOpenError.CreateResFmt (@SFOpenError, [FileName]);
fine;
fine;

Art © funziona tutto se vuoi scrivere invia



Pagine: 1 tutto il ramo

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

al piano di sopra









Memoria: 0.6 MB
Ora: 0.027 c
4-22478
Ross
2001-08-28 16:53
2002.01.08
Inizio del menu


14-22371
spesso
2001-11-08 17:11
2002.01.08
La vita dopo la morte?


1-22186
ShnurO.K.
2001-12-15 23:05
2002.01.08
Come nascondere il tuo programma quando premi Alt + Ctrl + Canc?


6-22271
Vincitore
2001-10-04 20:15
2002.01.08
non c'era connessione remota durante la connessione ????


14-22341
spesso
2001-10-26 13:55
2002.01.08
Programmi di concorsi - LOTTA MARITTIMA





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 Lezioni 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ù
Inglese Francese tedesco italiano portoghese russo spagnolo