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

Вниз

переменная SYSTEMTIME определить что она пустая   Найти похожие ветки 

 
Dmitry_177   (2007-03-30 19:57) [0]

есть переменная типа SYSTEMTIME, как мне определить что в ней не содержится дата?

попробовал так:

var
sysTime: SYSTEMTIME;
..

if sysTime <> nil then


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

вообще на сколько я знаю в ней по умолчанию не должно быть какой-то даты в отличие от FILETIME, решил проверить:

procedure TForm1.Button1Click(Sender: TObject);
var
 sysTime: SYSTEMTIME;
begin
 MessageBox(0, PChar(IntToStr(sysTime.wDay) + " " + IntToStr(sysTime.wMonth) + " " + IntToStr(sysTime.wYear)), "", 0);
end;


выдает какие-то числа, у меня они такие: "0 90 73"

как же тогда проверить что в переменной sysTime нету даты, т.е. вообще не записывали ее туда?


 
trubin ©   (2007-03-30 20:29) [1]


> как же тогда проверить что в переменной sysTime нету даты,
>  т.е. вообще не записывали ее туда?


Примерно так:

FillChar(sysTime, SizeOf(SYSTEMTIME), $FF);       //заполняем все единицами

...Используешь где-то

if sysTime.wYear = $FFFF then
 ShowMessage("Год не заполнен");


> вообще на сколько я знаю в ней по умолчанию не должно быть
> какой-то даты в отличие от FILETIME


Как это по умолчанию?


 
Anatoly Podgoretsky ©   (2007-03-30 20:30) [2]

> Dmitry_177  (30.03.2007 19:57:00)  [0]

Она не может быть пустой.


 
Dmitry_177   (2007-03-30 20:31) [3]

непойдет.. дело в том, что эта дата входит в состав некой структуры, которую присылают по сети(используя сокеты WinSock).. вот мне нужно определить есть ли там дата или нет...


 
MBo ©   (2007-03-30 20:32) [4]

Есть переменная типа Integer. Как определить, что она не содержит никакого числа?


 
RASkov   (2007-03-30 20:39) [5]

SYSTEMTIME - запись из Word"овых значений.... никак не проверишь. Или проверять на корректность всех значений записи... также..
можно вначале инициализировать, например, год в 0 : sysTime.wYear:=0; и смотреть потом изменилась или нет.... но это тоже не выход наверное...
ну или так, может:
try
D:=SystemTimeToDateTime(sysTime);
except
ShowMessage("Дата не корректная");
end;
А вообще [4]...


 
trubin ©   (2007-03-30 20:48) [6]


> непойдет.. дело в том, что эта дата входит в состав некой
> структуры, которую присылают по сети(используя сокеты WinSock).
> . вот мне нужно определить есть ли там дата или нет...


Так бы сразу и написал, а то я в [1] изгалялся :(


 
Dmitry_177   (2007-03-30 20:59) [7]

trubin, я думал это не столь важно будет..


 
Palladin ©   (2007-03-31 00:37) [8]


> Dmitry_177   (30.03.07 20:59) [7]

и правильно думал... см MBo ©   (30.03.07 20:32) [4]
пока не определишься что значит "пустая" смысла в пустоте не будет



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

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

Наверх




Память: 0.48 MB
Время: 0.04 c
6-1161645714
Fus1on
2006-10-24 03:21
2007.04.22
Как читать mp3 по ссылке и сразу воспроизводить?


2-1175628268
МегаПупс
2007-04-03 23:24
2007.04.22
Загрузка случайного файла


15-1174749101
Kolan
2007-03-24 18:11
2007.04.22
Опрос: Какой синтаксис поисковах запросов вы бы использовали?


15-1174990027
eXPell
2007-03-27 14:07
2007.04.22
С чем это может быть связано?)


4-1164636377
Creative
2006-11-27 17:06
2007.04.22
есть ли разница между onKeyUp и onKeyPress?