Форум: "Система";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
ВнизShut Down Найти похожие ветки
← →
Nina (2002-04-18 09:51) [0]Подскажите пожайлуста!
Не могу сообразить как выключить комп в определённое время!???
хочу так
если label2.caption:=TimeToStr(Time);
равен Edit.Text (сюда заношу время)
тогда...
ExitWindowsEx(EWX_shutdown or EWX_Force,0
помогите плз!
← →
gek (2002-04-18 10:01) [1]Поставь Timer и смотри в OnTimer
if TimeToStr(Time) = Edit.Text then
......................
← →
sir_musatov (2002-04-18 10:17) [2]можно использовать maskedit1:=TimeToStr(Time); ток надо "задать тип поля время" в editmask, проверять и кода настанет час Х, сделать ExitWindowsEx(EWX_SHUTDOWN, 0);
← →
sir_musatov (2002-04-18 10:19) [3]ток с ExitWindowsEx не все так просто
← →
sir_musatov (2002-04-18 10:30) [4]лучше ExitWindows(0,0); - я меня ток дельфа пикнуть успела
← →
Nina (2002-04-18 11:52) [5]я так пишу но у меня ни чего не работет!
я думаю тут цикл нужен!
или как??
ну подскажите! очень надо! прошу
если можно процедуру!
т е открываеться форма на неё только Edit и кнопочка close
или ещё надо одну конпу для сохраниения изменений в Edit?
procedure TForm1.FormCreate(Sender: TObject);
begin
if TimeToStr(Time) = Edit1.Text
then
ExitWindowsEx(EWX_shutdown or EWX_Force,0);
end;
end.
← →
Coalycat (2002-04-18 12:02) [6]Time = Double;
Попробуй развалить время
procedure DecodeTime(Time: TDateTime; var Hour, Min, Sec, MSec: Word);
и сравнить часы и минуты
← →
Coalycat (2002-04-18 12:05) [7]А под NT для выхода лучше использовать InitiateSystemShutdown
← →
sir_musatov (2002-04-18 12:19) [8]для меня проще всего было так:
MaskEdit1,editmask=!90:00:00>;1;_
в первом таймере Maskedit1.Text:=timetostr(time);
в Едит1 указываем время как ХХ:ХХ:ХХ
во втором таймере if Maskedit1.Text= edit1.Text then
showmessage("ХХХ"); //событие
← →
Coalycat (2002-04-18 13:16) [9]Вот код работает под W2K
type
TForm1 = class(TForm)
Button1: TButton;
DateTimePicker1: TDateTimePicker;
Timer1: TTimer;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DateTimePicker1Change(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
t: _Token_Privileges;
ht: cardinal;
rl: cardinal;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1.Enabled:=False;
DateTimePicker1.Kind:=dtkTime;
DateTimePicker1.Time:=Now;
if OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, ht) then begin
LookupPrivilegeValue(nil, "SeShutdownPrivilege", t.Privileges[0].Luid);
t.PrivilegeCount:=1;
t.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(ht, false, t, 0, nil, rl);
end;
end;
procedure TForm1.DateTimePicker1Change(Sender: TObject);
begin
Timer1.Enabled:=True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
H,M,S,Z :Word;
H1,M1,S1,Z1:Word;
begin
DecodeTime(DateTimePicker1.Time,H,M,S,Z);
DecodeTime(Now,H1,M1,S1,Z1);
if (H=H1) and (M=M1) then
begin
InitiateSystemShutdown("ИМЯ_КОМПЬЮТЕРА","Shutdown",5,True,False)
end
end;
end.
При изменении времени в DateTimePicker1 включает таймер и ждет пока сравняются часы и минуты
← →
Anatoly Podgoretsky (2002-04-18 13:47) [10]Нельзя производить сравнение времени, особенно при использовании таймера, надо другое отношение
if Time >= StrToTime(Edit.Text)
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c