» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59774 de mesaje.
  • 7153 de topicuri.
  • 1002 de utilizatori.
  •  
  • BirthBaby e ultimul utilizator inregistrat.
[Detalii]

 
Pagini: [1]
Print
Fisiere in uz / Files in use [Delphi] [524 afisari]
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

Ati incercat vreodata sa deschideti un fisier care era deja deschis de o alta aplicatie ? Mai tineti minte ce eroare ati primit ? Big grin

In Pascal se putea verifica daca un fisier e in uz sau nu cu directiva de compilare $I, necesitand apoi, dupa incercarea de deschidere a fisierului, sa se verifice variabila IOResult.

O alta varianta care determina daca un fisier e sau nu deschis de alta aplicatie, folosind API, e data mai jos.

Code:
function FileInUse(FileName: string): Boolean;
var hFil: HFILE;
begin
  Result := False;

  If not FileExists(FileName)
    then Exit;

  hFil := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE,
                      0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

  Result := (hFil = INVALID_HANDLE_VALUE);

  If Not Result
    Then CloseHandle(hFil);
end;
Keep away from (already) opened files Smile
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
15-05-2008, 14:06 Twitt ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  Delphi & Pascal  |  Pascal / Delphi Snippets  |  Topic: Fisiere in uz / Files in use [Delphi]
Jump to: