Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.29;
Скачать: CL | DM;

Вниз

Размер ЗАНЯТОГО файла, как его определяют проводник и WinCommande   Найти похожие ветки 

 
Layner ©   (2006-09-16 23:00) [0]

Здравствуйте! Есть такой рабочий код функции:

function GetMyFileSize(FileName: String): Integer;
var
 FS: TFileStream;
begin
 try
   FS := TFileStream.Create(Filename, fmShareDenyNone);
 except
   Result := -1;
 end;
 if Result <> -1 then Result := FS.Size;
 FS.Free;
end;


Но этот код не определяет размер файла, если тот файл занят. Т.е. как пример, база Access, открыт монопольно, по функции - размер не могу определить, а в проводнике/WinCimmander размер в байтах, и он меняется, если я бд меняю... Ключи все менял fmShareDenyNone - самый не требовательный.. Заранее благодарю.


 
Layner ©   (2006-09-16 23:02) [1]

Т.е. вопрос в том, может есть рабочий вариант подобной функции? И ещё, монопольно заянтый файл даже не возможно скопировать... А вот размер определить его крайне необходимо :(


 
guav ©   (2006-09-16 23:11) [2]

FindFirstFile


 
guav ©   (2006-09-16 23:13) [3]

> try
>   FS := TFileStream.Create(Filename, fmShareDenyNone);
> except
>   Result := -1;
> end;
> if Result <> -1 then Result := FS.Size;
> FS.Free;

Код кстаит не верный.
При исклюении в FS.Free может попасть то угодно. Не так это правильно делать...


 
Loginov Dmitry ©   (2006-09-17 10:24) [4]

Layner ©   (16.09.06 23:00)
if Result <> -1 then Result := FS.Size;
FS.Free;


Правильней было бы:


 if Result <> -1 then
 begin
   Result := FS.Size;
   FS.Free;
 end;


 
Loginov Dmitry ©   (2006-09-17 10:25) [5]

И до try следует делать
Result := 0;


 
Ketmar ©   (2006-09-17 10:29) [6]

так один фиг код неверный изначально, зачем правите? %-)


 
Anatoly Podgoretsky ©   (2006-09-17 10:48) [7]

Он не только неверный, но и не рабочий, правь не правь. Guav дал правильный ответ.


 
Ketmar ©   (2006-09-17 10:50) [8]

> [7] Anatoly Podgoretsky ©   (17.09.06 10:48)
так я это и имел в виду. %-)



Страницы: 1 вся ветка

Текущий архив: 2006.10.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
15-1160147122
z80maniac
2006-10-06 19:05
2006.10.29
Прямой доступ к памяти в WinXP


4-1149756872
Eldev
2006-06-08 12:54
2006.10.29
Смена буквы раздела диска


2-1160740414
ceval
2006-10-13 15:53
2006.10.29
отображалось в реальном времени использывания памяти


2-1160752903
Merry
2006-10-13 19:21
2006.10.29
TIBTable и TDataSource


2-1160462004
mfender
2006-10-10 10:33
2006.10.29
Пустой TXMLDocument или, как создать корневой узел?