![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() в проге в окне about выводится дата создания новой версии проги.
можно ли както сделать чтоб во время компиляции туда подставилась дата текущая? а то вручную иногда забываю поправить |
#2
|
||||
|
||||
![]() Код:
var sAppName, sVersionType: string; iAppSize, iLenOfValue, i: integer; pcBuf, pcValue: PChar; begin sAppName := Application.ExeName; iAppSize := GetFileVersionInfoSize(PChar(sAppName), iAppSize); if iAppSize > 0 then begin pcBuf := AllocMem(iAppSize); GetFileVersionInfo(PChar(sAppName), 0, iAppSize, pcBuf); for i := 0 to Ord(High(TVersionType)) do begin sVersionType := GetEnumName(TypeInfo(TVersionType), i); sVersionType := Copy(sVersionType, 3, length(sVersionType)); if VerQueryValue(pcBuf, PChar('StringFileInfo\040904E4\' + sVersionType), Pointer(pcValue), iLenOfValue) then FVersionInfo[i] := pcValue; end; FreeMem(pcBuf, iAppSize); end; end; Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
![]() хмм,то есть таким же способоз извлекать дату создания exe файла?
но это не совсем то что я имел ввиду. может есть чтото типа условных комментариев для компилятора?както так. в {} скобках |
#4
|
||||
|
||||
![]() Цитата:
Цитата:
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. Последний раз редактировалось angvelem, 18.04.2012 в 00:03. |
Этот пользователь сказал Спасибо angvelem за это полезное сообщение: | ||
Snake22 (18.04.2012)
|
#5
|
||||
|
||||
![]() -меню Project-Options...
-вкладка Version Info -ставим галочку Include version information in project -жмем кнопку Help -читаем в файле справки Version Info (Project|Options) -видим Note: For details on how to access version information programmatically, see Reading version information. -кликаем на Reading version information -читаем в файле справки Reading version information -видим Delphi example -кликаем на Delphi example -изучаем код: Код:
procedure TForm1.Button1Click(Sender: TObject); const InfoNum = 10; InfoStr: array[1..InfoNum] of string = ('CompanyName', 'FileDescription', 'FileVersion', 'InternalName', 'LegalCopyright', 'LegalTradeMarks', 'OriginalFileName', 'ProductName', 'ProductVersion', 'Comments'); var S: string; n, Len, i: DWORD; Buf: PChar; Value: PChar; begin S := Application.ExeName; n := GetFileVersionInfoSize(PChar(S), n); if n > 0 then begin Buf := AllocMem(n); Memo1.Lines.Add('VersionInfoSize = ' + IntToStr(n)); GetFileVersionInfo(PChar(S), 0, n, Buf); for i := 1 to InfoNum do if VerQueryValue(Buf, PChar('StringFileInfo\040904E4\' + InfoStr[i]), Pointer(Value), Len) then Memo1.Lines.Add(InfoStr[i] + ' = ' + Value); FreeMem(Buf, n); end else Memo1.Lines.Add('No version information found'); end; Пишу программы за еду. __________________ |
Этот пользователь сказал Спасибо NumLock за это полезное сообщение: | ||
AlexSku (18.04.2012)
|