A função a seguir retorna informações sobre a Bios em formato String.
Podendo recuperar informações sobre a bios em um objeto Memo com a seguinte linha:
Memo1.Lines.Text := GetBiosInfoAsText();
Já a Função funcionaria da seguinte forma:
function GetBiosInfoAsText: string;
var
p, q: pchar;
begin
q := nil;
p := PChar(Ptr($FE000));
repeat
if q <> nil then begin
if not (p^ in [#10, #13, ‘ ‘..’~’ , ‘©’ , ‘¸’ ]) then begin
if (p^ = #0) and (p – q >= 8) then begin
Result := Result + TrimRight(String(q)) + #13#10;
end;
q := nil;
end;
end else
if p^ in [‘!’..’~’ , ‘©’ , ‘¸’ ] then
q := p;
inc(p);
until p > PChar(Ptr($FFFFF));
Result := TrimRight(Result);
end;