Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
1-1172164213
Kolan
2007-02-22 20:10
2007.04.22
Как преобразовать юникод строку &amp;laquo;%D0%9C%&amp;raquo; в читаемые символы?


2-1175590295
Steep
2007-04-03 12:51
2007.04.22
Панелька


15-1175243599
DVM
2007-03-30 12:33
2007.04.22
Подскажите компонент проверенный. Кнопка с меню.


2-1175360813
Ezorcist
2007-03-31 21:06
2007.04.22
Как разрешить выделение курсором текста в Label?


1-1172494427
Unknown user
2007-02-26 15:53
2007.04.22
Как БЫСТРО подсчитать кол-во файлов в заданном каталоге?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский