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

форма   Найти похожие ветки 

 
55555   (2002-04-18 11:12) [0]

Доброе время суток.
Вопрос банальный. Каждый из нас при написании программы писал эту форму. На самом деле EXEшник уже содержит всю информацию коментарии, версию, название продукта, имя компании и тд.
Хотелось бы узнать кто как решает эту задачу.
Вот функция, которую я выдернул где-то в сокровищнице и слегка переделал
function tform1.GetBuildInfo(FileName: String): String;
var
VerInfoSize,
VerValueSize,
Dummy: DWORD;
VerInfo: Pointer;
VerValue: PVSFixedFileInfo;

begin
Result := "";
try
VerInfoSize := GetFileVersionInfoSize(PChar(FileName), Dummy);
begin
GetMem(VerInfo, VerInfoSize);
try
FillChar(VerInfo^, VerInfoSize, 0);
GetFileVersionInfo(PChar(FileName), 0, VerInfoSize, VerInfo);
if VerInfo <> nil then
begin
VerQueryValue(VerInfo, "\", Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
Result := FloatToStr(dwFileVersionMS shr 16);
Result :=Result +"."+ FloatToStr(dwFileVersionMS and $FFFF);
Result :=Result +"."+ FloatToStr(dwFileVersionLS shr 16);
Result :=Result +"."+ FloatToStr( dwFileVersionLS and $FFFF);
end;
end;
finally
FreeMem(VerInfo, VerInfoSize);
end;
end;
except
Result := "";
end;
end;


 
55555   (2002-04-18 15:34) [1]

up^
Не уж то не интересна тема :(


 
drpass ©   (2002-04-18 16:49) [2]

Да нет, у меня была мысль сделать такую фишку... А потом я подумал, а почему бы просто не кинуть Label на форму?


 
Толик ©   (2002-04-18 17:32) [3]

Не то чтобы неинтересна, просто нового ничего не придумать: используются три ф-и
GetFileVersionInfoSize
GetFileVersionInfo
VerQueryValue
и использовать их можно только единственным образом (см. help). А уж какие оболочки вокруг них понавешать - так это уже дело вкуса. Я например оформил это как класс, который по имени файла возвращает инфу о нём...


 
Pat ©   (2002-04-18 18:46) [4]

Для формы "О программе" я юзаю ShellAbout()



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

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



Память: 0.46 MB
Время: 0.005 c
4-2727
JAndrey
2002-02-28 07:11
2002.05.02
Как запустить и остановить Скрин Сервер?


14-2672
Сержик
2002-03-27 08:18
2002.05.02
Как обозвать компоненты по-русски?


1-2594
Troy
2002-04-19 16:41
2002.05.02
Простой вопрос, на который я не могу найти ответ...


14-2659
Вадим
2002-03-26 14:19
2002.05.02
Статистика


1-2597
BlackGrin
2002-04-19 19:59
2002.05.02
Gif & Delphi




   Наверх