Показать сообщение отдельно

  #2  
Старый 01.11.2009, 16:29
Uname-A
Познающий
Регистрация: 19.08.2008
Сообщений: 69
Провел на форуме:
458484

Репутация: 31
По умолчанию

Приветствую

Вопрос такой:
Есть программа Нужно узнать её версию и загрузить в переменную

Нашол один способ:
function GetMyVersion:string;
type
TVerInfo=packed record
Nevazhno: array[0..47] of byte; // ненужные нам 48 байт
Minor,Major,Build,Release: word; // а тут версия
end;
var
s:TResourceStream;
v:TVerInfo;
begin
result:='';
try
s:=TResourceStream.Create(HInstance,'#1',RT_VERSIO N); // достаём ресурс
if s.Size>0 then begin
s.Read(v,SizeOf(v)); // читаем нужные нам байты
result:=IntToStr(v.Major)+'.'+IntToStr(v.Minor)+'. '+ // вот и версия...
IntToStr(v.Release)+'.'+IntToStr(v.Build);
end;
s.Free;
except; end;
end;

Но вот неужели нет более простого способа получить эти заветные циферки?

Неужели программа нигде не хранит свою версию кроме как в ресурсах?
 
Ответить с цитированием