No Delphi, podemos acessar informações da BIOS do computador diretamente pela memória. A função abaixo retorna esses dados em formato de string, permitindo exibir o resultado em um Memo.
Exibindo as Informações da BIOS
Para exibir as informações da BIOS em um componente TMemo
, utilize a seguinte linha de código:
Memo1.Lines.Text := GetBiosInfoAsText();
Código da Função para Obter Informações da BIOS
A função GetBiosInfoAsText
percorre a memória onde as informações da BIOS estão armazenadas, filtrando apenas os caracteres visíveis.
function GetBiosInfoAsText: string;
var
p, q: PChar;
begin
Result := '';
q := nil;
p := PChar(Ptr($FE000)); // Endereço da BIOS na memória
repeat
if q <> nil then
begin
if not (p^ in [#10, #13, ' '..'~', '©', '¸']) then
begin
if (p^ = #0) and (p - q >= 8) then
Result := Result + TrimRight(String(q)) + #13#10;
q := nil;
end;
end
else if p^ in ['!'..'~', '©', '¸'] then
q := p;
Inc(p);
until p > PChar(Ptr($FFFFF));
Result := TrimRight(Result);
end;
Como Funciona?
-
Acessa a memória da BIOS a partir do endereço
$FE000
. - Lê os caracteres válidos, que incluem letras, números e símbolos ASCII visíveis.
- Agrupa as informações e retorna em formato de texto.
Conclusão
Essa função permite recuperar informações importantes da BIOS do computador diretamente pelo Delphi. Você pode exibir os dados em um TMemo
ou armazená-los em uma variável para processamento posterior.