Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.16;
Скачать: CL | DM;

Вниз

Help->About и номер версии+билд???   Найти похожие ветки 

 
Victor N Golutvin   (2002-05-04 12:48) [0]

Можно-ли автоматически при сборке программы в Help-About вставлять номер собираемой версии и билда в виде строковых переменных, так как это возможно, скажем в VB? Или это изначально надо делать ручками и не иначе?
Заранее спасибо всем, кто подскажет.
Виктор.


 
shane54 ©   (2002-05-04 16:04) [1]

В Project\Options\Version info можно прописать всю необходимую инфу, но вот как ее вытаскивать и вставлять в Help - About не знаю...


 
troits ©   (2002-05-04 16:08) [2]

См. API - ф-ции
GetFileVersionInfoSize,
GetFileVersionInfo,
VerQueryValue


 
Victor N Golutvin   (2002-05-04 17:53) [3]

Спасибо. Сейчас посмотрю по API... Я почему-то думал, что API по открітому приложению не работает.. А ведь какая разница.. Файл-то не блокирован...


 
Vint ©   (2002-05-04 20:04) [4]

Вот вывод:

Название организации
Права принадлежат
Версия программы
Предыдущее обновление



function CurrentFileInfo(NameApp : string) : string;
var dump: DWORD;
size: integer;
buffer: PChar;
VersionPointer, TransBuffer: PChar;
Temp: integer;
CalcLangCharSet: string;
begin
size := GetFileVersionInfoSize(PChar(NameApp), dump);
buffer := StrAlloc(size+1);
try
GetFileVersionInfo(PChar(NameApp), 0, size, buffer);
VerQueryValue(buffer, "\VarFileInfo\Translation", pointer(TransBuffer),dump);
if dump >= 4 then
begin
temp:=0;
StrLCopy(@temp, TransBuffer, 2);
CalcLangCharSet:=IntToHex(temp, 4);
StrLCopy(@temp, TransBuffer+2, 2);
CalcLangCharSet := CalcLangCharSet+IntToHex(temp, 4);
end;

VerQueryValue(buffer, pchar("\StringFileInfo\"+CalcLangCharSet+"\"+"FileVersion"), pointer(VersionPointer), dump);
if (dump > 1) then
begin
SetLength(Result, dump);
StrLCopy(Pchar(Result), VersionPointer, dump);
end
else Result := "0.0.0.0";
finally
StrDispose(Buffer);
end;
end;

procedure TSplash.FormCreate(Sender: TObject);
var
R : TRegistry;
S,D,V : String;
begin
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
R.OpenKey("SOFTWARE\Microsoft\Windows\CurrentVersion", False);
UserName.Caption:=R.ReadString("RegisteredOwner");
Organization.Caption:=R.ReadString("RegisteredOrganization");
R.Free;

S:=ExpandFileName(Application.ExeName);
D:=DateTimeToStr(FileDateToDateTime(FileAge(S)));
V:=CurrentFileInfo(Application.ExeName);
Label5.Caption:=V;
Label6.Caption:=D;
end;

Желаю удачи



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

Текущий архив: 2002.05.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
4-50164
Velocity
2002-03-15 07:10
2002.05.16
PBS_SMOOTH - как использовать сию мессагу?


14-50108
MJH
2002-04-05 20:14
2002.05.16
НайтроАмп (NitroAmp)


1-49950
ah
2002-05-01 16:01
2002.05.16
Почему так length(chr(9)+chr(8)+chr(0)+... + chr(56)....)= пусто


3-49886
Grusta
2002-04-19 22:38
2002.05.16
Открытие Excel-файла через ADOQuery ?


1-50042
MasterA
2002-04-21 20:05
2002.05.16
Архивация по алгоритму ХАФФМАНА