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

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

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

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

Чтение строки из реестра без использования класса TRegistry

Советы » Реестр » Чтение строки из реестра без использования класса TRegistry

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Чтение строки из реестра без использования класса TRegistry

Входные параметры:
RootKey - идентификатор корневого раздела реестра, например
HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE и т.д.

Key - имя раздела реестра,

Name - имя параметра, для чтения параметра "По умолчанию" ("Default"),
эта строка должна быть пустой

Success - (необязательный параметр) адрес логической переменной, в которую
будет Тrue в случае успеха или False в случае ошибки.

В случае успеха функция возвращает значение параметра, или
пустую строку при возникновении ошибки чтения из реестра

Зависимости: Windows
Автор:       Dimka Maslov, mainbox@endimus.ru, ICQ:148442121, Санкт-Петербург
Copyright:   Dimka Maslov
Дата:        13 мая 2002 г.
***************************************************** }

function

RegQueryStr(RootKey: HKEY; Key, Name: string

; Success: PBoolean = nil

): string

; var

Handle: HKEY; Res: LongInt; DataType, DataSize: DWORD; begin

if

Assigned(Success) then

Success^ := False; Res := RegOpenKeyEx(RootKey, PChar(Key), 0, KEY_QUERY_VALUE, Handle); if

Res <> ERROR_SUCCESS then

Exit; Res := RegQueryValueEx(Handle, PChar(Name), nil

, @DataType, nil

, @DataSize); if

(Res <> ERROR_SUCCESS) or

(DataType <> REG_SZ) then

begin

RegCloseKey(Handle); Exit; end

; SetString(Result, nil

, DataSize - 1); Res := RegQueryValueEx(Handle, PChar(Name), nil

, @DataType, PByte(@Result[1]), @DataSize); if

Assigned(Success) then

Success^ := Res = ERROR_SUCCESS; RegCloseKey(Handle); end

;

Пример использования:

procedure

TForm1.Button1Click(Sender: TObject); begin

edit1.Text := RegQueryStr(HKEY_CLASSES_ROOT, 'AVIFileshellopencommand', ''); end

;

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

Категории

Статьи

Советы

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