Главная страница
    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.45 MB
Время: 0.005 c
1-2618
anod
2002-04-20 11:02
2002.05.02
Свойство Style TFont


1-2526
Room 666
2002-04-21 15:29
2002.05.02
Пути


3-2444
vitnt2000
2002-04-10 14:26
2002.05.02
Подключение к InterBase без драйверов


14-2645
Donal_Graeme
2002-03-19 11:11
2002.05.02
программа для записи CD-R


14-2659
Вадим
2002-03-26 14:19
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский