Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

Работа с файлами   Найти похожие ветки 

 
Zeus   (2004-12-27 11:27) [0]

Мастера, подскажите как определить размер файла в байтах, его полный путь известен. Делаю FileSize(), он неправильно выдает. А еще тогда как получить количество файлов в папке?


 
Fay ©   (2004-12-27 11:29) [1]

FindFirstFile/FindNextFile/Windows.FindClose


 
Bork   (2004-12-27 11:30) [2]

>как получить количество файлов в папке

Function GetFileCount(Dir:string):integer;
var fs:TSearchRec;
begin
 Result:=0;
 if FindFirst(Dir+"\*.*",faAnyFile-faDirectory-faVolumeID, fs)=0 then
   repeat
     inc(Result);
   until FindNext(fs)<>0;
 FindClose(fs);
end;


 
Алхимик ©   (2004-12-27 11:31) [3]


> Делаю FileSize(), он неправильно выдает.

Откуда такая уверенность?

> А еще тогда как получить количество файлов в папке?

FindFirst, FindNext


 
Fay ©   (2004-12-27 11:33) [4]

2 Bork   (27.12.04 11:30) [2]
>> ,faAnyFile-faDirectory-faVolumeID
Это зачем?


 
Bork   (2004-12-27 11:36) [5]

>подскажите как определить размер файла в байтах

function getfilesize(filename:string):int64;
var
ts:TSearchRec;
begin
if FindFirst(FileName, faAnyFile, ts)=0 then  begin
result:=ts.FindData.nFileSizeHigh*4294967296+ts.FindData.nFileSizeLow;
Findclose(ts);  
end;
end;


 
Bork   (2004-12-27 11:39) [6]

>faAnyFile-faDirectory-faVolumeID
>Это зачем?


можно просто faAnyFile


 
Poirot ©   (2004-12-27 11:40) [7]

[4]
Ну просто not faDirectory не катит:)))


 
sniknik ©   (2004-12-27 11:46) [8]

на самом деле FileSize правильно выдает, это вы не понимаете результат. ;о))

оно выдает не размер, а количетво записей... разница(!) и если размер записи неопределен, и файл нетипизирован, то по умолчанию ее размер 128байт.


 
Anatoly Podgoretsky ©   (2004-12-27 11:47) [9]

Fay ©   (27.12.04 11:33) [4]
Для того чтобы не считать за файлы папки по второму вопросу.


 
Fay ©   (2004-12-27 12:59) [10]

>> result:=ts.FindData.nFileSizeHigh*4294967296+ts.FindData.nFileSizeLow;

Жестоко 8)



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

Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
3-1103189813
lexis
2004-12-16 12:36
2005.01.16
У клиента не работает TClientDataSet


14-1104049679
Fin
2004-12-26 11:27
2005.01.16
Расчет платежа за электроэнергию.


6-1098809212
Mirror
2004-10-26 20:46
2005.01.16
WININET.DLL


4-1101384391
OlegTrubin
2004-11-25 15:06
2005.01.16
MapViewOfFile - ошибка


1-1104402433
Cardinal
2004-12-30 13:27
2005.01.16
Массив как параметр функции





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский