Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2008, 17:43   #1
Avalonix
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 57
По умолчанию Разделить дату на год,месяц, день

Приветствую. Вопрос очень простой, но через поиск не нашел. Необходимо разделить системную дату на год,месяц и число. Знаю есть процедура DecodeDatа, но как им пользоваться не знаю. Цель- в один DBEdit поместить число, в другой месяц и третий год соответстввенно.
Avalonix вне форума Ответить с цитированием
Старый 27.05.2008, 17:45   #2
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

FormatDateTime('yyyy', date()); -год (2008)
FormatDateTime('mmmm', date()); -месяц (май)
FormatDateTime('dd', date()); -число (27)

другой формат:
FormatDateTime('yy', date()); -год (08)
FormatDateTime('mm', date()); -месяц (05)
FormatDateTime('dddd', date()); -число (вторник)
Карп преодолевший водопад становится драконом.

Последний раз редактировалось N!ckeL; 27.05.2008 в 17:49.
N!ckeL вне форума Ответить с цитированием
Старый 27.05.2008, 17:48   #3
Avalonix
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 57
По умолчанию

В каком типе данных выйдут значения?
yy,mmm,,ddd - это переменные куда лягут значения?
Avalonix вне форума Ответить с цитированием
Старый 27.05.2008, 17:48   #4
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Var s:string;
s:=DateToStr(now);
Edit1.Text:=Copy(s,1,pos('.',s)-1); delete(s,1,pos('.',s));
Edit2.Text:=Copy(s,1,pos('.',s)-1); delete(s,1,pos('.',s));
Edit3.Text:=s;
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 27.05.2008, 17:50   #5
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

Функция вернёт строку:
Код:
Edit1.Text:=FormatDateTime('yyyy', date());// -год (2008)
Edit2.Text:=FormatDateTime('mmmm', date());// -месяц (май)
Edit3.Text:=FormatDateTime('dd', date());// -число (27)
Карп преодолевший водопад становится драконом.
N!ckeL вне форума Ответить с цитированием
Старый 27.05.2008, 17:51   #6
Avalonix
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 57
По умолчанию

Цитата:
Сообщение от D-mon Посмотреть сообщение
Var s:string;
s:=DateToStr(now);
Edit1.Text:=Copy(s,1,pos('.',s)-1); delete(s,1,pos('.',s));
Edit2.Text:=Copy(s,1,pos('.',s)-1); delete(s,1,pos('.',s));
Edit3.Text:=s;
если можно поясните хоть одну строку. просто с Copy не работал
Avalonix вне форума Ответить с цитированием
Старый 27.05.2008, 17:53   #7
Avalonix
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 57
По умолчанию

В целом понятно. Всем большое спасибо!!!
Avalonix вне форума Ответить с цитированием
Старый 27.05.2008, 17:53   #8
N!ckeL
Форумчанин
 
Регистрация: 29.03.2008
Сообщений: 300
По умолчанию

p.s.:чем FormatDateTime не нравится?

copy копирует участок строки, 1 параметр строка с которой копировать, 2 параметр с какого символа копировать, 3 параметр сколько символов копировать
Карп преодолевший водопад становится драконом.
N!ckeL вне форума Ответить с цитированием
Старый 27.05.2008, 17:55   #9
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

copy(строка откуда копировать, начиная с символа, заканчивая чимволом включительно)
pos(подстрока, строка) - ищет первое вхождение подстроки в строку и возвращает позицию (н.п. pos('.','12.12.2008') = 3)
delete(строка откуда удалять, начиная с символа, заканчивая чимволом включительно)
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 27.05.2008, 17:56   #10
Avalonix
Пользователь
 
Регистрация: 20.04.2008
Сообщений: 57
По умолчанию

Все устраивает!!! Еще раз большое спасибо!
Avalonix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Акция: хостинг 200 Гб, 200 р. в месяц. Viteef Свободное общение 2 28.07.2008 23:43
Защита .xls файла на месяц valerij Microsoft Office Excel 2 09.02.2008 03:03
как суммировать только определенный месяц? Алька Microsoft Office Excel 2 08.05.2007 08:50