Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.12.13;
Скачать: CL | DM;

Вниз

Дата генерации exe в самом exe...   Найти похожие ветки 

 
Layner ©   (2008-12-01 16:41) [0]

Здравствуйте! Как подставить в переменную дату генерации собственного exe? Как константу забивать каждый раз в pas файл не хочется. Есть ли директивы полезные в фигурных скобках {}, или без них обойтись можно?

MessageDlg(Этот exe создали: 1 декабря 2008г.", mtInformation, [mbOk], 0);

Хотелось бы вот усовершенствовать данный код ;)

Заранее благодарю!


 
Сергей М. ©   (2008-12-01 16:49) [1]

Зачем это может понадобиться ?
Неужели не достаточно инф-ции о версии ?


 
Layner ©   (2008-12-01 18:07) [2]

а информация как в версию пишется? Автоматом? Мне надо автозаполнение определенного поля Version Info. (датой).


 
Leonid Troyanovsky ©   (2008-12-01 18:17) [3]


> Layner ©   (01.12.08 18:07) [2]

> определенного поля Version Info. (датой).

Например, сделай себе cmd файл.
Он обновит информацию о времени, скажем, в inc файле,
и скомпилирует новую версию (dcc32.exe).

--
Regards, LVT.


 
Layner ©   (2008-12-01 18:25) [4]

Леонид, спасибо, cmd в расчет не брал, идею понял, как вариант подойдет.


 
Германн ©   (2008-12-02 01:19) [5]

Пока нет системы контроля версий - всё это "мышиная возня"!
Ни номер билда, ни дата/время создания файла ничем не помогут. Только запутают нафиг до полного непонимания!
Плавали, знаем. :)


 
Eraser ©   (2008-12-02 04:19) [6]

> [0] Layner ©   (01.12.08 16:41)

Как то это можно автоматизировать через API IDE, только как не помню, помню, что Джо выкладывал тут пример.


 
Slym ©   (2008-12-02 05:39) [7]

Layner ©   (01.12.08 18:07) [2]
Автоматом

Если нажать Билд проекту то сделает +1...
если Компил то ничего не меняет


 
Плохиш ©   (2008-12-02 10:16) [8]


> Германн ©   (02.12.08 01:19) [5]
>
> Пока нет системы контроля версий - всё это "мышиная возня"!

Если разруха в головах, то никакая система контроля версий не поможет.


 
blackman ©   (2008-12-02 12:31) [9]

function CurrentFileInfo(NameApp : string) : string;
var dump: DWORD;
   size: integer;
   buffer: PChar;
   VersionPointer, TransBuffer: PChar;
   Temp: integer;
   CalcLangCharSet: string;
begin
 size := GetFileVersionInfoSize(PChar(NameApp), dump);
 buffer := StrAlloc(size+1);
 try
  GetFileVersionInfo(PChar(NameApp), 0, size, buffer);

  VerQueryValue(buffer, "\VarFileInfo\Translation", pointer(TransBuffer),
dump);
  if dump >= 4 then
   begin
    temp:=0;
    StrLCopy(@temp, TransBuffer, 2);
    CalcLangCharSet:=IntToHex(temp, 4);
    StrLCopy(@temp, TransBuffer+2, 2);
    CalcLangCharSet := CalcLangCharSet+IntToHex(temp, 4);
   end;

  VerQueryValue(buffer, pchar("\StringFileInfo\"+CalcLangCharSet+
            "\"+"FileVersion"), pointer(VersionPointer), dump);
  if (dump > 1) then
   begin
    SetLength(Result, dump);
    StrLCopy(Pchar(Result), VersionPointer, dump);
   end
  else Result := "0.0.0.0";
 finally
   StrDispose(Buffer);
 end;
end;

...

s:=ExpandFileName(Application.ExeName);
s:=DateTimeToStr(FileDateToDateTime(FileAge(s)));  
s:=s+"  # "+CurrentFileInfo(Application.ExeName);

Конечно это не контроль версий, а дата последней компиляции с версией которую ставим ручками в проекте



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

Текущий архив: 2009.12.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.025 c
15-1255113419
KilkennyCat
2009-10-09 22:36
2009.12.13
Непонятно, вечный двигатель?


11-1169181906
AlexM
2007-01-19 07:45
2009.12.13
VCL и KOL


15-1255699290
ocean
2009-10-16 17:21
2009.12.13
Посоветуйте бесплатный antispy для windows 2003 server?


2-1256031787
kyn66
2009-10-20 13:43
2009.12.13
Глюк компонента TCheckBox ?


2-1256104735
Qwerg_ntgl
2009-10-21 09:58
2009.12.13
Загрузка в DbGrid в PickList из текстового файла