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

Вниз

Процедура ReplaceDate   Найти похожие ветки 

 
Master Paleva ©   (2004-05-23 16:18) [0]

Кто-нибудь может показать мне как работает процедура ReplaceDate(var DateTime:TDateTime; Const NewDate: TDAteTime). Почему то у меня ничего не получается, хотя я подставляю правильное значение. Может быть для этой процедуры существуют какие-нибудь оговорки?


 
VMcL ©   (2004-05-23 16:24) [1]

Конец мая - телепаты в отпуске. Так что, код в студию.


 
Master Paleva ©   (2004-05-23 16:27) [2]

Ну, например
dt: TDate;
begin
dt:=date;
ReplaceDate(dt);
не работает.


 
VMcL ©   (2004-05-23 16:37) [3]

>>Master Paleva ©  (23.05.04 16:27) [2]

1. "Не работает" что значит? Не компилируется? Не запускается? Вызывает исключение?

2. Внимательно читаем Help. Как минимум: у ReplaceDate - 2 параметра.


 
Master Paleva ©   (2004-05-23 16:42) [4]

Не компилируется.

Даже с двумя параметрами не компилируется(ReplaceDate(dt,dt2));


 
Palladin ©   (2004-05-23 16:45) [5]

Второй раз. Читаем справку внимателно!


 
Master Paleva ©   (2004-05-23 16:50) [6]

Пробовал использовать альтернативу:

var SystemTime:TSystemTime
begin
GetLocalTime(SystemTime);
SetSystemTime(SystemTime);
так получается, а так:
dt:TDateTime;
SetSystemTime(DateTimeToSystemTime(dt));
не выходит.

Никто не может подсказать мне как переставить время?


 
Master Paleva ©   (2004-05-23 16:52) [7]

Дело не в синтаксических или логических ошибках. Я все задаю правильно, как это функция просит, но все равно не компилирует.


 
Palladin ©   (2004-05-23 16:57) [8]

Значит читать внимательно справку и вдумыватся в сообщение ошибки при компиляции не хочется? Если бы хотелось то при прочтении ошибки ты бы понял что актуальный и формальный типы параметра переданного по ссылке (Var) не совпадают и на основании этого заглянул бы в справку и удостоверился что: Да! TDate это не TDateTime.


 
Master Paleva ©   (2004-05-23 18:32) [9]

Palladin ©   (23.05.04 16:57) [8]

Да! TDate это не TDateTime.

Это я и без справки знал. И дело не в лени. Попробуйте сами, если интересно, воспользоваться этой процедурой. Возможно, что вы столкнётесь с такой же проблемой.


 
Master Paleva ©   (2004-05-23 18:35) [10]

Я уже второй раз задаю этот вопрос на форуме, но на до мной либо прикалываются, либо дают советы обратиться к справке.
Кто-нибудь может реально помочь?


 
Palladin ©   (2004-05-23 18:37) [11]

var
dt,
newd:TDateTime;
begin
dt:=now;
newd:=EncodeDate(2002,1,1);
ShowMessage(DateToStr(dt));
ReplaceDate(dt,newd);
ShowMessage(DateToStr(dt));
end;

---
LMD


 
Master Paleva ©   (2004-05-23 18:43) [12]

Palladin ©   (23.05.04 18:37) [11]
Блин, я кажется что то напутал. Эта процедура не меняет системное время. Но все равно спасибо.


 
Vlad ©   (2004-05-23 18:44) [13]

Думаю, так более наглядно будет

var
 DT1: TDateTime;
 DT2: TDateTime;
begin
 DT1:=Date + Time;
 DT2:=(Date - 1) + Time;
 ShowMessage(DateTimeToStr(DT1));
 ReplaceDate(DT1, DT2);
 ShowMessage(DateTimeToStr(DT1));
end;

---
пускай живут :-)


 
Master Paleva ©   (2004-05-23 18:47) [14]

Vlad ©   (23.05.04 18:44) [13]

Спасибо. А как изменить системное время, случайно, не знаете?


 
Palladin ©   (2004-05-23 18:53) [15]


> Vlad ©   (23.05.04 18:44)

Ну уж нет...


>  Master Paleva ©   (23.05.04 18:47)

читать справку упорне не желаем?
SetSystemTime + F1
DateTimeToSystemTime + F1

---
LMD


 
Master Paleva ©   (2004-05-23 19:01) [16]

Дело в том, что у меня какие-то проблемы со справкой. Там нет
SetSystemTime.


 
Palladin ©   (2004-05-23 19:07) [17]

SetSystemTime - это функция WinAPI и смотреть ее нужно в другой справке, в меню IDE\Help она фигурирует как Windows SDK, на ее использование тобой в [6] Master Paleva ©   (23.05.04 16:50) у меня нареканий нет, но прежде чем использовать таким образом DateTimeToSystemTime нужно было хотя бы по нему справку почитать. Откуда мысль что это функция вообще?

---
LMD


 
Vlad ©   (2004-05-23 19:08) [18]

И даже тут нету ?
C:\Program Files\Common Files\Borland Shared\MSHelp\win32sdk.hlp


 
Master Paleva ©   (2004-05-23 19:25) [19]

Palladin ©   (23.05.04 19:07) [17]
var dt:TDateTime;

DateTimeToSystemTime(dt);
Так тоже не работает.


 
Palladin ©   (2004-05-23 19:29) [20]

Что у тебя в справке написано про DateTimeToSystemTime. Скопируй сюда пожалуйста. А...

---
LMD


 
Master Paleva ©   (2004-05-23 19:31) [21]

procedure DateTimeToSystemTime(DateTime: TDateTime; var SystemTime: TSystemTime);


 
Palladin ©   (2004-05-23 19:35) [22]

ну и? ничего в голову не приходит по этому поводу?

---
LMD


 
Vlad ©   (2004-05-23 19:36) [23]


> Master Paleva ©   (23.05.04 19:31) [21]

Как видишь - там ДВА параметра, причем разнотипных.
Так какого же <censored> ты туда один пытаешься передать ?

---
все равно пусть живут ! :-)


 
Master Paleva ©   (2004-05-23 19:36) [24]

var dt:TDateTime; dt2:TSystemTime

DateTimeToSystemTime(dt,dt2);
Пробовал ещё так.


 
Master Paleva ©   (2004-05-23 19:39) [25]

Vlad ©   (23.05.04 19:36) [23]
Большое спасибо, что навели на мысль. Все получилось. Надо мне будет потренировать мозги чем-нибудь.


 
Palladin ©   (2004-05-23 19:44) [26]

Var
dt:TDateTime;
s:_SYSTEMTIME; // измени на TSystemTime
begin
dt:=EncodeDateTime(2002,1,1,12,0,0,0);
DateTimeToSystemTime(dt,s);
SetSystemTime(s);
end;


---
LMD



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

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

Наверх




Память: 0.53 MB
Время: 0.03 c
3-1084441757
Viktor
2004-05-13 13:49
2004.06.06
запрет удаления записей


1-1085514574
CoderX
2004-05-25 23:49
2004.06.06
Имя RichEdit


14-1085248282
NetBreaker666
2004-05-22 21:51
2004.06.06
Привет, НАРОД! Я вернулся! Было ли здесь че-нить интересное


3-1084455018
Smalik
2004-05-13 17:30
2004.06.06
Числовой тип поля в Access


1-1085381901
Галинка
2004-05-24 10:58
2004.06.06
Кто хорошо знает Модуль Math?