Главная страница
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.041 c
2-1169158460
AlexeyT
2007-01-19 01:14
2007.02.04
Печать TImage/TBitmap?


1-1165827510
Asail
2006-12-11 11:58
2007.02.04
Как убрать заголовок в TPageControl?


2-1168862862
Ломов
2007-01-15 15:07
2007.02.04
Control "Has no parent window"


6-1157198312
Fugas
2006-09-02 15:58
2007.02.04
POST запрос и PHP


2-1169307469
MaxInside
2007-01-20 18:37
2007.02.04
Мин. и макс. значения