Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
В NT/2000/XP не получится прочитать значения прямо из BIOS, однако, ничего не мешает нам считать нужные значения из реестра.
procedureTBIOSInfo.GetRegInfoWinNT; var
Registryv: TRegistry; RegPath: string
; sl: TStrings; begin
Params.Clear; RegPath := 'HARDWAREDESCRIPTIONSystem'; registryv := tregistry.Create; registryv.rootkey := HKEY_LOCAL_MACHINE; sl := nil
; try
registryv.Openkey(RegPath, false
); ShowMessage('BIOS Date: ' + RegistryV.ReadString('SystemBiosDate')); sl := ReadMultirowKey(RegistryV, 'SystemBiosVersion'); ShowMessage('BIOS Version: ' + sl.Text); except
end
; Registryv.Free; if
Assigned(sl) then
sl.Free; end
;
На всякий пожарный:
// следующий метод получает многострочные значения из реестра // и преобразует их в TStringlist functionReadMultirowKey(reg: TRegistry; Key: string
): TStrings; const
bufsize = 100; var
i: integer; s1: string
; sl: TStringList; bin: array
[1..bufsize] of
char; begin
try
result := nil
; sl := nil
; sl := TStringList.Create; if
not
Assigned(reg) then
raise
Exception.Create('TRegistry object not assigned.'); FillChar(bin, bufsize, #0); reg.ReadBinaryData(Key, bin, bufsize); i := 1; s1 := ''; while
i < bufsize do
begin
if
ord(bin[i]) >= 32 then
s1 := s1 + bin[i] else
begin
if
Length(s1) > 0 then
begin
sl.Add(s1); s1 := ''; end
; end
; inc(i); end
; result := sl; except
sl.Free; raise
; end
; end
;