Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование текущей даты в имени файла


Gaber ©   (2002-10-23 15:48:00) 

Хочу чтоб на диске создавался файл с именем=текущей дате:

n:=DateToStr(now)+".txt";
AssignFile(f,n);
Rewrite(f);
WriteLn(f,+DateTimeToStr(now));
CloseFile(f);

Работает, но если я хочу использовать не просто дату, но и время, меняю

n:=DateTimeToStr(now)+".txt";

На Rewrite программа вылетает?


Anatoly Podgoretsky   (2002-10-24 14:48:00) [1]

Зачем function FormatDateTime(): string;


Bis   (2002-10-24 14:46:00) [2]

а он у тебя и так в строковом виде получится )


Gaber   (2002-10-24 14:43:00) [3]

Подскажите , а как FormatDateTime(), привести к строковому типу.


TTCustomDelphiMaster   (2002-10-23 16:55:00) [4]

Во первых ":" - не допустимый символ в имени файла
Во вторых при формировании имен используйте функцию FormatDateTime(), т.к. результат других функций зависит от настроек пользователя (год 2 или 4 символа, порядок день месяц год или год месяц день и т.д.).


Anatoly Podgoretsky   (2002-10-23 16:52:00) [5]

Вылетает потому что используешь недопустимые симаолы в имени файла, аместо DateTimeToStr используй FormatDateTime


Gaber   (2002-10-23 16:43:00) [6]

Интересно почему так работает:
n:=DateToStr(now)+".txt";
а так нет:
n:=DateTimeToStr(now)+".txt";


Skier   (2002-10-23 16:09:00) [7]

>Gaber
Дату можно получить через GetSystemTime(...), а
разделитель задать самому...


DieHard   (2002-10-23 16:04:00) [8]

скорее не точка, а двоеточие
надо переопределить TimeSeparator, а еще лучше заодно и DateSeparator, вдруг он слэш будет у кого-нить


Song   (2002-10-23 15:58:00) [9]

Может вылетает из-за того, что разделитель - точка? Тогда в таком случае надо использовать FormatDateTime()
А вообще как понять "вылетает". Просто молча или на чего ругается?


Bis   (2002-10-23 15:52:00) [10]

попробуй не старыми функциями, а которые пришли с Виндой:
FileCreate и т.п.
Старые может быть не поддерживают не досовские имена
Попробуй сначала создать руками, например в том же FAR такое имя


Наверх

Титульная страница Поиск, карта сайта Написать письмо