Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];
ВнизДата создания файла и количество строк? Найти похожие ветки
← →
Я (2008-05-07 13:47) [0]Скажите пожалуйста как можно используюя FindFirst/FindNext узнать дату создания файла и количество строк в каждом файле.
Что есть:
Функция определяющая дату создания файлаfunction GetFileDateTime(FileName: string): TDateTime;
var
intFileAge: LongInt;
begin
intFileAge := FileAge(FileName);
if intFileAge = -1 then
Result := 0
else
Result := FileDateToDateTime(intFileAge)
end;FileAttrs := FileAttrs + faSysFile;
Кусок кода
var
sr: TSearchRec;
FileAttrs: Integer;
a:TDateTime;
begin
FileAttrs := FileAttrs + faSysFile;
if FindFirst("путь до файлов", FileAttrs, sr) = 0 then
begin
repeat
a:=GetFileDateTime(sr.Name);// не работает пытаюсь взять дату создания файла
if (sr.Attr and FileAttrs) = sr.Attr then
begin
ListBox1.Items.Add(sr.Name + " " + DateToStr(a));
end;
until FindNext(sr) <> 0;
FindClose(sr);
end;
← →
Reindeer Moss Eater © (2008-05-07 13:50) [1]function FileAge(const FileName: string): Integer;
Call FileAge to obtain the OS timestamp of the file specified by FileName. The return value can be converted to a TDateTime object using the FileDateToDateTime function.
The return value is -1 if the file does not exist.
← →
Я (2008-05-07 14:00) [2]Сделал так
a:=FileAge(sr.Name);
В результате получил следующее - 29.12.1899
← →
Palladin © (2008-05-07 14:01) [3]это и есть -1
← →
Reindeer Moss Eater © (2008-05-07 14:02) [4]Получил вчерашнюю пустую делфийскую дату (-1)
← →
Palladin © (2008-05-07 14:04) [5]вообще говоря не нужно наивно полагать, что DateToStr(-1) вернет "-1" :)
← →
Reindeer Moss Eater © (2008-05-07 14:05) [6]if FindFirst("путь до файлов", FileAttrs, sr) = 0 then
begin
repeat
a:=GetFileDateTime(sr.Name);// не работает пытаюсь взять дату создания файла
if FindFirst("путь до файлов", FileAttrs, sr) = 0 then
begin
repeat
if not FileExists(sr.name) then Raise Exception.Create("Опа! Как же так вышло? Могет я чото забыл???");
a:=GetFileDateTime(sr.Name);
← →
Я (2008-05-07 14:06) [7]Что озночает (-1). Почему функция не хочет показывать дату файла?
← →
Reindeer Moss Eater © (2008-05-07 14:07) [8]The return value is -1 if the file does not exist.
← →
Reindeer Moss Eater © (2008-05-07 14:07) [9]Ты либо ответы читай и вникай, либо вопросы свои не задавай.
← →
Я (2008-05-07 14:10) [10]Блин во тупица!
Нада было такif not FileExists("E:\FilesProject\Vhod\" + sr.Name) then Raise Exception.Create("Нет файла");
a:=GetFileDateTime("E:\FilesProject\Vhod\" + sr.Name);
← →
Я (2008-05-07 14:14) [11]А как в repeat/until посчитать количество строк в каждом файле?
← →
Reindeer Moss Eater © (2008-05-07 14:17) [12]загрузить фай в стринглист и взять его каунт
← →
Palladin © (2008-05-07 14:17) [13]раз, два, три, четыре, ...,эн, эн+1, эн+2...
← →
Knight © (2008-05-07 14:20) [14]> [11] Я (07.05.08 14:14)
мэй би...
ReadLn();
Inc(k);
← →
Я (2008-05-07 14:20) [15]Я понимаю что количество строк можно посчитать вот так:
Schet:=0;
AssignFile(F1, "путь до файла");
Reset(F1);
while not SeekEof(F1) do
begin
ReadLn(F1, Ch);
inc(Schet);
Label1.Caption:=IntToStr(Schet);// покажет количество строк в файле
end;
CloseFile(F1);
Но это только для одного файла. А как здесь же посчитать несколько фойлов попорядку?
← →
Reindeer Moss Eater © (2008-05-07 14:23) [16]А как здесь же посчитать несколько фойлов попорядку?
Поставить рядом несколько компьютеров с этим кодом. по числу файлов.
← →
Я (2008-05-07 14:26) [17]Вопросы закрыты. Разобрался. Большое всем спасибо.
← →
Игорь Шевченко © (2008-05-07 14:29) [18]Reindeer Moss Eater © (07.05.08 14:17) [12]
> загрузить фай в стринглист и взять его каунт
Какой ты злой, право. Вроде и праздник сегодня...
← →
han_malign © (2008-05-07 15:55) [19]эээ???
а FileTimeToDateTime(sr.FindData.ftCreationTime)?
а как насчет того, что FileAge возвращает время последней модификации(которое уже лежит в sr.Time), а не создания?
← →
Юрий Зотов © (2008-05-07 16:54) [20]> Я (07.05.08 14:26) [17]
> Вопросы закрыты. Разобрался.
Тогда вопрос.
Понятие "строка" существует только для текстовых файлов. Спрашивается - а как, зная только имя файла, определить, текстовый он или нет?
← →
AtZako © (2008-05-10 14:39) [21]Вроде никак. Если только не прочитать кусочек из файла и анализировать его содержимое.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.01;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c