![]() |
![]() ![]() ![]() ![]() |
|
Получить дату BIOS 2Delphi , ОС и Железо , BIOS
function GetBIOSDate: string;
{получение даты BIOS в Win95}
var
s: array[0..7] of char;
p: pchar;
begin
p := @s;
asm
push esi
push edi
push ecx
mov esi,$0ffff5
mov edi,p
mov cx,8
@@1:mov al,[esi]
mov [edi],al
inc edi
inc esi
loop @@1
pop ecx
pop edi
pop esi
end;
setstring(result, s, 8);
end;
Here's the translation of the text into Russian: Функция GetBIOSDate, написанная на языке Pascal для Delphi, получает дату BIOS с системы, работающей под Windows 95. Вот разбивка кода: Подпись функции
Функция GetBIOSDate возвращает строку, представляющую дату BIOS. Переменные и инициализации
Переменная s - это массив символов размером в 8 элементов, который будет использоваться для хранения даты BIOS. Переменная p - это указатель на первый элемент массива s. Ассемблерный код
Этот ассемблерный код выполняет цикл, который читает 8 байтов из памяти по адресу, хранящемуся в регистре ESI, и хранит их в массиве s. Регистр ESI загружается адресом $0ffff5, который, вероятно, является местоположением даты BIOS в памяти. Код Delphi
Функция setstring используется для преобразования массива s в строку Delphi. Полученная строка присваивается переменной result, которая возвращает функцией GetBIOSDate. Альтернативное решение Если вам не нужно использовать ассемблерный код, вы можете использовать unit Win32API в Delphi и вызвать функцию GetSystemInfo для получения информации о системе, включая дату BIOS. Вот пример:
Этот код использует функцию GetSystemInfo для получения записи TSystemInfo, содержащей информацию о системе. Поле dwBIOSDate этой записи представляет дату BIOS в виде DWORD. Функция FormatDateTime используется для преобразования этого значения в строку в формате 'yyyy-mm-dd'. Функция GetBIOSDate получает дату BIOS в системе Win95, преобразуя байты в строку с помощью ассемблера. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||