Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2012, 06:11   #1
AHBAR
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 10
По умолчанию Как вставить дату и время компиляции?

Здравствуйте!
Хотелось бы указать дату и время создания программы и выводить это например в окне About. Попытался загуглить - не помогло. Для начала просто составляю программу, состоящую из формы. Вот такой код не помогает, так как вставляет текущую дату и время, а не дату и время компиляции:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.Caption := DateToStr(Date)+'+'+TimeToStr(Time);
end;
AHBAR вне форума Ответить с цитированием
Старый 05.12.2012, 06:34   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Ну как бы это как мне кажется не возможно..Хотя если вы научитесь отличать компиляцию от простого запуска то может быть и выйдет!
Кольша вне форума Ответить с цитированием
Старый 05.12.2012, 07:06   #3
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

только версию может авто инкрементить (Build)
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 05.12.2012, 07:55   #4
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Код:
uses Windows;
var
  hf: HFILE;
  ob: _OFSTRUCT;
  lpCreationTime,
  lpLastAccessTime,
  lpLastWriteTime: _FILETIME;
  st: _SYSTEMTIME;
  sDate: string;
begin
  hf:=OpenFile(PAnsiChar(Application.ExeName), ob, OF_READ);
  GetFileTime(hf, @lpCreationTime, @lpLastAccessTime, @lpLastWriteTime);
  FileTimeToSystemTime(lpLastWriteTime,st);
  sDate:=PAnsiChar(CharAdd(2,IntToStr(st.wDay),'0'))+DateSeparator+
    PAnsiChar(CharAdd(2,IntToStr(st.wMonth),'0'))+DateSeparator+
    PAnsiChar(CharAdd(4,IntToStr(st.wYear),'0')){+' '+
    PAnsiChar(CharAdd(2,IntToStr(st.wHour),'0'))+TimeSeparator+
    PAnsiChar(CharAdd(2,IntToStr(st.wMinute),'0'))+TimeSeparator+
    PAnsiChar(CharAdd(2,IntToStr(st.wSecond),'0'))};

  _lclose(hf);
end
superedward вне форума Ответить с цитированием
Старый 05.12.2012, 08:31   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

superedward, попытка хорошая! Одно плохо, дата модификации EXE файла легко подаётся изменению извне.

AHBAR, я бы предложил или выбросить эту идею или, если уж реально надо, тогда делать сборку через командный файл, в нём производить нужные изменения в pas/dfm/inc файлах, и в этом же батнике выполнять компиляцию EXE.
Ну и погуглить/поискать на форуме, мне попадались похожие обсуждения...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2012, 09:57   #6
Lardes
Форумчанин
 
Аватар для Lardes
 
Регистрация: 19.08.2011
Сообщений: 329
По умолчанию

Все проще простого!)))
Код:
const
  SBuildData = '05.12.2012 11:56'; //здесь пишешь ту дату, которая тебе приятна)
и используй эту константу в:
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Form1.Caption := 'Дата компиляции: ' + SBuildData;
end;

Последний раз редактировалось Lardes; 05.12.2012 в 10:05.
Lardes вне форума Ответить с цитированием
Старый 05.12.2012, 11:25   #7
kel_spb
Новичок
Джуниор
 
Регистрация: 18.08.2010
Сообщений: 2
По умолчанию

Есть вариант в королевстве Delphi, смотри также обсуждение
http://www.delphikingdom.com/asp/vie...catalogid=1143
kel_spb вне форума Ответить с цитированием
Старый 06.12.2012, 08:27   #8
AHBAR
Пользователь
 
Регистрация: 23.11.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от kel_spb Посмотреть сообщение
Есть вариант в королевстве Delphi, смотри также обсуждение
http://www.delphikingdom.com/asp/vie...catalogid=1143
Этот вариант я находил на другом сайте, правда из-за моих слабых знаний у меня не получилось применить этот код. скорее всего на форму надо опускать какие-то объекты, тогда многие записи в кодах автоматически создаются, а я просто копировал. Видать не сутьба..
AHBAR вне форума Ответить с цитированием
Старый 06.12.2012, 11:00   #9
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Да не сутьба...вам и гиа сдать не судьба:DDD
Кольша вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить дату и время в ячейку kzld Microsoft Office Excel 5 24.01.2011 18:02
Как вывести в таблицу дату и время P10neer Microsoft Office Excel 2 24.12.2010 14:24
Как вывести в таблицу дату и время P10neer Microsoft Office Word 0 24.12.2010 00:25
Вставить текущую дату и время в строку, не используя SysUtils. Alex Cones Общие вопросы Delphi 8 16.12.2009 03:13
Как вытащить дату и время из биос ? sergey113 Помощь студентам 18 27.03.2009 13:34