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

Вниз

изменить/вернуть обратносистемную дату с помощью DateTimePicker   Найти похожие ветки 

 
Garacio ©   (2007-01-18 08:54) [0]

Приветствую всех!
Мне необходимо во время работы с программой менять и возвращать системную дату, для этого я выбрал компоненты: DateTimePicker (для того, чтобы изменить дату) и Button2 (чтобы нажатием на неё вернуть первоначальную). Изменять дату в DateTimePicker пробую так:
procedure TForm1.Button1Click(Sender: TObject);
var vsys : _SYSTEMTIME;
   vYear, vMonth, vDay : Word;
begin
DecodeDate( Trunc(DateTimePicker1.Date), vYear, vMonth, vDay );
vsys.wYear := vYear;
vsys.wMonth := vMonth;
vsys.wDay := vDay;
vsys.wDayOfWeek := DayOfWeek( Trunc(DateTimePicker1.Date) );
SetSystemTime( vsys );
end;

Эффекта никакого :-) ?!?
Как мне исправить код и что написать в процедуре нажатия кнопки (Button2) для возврата времени?


 
Elen ©   (2007-01-18 09:12) [1]


> Garacio

Возможно понадобятся админ права :

procedure TForm1.DateTimePicker1Change(Sender: TObject);
var s:_SYSTEMTIME;  
begin
GetSystemTime(s);
DecodeDate(DateTimePicker1.DateTime,s.wYear,s.wMonth,s.wDay );
if SetSystemTime(s) then caption:="ok" else RaiseLastWin32Error;
end;


 
novill ©   (2007-01-18 09:18) [2]

> Эффекта никакого

чтобы узнать причины добавь строчку
caption:=SysErrorMessage(GetLastError);
и посмотри что пишут.


 
Garacio ©   (2007-01-18 10:47) [3]

Сейчас испытаю! А как по-поводу:
нажатия кнопки (Button2) для возврата времени?


 
Elen ©   (2007-01-18 10:53) [4]


>  для возврата времени?

Возврата куда? и какого конкретно времени?


 
ЮЮ ©   (2007-01-18 10:53) [5]


> Сейчас испытаю! А как по-поводу:


Вернуть утраченное нельзя.Будучи установленным любое время станет системным. :) Запомни до изменения и измени опять.


 
Garacio ©   (2007-01-18 11:22) [6]

Вернуть утраченное нельзя.
С оговоркой: если первоначально не сохранить в значении какой-либо переменной! =)
Только, это не Х:=5, а "дата", поэтому я пока не знаю как присвоить переменной значение DateTimePicker при FormCreate и при нажатии кнопки  вернуть в DateTimePicker это значение!


 
Elen ©   (2007-01-18 11:26) [7]


> Только, это не Х:=5, а "дата", поэтому я пока не знаю как
> присвоить переменной значение DateTimePicker при FormCreate
> и при нажатии кнопки  вернуть в DateTimePicker это значение!


var    dt:TDateTime;
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  dt:=DateTimePicker1.DateTime;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
DateTimePicker1.DateTime:=dt;
end;


 
Garacio ©   (2007-01-18 11:30) [8]

Elen, Вы -ЗОЛОТО!!!


 
ЮЮ ©   (2007-01-18 11:31) [9]


> DateTimePicker1.DateTime:=dt;


Так и время "собъется"


 
Garacio ©   (2007-01-18 11:34) [10]

Что значит "собъется", прошу прокомментировать!


 
Elen ©   (2007-01-18 11:34) [11]


> Так и время "собъется"

Ничего. Время штука временная, собъется и пройдет. :). Ну по-моему автору это и надо, хотя выставление времени прокатит ИМХО только при соответствующих правах типа админ.



Страницы: 1 вся ветка

Текущий архив: 2007.02.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.054 c
2-1168966924
wander
2007-01-16 20:02
2007.02.04
файлы


2-1169154005
sinys
2007-01-19 00:00
2007.02.04
drag&drop, Clipboard


2-1169011604
Marat
2007-01-17 08:26
2007.02.04
F1Book


9-1143470364
Shweps
2006-03-27 18:39
2007.02.04
Документация по созданию игры на Delphi


2-1169203954
22b
2007-01-19 13:52
2007.02.04
Создать Экземпляр класс TXMLDocumenet в Delphi