procedure TForm1.BitBtn1Click(Sender: TObject);///Получить полную информацию о файле
const
Tabulator: array[0..0] of Integer = (70);
BoolValues: array[Boolean] of string = ('No', 'Yes');
var
FvI: TFileVersionInfo;
begin
FvI := FileVersionInfo('D:\Прога\.Test.exe');
ListBox1.TabWidth := 1;
SendMessage(ListBox1.Handle, LB_SETTABSTOPS, 1, Longint(@Tabulator));
with FvI, ListBox1.Items do
begin
Add('FileType:'#9 + FileType);
Add('CompanyName:'#9 + CompanyName);
Add('CompanyName:'#9 + FileDescription);
Add('FileVersion:'#9 + FileVersion);
Add('InternalName:'#9 + InternalName);
Add('LegalCopyRight:'#9 + LegalCopyRight);
Add('LegalTradeMarks:'#9 + LegalTradeMarks);
Add('OriginalFileName:'#9 + OriginalFileName);
Add('ProductName:'#9 + ProductName);
Add('ProductVersion:'#9 + ProductVersion);
Add('SpecialBuildStr:'#9 + SpecialBuildStr);
Add('PrivateBuildStr:'#9 + PrivateBuildStr);
Add('FileFunction:'#9 + FileFunction);
Add('DebugBuild:'#9 + BoolValues[DebugBuild]);
Add('PreRelease:'#9 + BoolValues[PreRelease]);
Add('PrivateBuild:'#9 + BoolValues[PrivateBuild]);
Add('SpecialBuild:'#9 + BoolValues[SpecialBuild]);
end;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);///Информация только о версии
const
Tabulator: array[0..0] of Integer = (70);
BoolValues: array[Boolean] of string = ('No', 'Yes');
var
FvI: TFileVersionInfo;
begin
FvI := FileVersionInfo('D:\Прога\.Test.exe');
ListBox1.TabWidth := 1;
SendMessage(ListBox1.Handle, LB_SETTABSTOPS, 1, Longint(@Tabulator));
with FvI, ListBox1.Items do
begin
Add('FileVersion:'#9 + FileVersion);
end;
end;
end.
Edit1.Text:='';
i:=Lenght(FvI.FileVersion);
while (i>=1) and (i<>'.') do begin
Edit1.Text:=FvI.FileVersion[i]+Edit1.Text;
dec(i);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);///Информация только о версии
const
Tabulator: array[0..0] of Integer = (70);
BoolValues: array[Boolean] of string = ('No', 'Yes');
var
FvI: TFileVersionInfo;
myPos : Byte;
begin
FvI := FileVersionInfo('D:\Прога\Test.exe'); //символ точки "." наверное надо удалить перед Test.exe
//узнаем где последняя точка:
myPos:=PosEx('.',ReverseString(FvI.FileVersion))-1;
//мы точно знаем что версия находится после ПОСЛЕДНЕЙ точки - при этом цифр может быть и не две...
//такое бывает...
//для этого командой ReverseString переворачиваем строку - чтобы не делать цикл поиска
//и командой PosEx ищем ПЕРВОЕ место где есть точка...
//минус 1 символ - саму точку то нам не надо выводить...
//копируем текст справа от вычисленной позиции точки:
Edt1.Text:=RightStr(FvI.FileVersion, myPos);
//всё.
end;
uses
Windows, ...., StrUtils;
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.