Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
ВнизКак переименовать много файлов Найти похожие ветки
← →
Handle © (2006-09-05 09:36) [0]Есть довольно много фотографий сделанных цифровым фотоаппаратом и у всех имена что то типа
00007001, 00007002
, подскажите пожалуйста как переименовать их по дате снимка.
← →
Guest001 (2006-09-05 09:46) [1]sr: TSearchRec;
FindFirst("*.*", faAnyFile, sr)
FindNext(sr)
+F1+
← →
default © (2006-09-05 09:51) [2]например, так:
использовать TStringList c Sorted = True
перебирая файлы добавляем в TStringList через AddObject пару значений - в качестве строки дату снима, а в качестве object-а имя файла
после всех добавлений список будет отсортирован по строке, то есть по дате
пробегаемся по списку сначала(то есть в порядке возрастания дат) и через массив Objects получаем имена файлов для переименования
← →
Palladin © (2006-09-05 09:54) [3]а кто сказал что дата создания файла будет дата снимка?
← →
default © (2006-09-05 10:01) [4]
procedure TForm1.Button1Click(Sender: TObject);
var
SL: TStringList;
fn: String;
begin
SL := TStringList.Create;
fn := "FileName";
SL.AddObject("FileDate", TObject(fn));
Caption := String(SL.Objects[0]) // выведется "FileName"
end;
только учти как сравниваются строки!
"25.02.1983" > "12.03.2006"
то есть дату предварительно надо перевернуть
то есть вместо dd.mm.yyyy надо yyyy.mm.dd
← →
default © (2006-09-05 10:03) [5]Palladin © (05.09.06 09:54) [3]
это я предполагаю
← →
Zeqfreed © (2006-09-05 10:09) [6]> [2] default © (05.09.06 09:51)
Я бы наоборот загнал их в TList и отсортировал по числовому представлению даты. Сортировка строк будет гораздо затратней.
← →
Virgo_Style © (2006-09-05 10:12) [7]по идее, надо залезть jpeg"у в то место, которое у mp3 называется Tag. Там наверняка много всего вкусного =)
← →
Handle © (2006-09-05 10:12) [8]Спасибо решил проблему.
← →
default © (2006-09-05 10:26) [9]Zeqfreed © (05.09.06 10:09) [6]
вообще, снимки позже появляющиеся на свет обычно имеет большие номера и номера идут один за другим
может у него там набор файлов типа
00007001..00007237 тогда вообще никакой сортировки не надо
← →
Zeqfreed © (2006-09-05 10:33) [10]> [9] default © (05.09.06 10:26)
Ну на практике в такой ситуации сортировка действительно может не потребоваться. Но если побыть немного буквоедом, то MS, вроде, не гарантирует перечисление файлов ф-циями FindFirstFile/FindNextFile в лексикографическом порядке и может изменить это поведение в будущем :)
← →
default © (2006-09-05 10:36) [11]Zeqfreed © (05.09.06 10:33) [10]
а это без разницы
если есть набор имён 00007000..00008000
и встретив имя 000070003 мы поймём, что это имя 4 по счёту начиная с 1
← →
Zeqfreed © (2006-09-05 10:39) [12]> [11] default © (05.09.06 10:36)
А, понял мысль :) Тогда порядок не важен, согласен.
← →
Плохиш © (2006-09-05 10:56) [13]
> Virgo_Style © (05.09.06 10:12) [7]
EXIF
http://djernaes.dk/martin/jpeginfo.html
http://www.torry.net/pages.php?id=104&SID=a98f01a9d2ff194eeb70eb5f2dfe4249
← →
palva © (2006-09-05 12:14) [14]
> Zeqfreed © (05.09.06 10:33) [10]
> > [9] default © (05.09.06 10:26)
> MS, вроде, не гарантирует перечисление файлов ф-циями
> FindFirstFile/FindNextFile в лексикографическом порядке
Если FAT, то выдача идет в порядке физического расположения записей о файлах.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.09.24;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c