Изменение имя файла
Такая задачка, необходимо копировать фаил, затем менять его имя на дату и время, дату получается, а если еще время втулить, то он вообще не переименуется. Код:
TDateTime Today;
Word Year, Month, Day ;
String date= DateTimeToStr(Now());
String time= TimeToStr(Now());
CopyFile("BASE.mdb","d://Backup//BASE.mdb",false);
RenameFile("d:\\Backup\\BASE.mdb","d:\\Backup\\BASE_"+date+".mdb");
//таким кодом получается почти то что надо - BASE_31.10.2007.mdb
а вот таким:
CopyFile("BASE.mdb","d://Backup//BASE.mdb",false);
RenameFile("d:\\Backup\\BASE.mdb","d:\\Backup\\BASE_"+date+"_"+time+".mdb");///получается - BASE.mdb
переменную проверял, содержит время, отчегоже не фурычит????
Подозреваю что переменная time содержыт символы недопутимые в имени файла.
Цитата: Rebbit
Подозреваю что переменная time содержыт символы недопутимые в имени файла.
блин внатуре((((
а как же выкрутится, подозреваю как то отформатировать время, без разделителей можно, но как сие сделать ?????
Цитата: FreeWay
блин внатуре((((
а как же выкрутится, подозреваю как то отформатировать время, без разделителей можно, но как сие сделать ?????
а как же выкрутится, подозреваю как то отформатировать время, без разделителей можно, но как сие сделать ?????
:) А что мешает просто заменить в строчке двоеточия какимто подчеркиванием ? Кстати с точками в дате я бы тоже советовал ето сделать.
Цитата: Rebbit
:) А что мешает просто заменить в строчке двоеточия какимто подчеркиванием ? Кстати с точками в дате я бы тоже советовал ето сделать.
а пример можешь кинуть как замену такую сделать, мне со строками не приходилось сталкиваться, тут я понимаю надо будет перебрать каждый символ и при двоеточии подменять его. Но должен быть какой то более простой выход.
Цитата:
String date= DateTimeToStr(Now());
используй параметр, в котором модно задать форматирование времени:
AnsiString buff;
DateTimeToString(buff, "hh.mm.ss", Now());
в данном случае у тебя в переменной будет содержаться "03.49.57"