Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
8-47619
Королев
2002-03-06 08:51
2002.07.15
Как подключать DirectX8.1 SDK к Delphi?


1-47324
XShura
2002-07-01 12:31
2002.07.15
Мерцание ListView


1-47289
Бадян
2002-06-29 22:55
2002.07.15
Трабл с TImage


3-47188
_dron_
2002-06-19 11:19
2002.07.15
Проблема с восприятием года в Dbase


3-47161
Aleksandr
2002-06-18 12:30
2002.07.15
Отчего жуткое торможение ADO-запросов и ошибка?