Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Bios Alarm [D6, Win95/98, WinME]


Sterh ©   (2003-02-07 21:22:00) 

Люди помогите !!!! Тута нарыл пример с булильником ставит в биос заводиться тачку .. но не ставит число чего делать ??? Как установить число ??


Sterh   (2003-02-08 22:21:00) [1]

Nu ....
///Work With bios;
function BcdToInt(BCDData: Byte):Byte;
begin
Result:=10*(BCDData shr 4)+(BCDData and $F);
end;

function IntToBcd(IntData: byte):byte;
begin
Result:=16*(IntData div 10)+(IntData mod 10);
end;

function GetCMOS(Adress:byte):byte; assembler;
asm
mov al,Adress
out 70h,al
jmp @1
@1:
in al,71h
end;
procedure GetAlarm;
var
AlarmHour,
AlarmMinutes,
AlarmSeconds,Adate: Byte;
begin
asm CLI end;
AlarmSeconds:=GetCMOS($1);
AlarmMinutes:=GetCMOS($3);
AlarmHour:=GetCMOS($5);
Adate:=getcmos($14);
asm STI end;

showmessage(IntToStr(BcdToInt(AlarmHour))+":"+
IntToStr(BcdToInt(AlarmMinutes))+":"+
IntToStr(BcdToInt(AlarmSeconds))+" v "+IntToStr(BcdToInt(ADate)) );
end;

procedure ResetAlarm;
begin
asm
mov ah,07h
int 1Ah
end;
end;


function SetAlarm: boolean;
label _ok, _error;
var
AlarmHour,
AlarmMinutes,
AlarmSeconds: Byte;
begin
ResetAlarm;
Result:=True;
AlarmHour:=IntToBcd(StrToInt(FormatDateTime("hh",FAlarm)));
AlarmMinutes:=IntToBcd(StrToInt(FormatDateTime("nn",FAlarm)));
AlarmSeconds:=IntToBcd(StrToInt(FormatDateTime("ss",FAlarm)));

asm
mov ah,06h
mov ch,AlarmHour
mov cl,AlarmMinutes
mov dh,AlarmSeconds
int 1Ah
jnc _ok
end;
Result:=False;
goto _error;
_ok:
//SaveAlarmTimer;
_error:
end;

///End bios


Ich Hasse   (2003-02-08 00:06:00) [2]

да пример на таймер мона?


OxOTHuK   (2003-02-07 22:57:00) [3]

а поконкретнее?? примерчик можно было и сюда кинуть если не большой


Наверх

Титульная страница Поиск, карта сайта Написать письмо