Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
2-1169037970
Pasha L
2007-01-17 15:46
2007.02.04
png в bmp


2-1169193508
J_SABER
2007-01-19 10:58
2007.02.04
Побитовое считывание файла


2-1169110754
wander
2007-01-18 11:59
2007.02.04
Библиотеки, как их использовать


15-1168580679
0x07BBh
2007-01-12 08:44
2007.02.04
2006 год: Год, когда Россия учила Запад уму-разуму


2-1169206286
Ольчик
2007-01-19 14:31
2007.02.04
почему не работает exit




   Наверх