Главная страница
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.048 c
2-1175678884
Kostafey
2007-04-04 13:28
2007.04.22
Организация модификации данных в связанных таблицах.


2-1175232130
Dmitry_177
2007-03-30 09:22
2007.04.22
Очистить массив из Integer-ов


2-1175095227
MaLoY
2007-03-28 19:20
2007.04.22
Помогите с задачкой


2-1175691550
КПД
2007-04-04 16:59
2007.04.22
Вопрос по DBComboBox


4-1164498053
Dmitry_177
2006-11-26 02:40
2007.04.22
Своя отрисовка меню