Вниз
Скачать: CL | DM;

Получить от компилятора текущую дату в констатнту, как?   Найти похожие ветки 

 
sanx   (2009-09-02 13:11) [0]

Нужно для вывода инфы о дате компиляции. Хочу автоматизировать это. Сейчас пишу вручную :( Если ли директивы компилятора, которые смогут такое? Или может другой какой способ?


 
Сергей М. ©   (2009-09-02 14:26) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=899

см. AfterCompile


 
Rouse_ ©   (2009-09-02 14:50) [2]

Ну можно снять данные с уже сбилженного файла:

function GetPEDate(FileName: string): TDateTime;
var
 F: TMemoryStream;
 ImageDosHeader: TImageDosHeader;
 Signature: DWORD;
 ImageFileHeader: TImageFileHeader;
begin
 Result := 0;
 F := TMemoryStream.Create;
 try
   F.LoadFromFile(FileName);
   F.Position := 0;
   F.Read(ImageDosHeader, SizeOf(TImageDosHeader));
   if ImageDosHeader.e_magic = IMAGE_DOS_SIGNATURE then
   begin
     F.Position := ImageDosHeader._lfanew;
     F.Read(Signature, SizeOf(DWORD));
     if Signature = IMAGE_NT_SIGNATURE then
     begin
       F.Read(ImageFileHeader, SizeOf(TImageFileHeader));
       Result := EncodeDate(1970, 1, 1) +
         ImageFileHeader.TimeDateStamp / SecsPerDay;
     end;
   end;
 finally
   F.Free;
 end;
end;


 
sanx   (2009-09-02 18:04) [3]

Rouse_ сделал так DateToStr(GetPEDate(ParamStr(0))), вывело 19.06.1992, в чем может быть ошибка? Использую D2006, WinXP SP3, русская локаль :)

Сергей М., спасибо за ссылку, очень интересная тема.


 
Rouse_ ©   (2009-09-03 09:30) [4]


> вывело 19.06.1992, в чем может быть ошибка?

Хм, ну ошибка может быть только в том что по всей видимости тогда D2006 не прописывает время билда. на 2007-ой все нормально выводится, правда в формате GMT +0 (т.е. нужно переводить еще на текущее время)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
15-1249924710
Германн (из Бердянска)
2009-08-10 21:18
2009.10.25
Программка для логирования (учета) траффика


2-1251666355
wah
2009-08-31 01:05
2009.10.25
Многострочность и StringGrid


2-1251403436
LSE
2009-08-28 00:03
2009.10.25
ScanLine


2-1251462711
denis_lunev
2009-08-28 16:31
2009.10.25
Сохранение изменений свойств в EDIT


1-1222010444
Д С
2008-09-21 19:20
2009.10.25
Как задать толщину линии TPen.Width равную 1 мм?




   Наверх