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

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

Как добавить дату/время компиляции? [D5, Win2k]


Страницы:   1 2

xKL ©   (2007-02-02 06:28:00) 

Доброе время суток!
Как, например, на Label1.Caption повесить сабж, чтобы в runtime'е высвечивался?
Спасибо.


novill   (2007-02-02 11:35:00) [21]

вот че нашел..., а лучше открой ту тему, там еще пару исправлений было по ходу...

Джо ©   (16.08.06 02:58)
У меня в ряде старых проектов нужно было вместо номера версии (а она, в силу некоторых причин, обновлялась очень часто) выводить дату и время компиляции проекта.
Проблему решил написанием нехитрого AddIn'а , подключаемого к IDE.

Вот текст модуля CompileTimeExpert.pas.

{
AddInNotifier, срабатывающий при компиляции проекта.
Помещает в каталог с главным файлом проекта файл CompileDateTime.inc
с объявлением констант, содержащих актуальную дату и время компиляции проекта.

Автор: Каминский С.А.
}

unit CompileTimeExpert;

interface
uses Windows, ExptIntf, ToolIntf;

type

TCompileTimeNotifier = class(TIAddInNotifier)
public
  procedure FileNotification(NotifyCode: TFileNotification;
    const FileName: string; var Cancel: Boolean); override;
  procedure EventNotification(NotifyCode: TEventNotification;
    var Cancel: Boolean); override;
end;

procedure Register;

implementation
uses SysUtils;

var
Notifier: TCompileTimeNotifier;

procedure Register;
begin
//
end;

procedure TCompileTimeNotifier.EventNotification(
NotifyCode: TEventNotification; var Cancel: Boolean);
var
Fv: TextFile;
Fn: string;
begin
if (NotifyCode = enBeforeCompile) and (ToolServices.GetProjectName <> '') then
begin
  Fn := ExtractFilePath (ToolServices.GetProjectName) +
    'CompileDateTime.inc';
  AssignFile (Fv,Fn);
  try
    Rewrite (Fv);
    WriteLn (Fv, '//');
    WriteLn (Fv, '// Auto-generated compile datetime file for ' +
      ExtractFileName (ToolServices.GetProjectName) + ' project');
    WriteLn (Fv, '// Include it in your project with {$include CompileDateTime.inc} directive');
    WriteLn (Fv, '//');

    WriteLn (Fv, 'const');
    WriteLn (Fv, '  _CompileDateTime = ', FloatToStr(Now));
    WriteLn (Fv, '  _CompileTimeStr = ', TimeToStr(Now));
    WriteLn (Fv, '  _CompileDateStr = ',DateToStr(Now));
    WriteLn (Fv, '  _CompileDateTimeStr = ',DateTimeToStr(Now));
  finally
    CloseFile (Fv);
    ToolServices.ReloadFile(Fn);
  end;
end;
end;

procedure TCompileTimeNotifier.FileNotification(
NotifyCode: TFileNotification; const FileName: string;
var Cancel: Boolean);
begin
end;

initialization
Notifier := TCompileTimeNotifier.Create;
ToolServices.AddNotifierEx(Notifier);

finalization
ToolServices.RemoveNotifier(Notifier);
Notifier.Free;

end.


novill   (2007-02-02 11:29:00) [22]

примерно за август 2006


novill   (2007-02-02 11:07:00) [23]

был компонет, который дату и время сборки записывал в inc файл.
Этот файл подключаешь в проект...

на форуме прогбегал - надо в архивах смотреть...


Desdechado   (2007-02-02 10:57:00) [24]

Не проще ли в свойствах проекта сделать автоинкремент версий и показываьб версию, а не какую-то абстрактную дату?


brother   (2007-02-02 10:10:00) [25]

1. время билда присваивай константе
2. ну и в ллэйбл ее)
зы тока не забывай время при билде менять...


  (2007-02-02 07:31:00) [26]

Удалено модератором


  (2007-02-02 06:59:00) [27]

Удалено модератором


Страницы:   1 2

Наверх

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