| | | | |
Определение даты и времени компиляции | Полный текст материала
Другие публикации автора: Денис
Цитата или краткий комментарий: «... Очень часто в окне “About” различных программ можно наблюдать не
только сведения о версии программы, но и дате и времени
компиляции. ...» |
Важно:- Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
- Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
- При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
- Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.
Добавить свое мнение.
| | Содержит полезные и(или) интересные сведения | [1] | 1 | 50% | | | | Ничего особенно нового и интересного | [2] | 0 | 0% | | | | Написано неверно (обязательно укажите почему) | [3] | 1 | 50% | | Всего проголосовали: 2 | | | Все понятно, материал читается легко | [1] | 0 | 0% | | | | Есть неясности в изложении | [2] | 1 | 100% | | | | Непонятно написано, трудно читается | [3] | 0 | 0% | | Всего проголосовали: 1 |
Отслеживать это обсуждение
Всего сообщений: 622-04-2014 02:02interface
...
/// <summary>Дата сборки модуля.</summary>
function BuildTimeGet: TDateTime;
/// <summary>Дата сборки модуля.</summary>
function BuildTime: string;
...
implementation
...
var
/// <summary>Дата сборки модуля.</summary>
_sBuildTime: string = '';
function BuildTimeGet: TDateTime;
// Дата сборки модуля.
begin
Result := FileDateToDateTime(
PInteger(
PImageNtHeaders(
hInstance + DWORD(PImageDosHeader(hInstance)._lfanew)
).OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress + hInstance + 4
)^
);
end;
function BuildTime: string;
begin
if _sBuildTime = '' then
_sBuildTime := DateTimeToStr(BuildTimeGet);
Result := _sBuildTime;
end;
|
|
21-04-2014 03:38по сути, предложенный код предпологает вставку даты и времени через в исходник каждую секунду, что неудобно при отладке и редактировании, особенно неудобно при отладке, каждый раз жать меню при F8 ((
Пришлось поменять компонент, вставть интервал 1 минуту, все-равно знание секунд несущественно.
Может кому удалось побороть этот недостаток? может выключать его, хотя бы, при отладке? а хорошо бы и при редактировании ))
|
|
27-07-2005 11:39
25-07-2005 01:30
21-07-2005 06:572 Константин Цветков
Вероятно, имелось в виду IMAGE_FILE_HEADER?
>>>"Кто ищет, тот всегда найдет",
так-то оно так, да вот только компилятор Delphi не обновляет это значение, оно всегда одинаково. |
|
21-07-2005 00:09Советую обратить внимание на IMAGE_RESOURCE_DIRECTORY_ENTRY, которая содержит TimeDateStamp: DWord.
"Кто ищет, тот всегда найдет", а кто не ищет — не найдет. |
|
|
|