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

Вниз

как с пом. wsprintf отрубить в дате столетия?   Найти похожие ветки 

 
***_Diman_***   (2005-08-13 09:15) [0]

Всем привет! вопрос знающим си, ногами не бейте плиз. :) так вот.
нижеприв. код из "календаря" вытаскивает выбранную там дату, преобразует её в SYSTEMTIME, увеличивает день на 1 (так задумано) и должен пихнуть назад в буфер. причём в таком вот формате
ДД.ММ.ГГ а он нехороший сначала в буфер клал Д.М.ГГГГ (13.8.2005)
потом получилось ДД.ММ.ГГГГ - а вот как мне год обстругать? чтобы только 05 осталось? с помощью маски в wsprintf. знающим наверно вопрос на пару секунд, я вот что-то не могу сообразить.

SendMessage(DatePicker1,DTM_GETSYSTEMTIME,NULL,LPARAM(&dtpTime));

dtpTime.wDay++;

wsprintf(dOtData,TEXT("%02d.%02d.%d"),tpTime.wDay,dtpTime.wMonth,dtpTime.wYear);


 
xcvb123   (2005-08-13 09:33) [1]

wYear-=1900;
if (wYear>100) wYear-=100;


 
delirium-system-2   (2005-08-13 09:41) [2]

>с помощью маски в wsprintf
Как вариант, отнять от года 2000. Только через 100 лет будет работать не так как хочется.

В стандартной библиотеке есть ф-я _tcsftime (wcsftime), можно ее использовать, только соответствующее преобразование типа структуры с датой сделать.


 
xcvb123   (2005-08-13 09:44) [3]

не, не так.
вот как правильно
wYear%=100;
:)


 
delirium-system-2   (2005-08-13 09:46) [4]

xcvb123   (13.08.05 09:44) [3]

Класс.


 
***_Diman_***   (2005-08-13 09:59) [5]

Ой спасибо! Уж запарился, знаю что истина где-то рядом... :) а вот где...



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

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

Наверх




Память: 0.47 MB
Время: 0.035 c
1-1123963190
Константинов
2005-08-13 23:59
2005.09.04
Как работать с Unicode?


1-1123593987
Alexey_T-O
2005-08-09 17:26
2005.09.04
Конвертация olevariant


3-1121859310
BBCHa
2005-07-20 15:35
2005.09.04
Двухстрочный заголовок столбца в DBGrid


14-1123438165
san4opan4o
2005-08-07 22:09
2005.09.04
Склад


4-1121604685
FRick
2005-07-17 16:51
2005.09.04
GUID видеокарты