Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Функции VER.DLL

Советы » DLL » Функции VER.DLL

Это не в точности то, что вы ищите, но надеюсь, что это поможет. Я показываю информацию о версии в диалоговом окне "О программе", код приведен ниже. Блок StringFileInfo вы можете и не использовать, он необходим для осуществления простейшей проверки, вместо этого можно получить информацию из корневого блока (для дополнительной информации смотри структуру TVS_FIXEDFILEINFO в файле помощи по API).

procedure

TAboutBox.FormCreate(Sender: TObject); var

VIHandle: LongInt; VSize: LongInt; VData: Pointer; VVers: Pointer; Len: Word; FileName: string

; const

{ Предустановленный набор символов U.S., если я правильно помню } Prefix = 'StringFileInfo40904E4'; function

GetVerValue(Value: string

): string

; var

ItemName: string

; begin

ItemName := Prefix + Value + chr(0); Result := ''; if

VerQueryValue(VData, @ItemName[1], VVers, Len) then

if

Len > 0 then

begin

if

Len > 255 then

Len := 255; { "Обрезаем" любые длинные строки } Move(VVers^, Result[1], Len); Result[0] := Chr(Len); end

; end

; begin

FileName := Application.EXEName + chr(0); VSize := GetFileVersionInfoSize(@FileName[1], VIHandle); if

VIHandle <> 0 then

begin

GetMem(VData, VSize); try

if

GetFileVersionInfo(@FileName[1], VIHandle, VSize, VData) then

begin

{ В этом месте мы получаем значения из блока StringFileInfo, но точно также мы могли бы взять значения из корневого блока, используя VerQueryValue } ProductName.Caption := GetVerValue('ProductName'); Version.Caption := GetVerValue('ProductVersion'); Copyright.Caption := GetVerValue('LegalCopyright'); Comments.Caption := GetVerValue('FileDescription'); end

; finally

FreeMem(VData, VSize); end

; end

; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com