Форум: "Основная";
Текущий архив: 2009.12.13;
Скачать: [xml.tar.bz2];
ВнизДата генерации 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c