![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как добавить дату/время компиляции? [D5, Win2k]
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]Удалено модератором