![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]а поконкретнее?? примерчик можно было и сюда кинуть если не большой