Получить дату BIOS 2Delphi , ОС и Железо , BIOSfunction 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 прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |