Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];

Вниз

Процедура 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.035 c
3-1084795501
Tomkat
2004-05-17 16:05
2004.06.06
FireBird 1.5 и IBX 6.08


1-1085247638
Подкрадуха
2004-05-22 21:40
2004.06.06
Никогда такой компоненты не видал...


14-1084644122
Rouse_
2004-05-15 22:02
2004.06.06
Опрос...


4-1083671527
Dmitry Shkil
2004-05-04 15:52
2004.06.06
Как узнать имя активного пользователя под XP


11-1072366669
Xtz
2003-12-25 18:37
2004.06.06
Пороблема с мск





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский