Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.11.2015, 01:28
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию замена в имени файла

драсте многие програмы в имени файла текст %data% и %time% заменяеться на текущюю дату и время
как это лучше сделать
Ответить с цитированием
  #2  
Старый 28.11.2015, 03:05
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Не совсем понял вопрос, предположу что нужно примерно такое:
Код:
var i: Integer;
    FileName: String;
    FormatSettings: TFormatSettings;
begin
 if not OpenDialog1.Execute then Exit;
 FormatSettings.ShortDateFormat := 'ddmmyyyy hhmmss';
 for i := 0 to OpenDialog1.Files.Count - 1
 do begin
    FileName := ExtractFilePath(OpenDialog1.Files[i]);
    FileName := FileName + DateToStr(Now, FormatSettings) + '(' + IntToStr(i) + ')';
    FileName := FileName + ExtractFileExt(OpenDialog1.Files[i]);
    if FileExists(FileName) then Continue;
    RenameFile(OpenDialog1.Files[i], FileName);
    end;
end;
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 28.11.2015, 03:06
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Код:
...
s:= 'file_%data%_or_%time%.tmp';
s:= StringReplace(s, '%data%', FormatDateTime('ee-mm-dd',  Now),[rfReplaceAll]);
s:= StringReplace(s, '%time%', FormatDateTime('hh-nn-ss-z',Now),[rfReplaceAll]);
...
Ответить с цитированием
  #4  
Старый 28.11.2015, 06:34
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

програма будет делать авто сохранение
сохранять имя укаханое в щаблоне только там где в шаблоне указано %time% подставляеться текущее время
Ответить с цитированием
  #5  
Старый 28.11.2015, 06:38
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

так кажеться умеет дос команда
Ответить с цитированием
  #6  
Старый 28.11.2015, 22:56
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну так и подставляй.
Код:
procedure SaveFile;
const
  FileNameTmpl = 'file_%date%_%time%.dat';
var
  FileName : String;
begin
  FileName := StringReplace(FileNameTmpl,'%date%',DateToStr(Now),[rfReplaceAll]);
  FileName := StringReplace(FileName,'%time%',TimeToStr(Now),[rfReplaceAll]);

  ShowMessage('А теперь сохраняем данные в файл с именем ' + FileName);
end;
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
SKIPtr (29.11.2015)
  #7  
Старый 29.11.2015, 00:15
SKIPtr SKIPtr вне форума
Начинающий
 
Регистрация: 15.03.2015
Сообщения: 108
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

спасибо
я про эту процедуру думал но надеелся будетче то непосредственое из обработки дос команды но наверно лучший вариант это StringReplace
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter