Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Вниз

форма 


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()




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.03 c
1-2517            Aliev Adil            2002-04-20 22:38  2002.05.02  
CommandLine


1-2595            Martyn                2002-04-18 16:48  2002.05.02  
Вопрос по DBGrid


3-2453            Jakov                 2002-04-05 20:35  2002.05.02  
Гиганты мысли, помогите открыть базу даных


6-2630            Lider                 2002-02-14 21:44  2002.05.02  
TWebBrowser


1-2622            Ищущий                2002-04-20 19:44  2002.05.02  
Case-пакеты