Форум: "Начинающим";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];
Внизпеременная 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.059 c