Function FileIsOpen(const FileName : TFileName) : Boolean; begin result := false; try With TFileStream.Create( FileName, fmOpenread or fmShareExclusive) Do Free; except result := true; end; end;
Jens: Den holder jo ikke i byretten den der, for bare fordi filen ikke er åben, så behøves den jo ikke at være "complete" ;)
diz: Den eneste måde du kan gøre dette på, er hvis du ved hvor meget filen på forhånd fylder. Du kan tjekke den nuværende størrelse af filen med nedenstående funktion (som i øvrigt er tyvstjålet fra borrisholt ;)). Den størrelsen funktionen returnere kan du så sammenligne med hvor stor filen burde være. Det er i mine øjne den eneste ret sikre metode du kan bruge.
Function GetFileSize(FileName : TFileName) : Integer; var SearchRec : TSearchRec; begin if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then Result := SearchRec.Size else Result := -1; FindClose (SearchRec); end;
det jeg ledte efter var en funtion som kunne afsløre om filen var ved at blive uploaded. (borrisholts)
Men jeg kan sagtens se problematikken i at man jo ikke ved om filen er færdig, da det jo kan være fordi brugeren er blevet disconnnected.
Hmm... Jeg må lige tænke den igennem.
Well, mht points, så burde jeg vel give point til begge, da borrisholt løste mit oprindelige problem, mens snowball fik mig til at se et nyt problem. (eller burde jens så få point og snowball blive fratrukket, da han skabte nyt problem?!?)
Smid et svar snowball, hvis du mener du skal have point :)
Well, jeg deler dem bare mellem jer......håber det er ok.
Og mange tak for de hurtige svar....
/Sune
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.