Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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()



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

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

Наверх









Память: 0.82 MB
Время: 0.025 c
1-2598
ATLANTIDO
2002-04-17 19:05
2002.05.02
PageControl


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


4-2715
Reals
2002-02-28 09:37
2002.05.02
Как нарисовать на Рабочем столе, чтобы не стиралось...


1-2621
Surprising
2002-04-20 07:56
2002.05.02
Excel


1-2585
Владимир2
2002-04-19 17:28
2002.05.02
Событие





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский