Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Sakuras FindAllFiles modifizieren (https://www.delphipraxis.net/17842-sakuras-findallfiles-modifizieren.html)

agm65 10. Mär 2004 14:41


Sakuras FindAllFiles modifizieren
 
Hallo leute, ich habe folgendes problem...

also ich benutze sakuras findallfiles code um dateien in eine LISTBOX einzuladen...
jetzt wollte ich den code so modifizieren das er dateien die gerade benutzt werden oder noch nicht
follständig sind (weil grade am downloaden also auch noch in use), ausschließt !

also solche dateien sollen nicht angezeigt werden ....
hat da jemand ne idee ?

Code:
procedure FindAllFiles(RootFolder: string; Mask: string = '*.*'; Recurse: Boolean = True);

var
  SR: TSearchRec;
begin
  if AnsiLastChar(RootFolder)^ <> '\' then
    RootFolder := RootFolder + '\';
  if Mask = '' then
    Mask := '*.*';
  form1.FileListbox.Clear;
  if FindFirst(RootFolder + Mask, faAnyFile, SR) = 0 then
    try
      repeat
        if SR.Attr and faDirectory <> faDirectory then
        begin
            filelistbox.Items.Add( SR.Name);
        end;
      until FindNext(SR) <> 0;
    finally
      FindClose(SR);
    end;
end;

Luckie 10. Mär 2004 14:47

Re: Sakuras FindAllFiles modifizieren
 
Was ist denn das Kriterium für eine nicht "vollständige2 Datei?

agm65 10. Mär 2004 14:48

Re: Sakuras FindAllFiles modifizieren
 
ich dachte das sie zB gerade benutzt wird....

Luckie 10. Mär 2004 14:51

Re: Sakuras FindAllFiles modifizieren
 
Wenn ich eine "vollständige" datei gerade abspiele, ist sie auch geöffnet.

agm65 10. Mär 2004 14:51

Re: Sakuras FindAllFiles modifizieren
 
ja und ?

agm65 10. Mär 2004 14:53

Re: Sakuras FindAllFiles modifizieren
 
ich versuchs jetzt erstmal hiermit ...

Code:
function IsFileInUse(FileName: string): boolean;
var HFileRes: HFILE;
begin
  HFileRes:=CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil,
    OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  result:=HFileRes=INVALID_HANDLE_VALUE;
  if not result then CloseHandle(HFileRes);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz