» Utilizator
LAMP
» Parteneri» De citit» Recomandari» Taskuri securitate » Statistici
  • 65486 de mesaje.
  • 7732 de topicuri.
  • 1231 de utilizatori.
  •  
  • Kopotosa e ultimul utilizator inregistrat.
[Detalii]

 

| |
Pagini: [1]
Print

Fisiere in uz / Files in use [Delphi] [659 afisari]

DarkByte



Mesaje:

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
15-05-2008, 14:06 Twitt ::
Pagini: [1]
Print
SkullBox Forum  |  Development  |  Delphi & Pascal  |  Topic: Fisiere in uz / Files in use [Delphi]