Показать сообщение отдельно
  #2  
Старый 30.07.2019, 23:40
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,105
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, а ты уверен, что DateToStr тебе вернет дату с разделителем точка?
Далее. В 17 строке ошибка - нет такой коменды. Есть просто Append(F). И после нее надо отдельный wriletn. Соответсенно, делаем вывод, что ты этот код не компилил и не запускал, он просто не скомпилится...
В третьих, в этом коде логическая ошибка. Что будет при переходе через год? Последний файл года будет оставаться всегда.
В четвертых, подобный код будет работать не везде. Если программа будет установлена в Program Files, то туда запись по умолчанию запрещена (можно в манифесте попросить права администратора, но тогда винда будет каждый раз при запуске спрашивать разрешение). Писать надо в разрешенное место.
Пятое. Запуск консольного приложения из под графического - по большей части это лотерея - заработает или нет. Лучше написать свой код, который поищет файлы и удалит их. FindFirst/FindNext/FindClose/DeleteFile тебе помогут.
Шестое. Создавать файл, состоящий только из даты - не самая хорошая идея. Лучше следовать шаблону [назначение_файла/имя_программы/имя_пользователя].[дата_YYYY-MM-DD].[тип_файла/расширение]
Ну вот как-то так.

ЗЫ. По поводу получения пути для создания файлов программой, есть вот такая статейка: http://delphiprogrammingdiary.blogsp...rectories.html
Тебя, видимо, интересует CSIDL_APPDATA.
Ответить с цитированием