Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как получить часы,минуты или секунды, Из времени ??? 
:(
    Опции темы
ShuVaS
Дата 9.1.2005, 23:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 26.12.2004
Где: Севастополь

Репутация: нет
Всего: нет



Мне надо в лабел вывести часы или минуты (в данное время) подскажите плизз
PM MAIL WWW ICQ   Вверх
Albinos_x
Дата 10.1.2005, 00:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



MinuteOf(time); // минуты
HourOf(Time); // часы


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Illusion Dolphin
Дата 10.1.2005, 00:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



caption:=FormatDateTime('hh:mm', Now);


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Vit
Дата 10.1.2005, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



DecodeTime


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
ShuVaS
Дата 10.1.2005, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 26.12.2004
Где: Севастополь

Репутация: нет
Всего: нет



Я про DecodeTime Слышал - как им пользоватсья ???
PM MAIL WWW ICQ   Вверх
z-END
Дата 10.1.2005, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



набираем в Дельфях DecodeTime и нажимаем F1 тебе там все напишут и объяснят.


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Zero
Дата 10.1.2005, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2169
Регистрация: 23.10.2004
Где: Россия, г. Рязань

Репутация: 8
Всего: 24



Вообщето проще так:
Код

procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption:=Timetostr(time);   //для времени
Label2.Caption:=Datetostr(time);  //для даты
end;

PM MAIL ICQ   Вверх
Albinos_x
Дата 10.1.2005, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



пример использования DecodeTime


Код

...
var h,m,s,ms:word;
begin
DecodeTime(time,h,m,s,ms);
Edit1.Text:=IntToStr(h)+'/'+IntToStr(m)+'/'+IntToStr(s)+'/'+IntToStr(ms);
...





Это сообщение отредактировал(а) Albinos_x - 10.1.2005, 13:45


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
NiJazz
Дата 10.1.2005, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



Способ от NiJazz - конечно же WinAPI! smile Так работать должно быстрее и затрат ресурсов меньше - не надо лишний раз подключать VCL.
Код

procedure TForm1.Button1Click(Sender: TObject);
const GMT = 3;
var syst: TSystemTime;
   strt: string;
begin
strt := '';
GetSystemTime(syst);
strt := strt + IntToStr(syst.wHour+GMT) + ':' + IntToStr(syst.wMinute);
Label1.SetTextBuf(PChar(strt));
end;

Добавлено @ 14:18
Если выводить время с секундами, то код такой:
Код

procedure TForm1.Button1Click(Sender: TObject);
const GMT = 3;
var syst: TSystemTime;
   strt: string;
begin
strt := '';
GetSystemTime(syst);
if syst.wSecond < 10 then
  strt := IntToStr(syst.wHour+GMT) + ':' +
          IntToStr(syst.wMinute) + ':' +
          '0'+IntToStr(syst.wSecond) else
  strt := IntToStr(syst.wHour+GMT) + ':' +
          IntToStr(syst.wMinute) + ':' +
          IntToStr(syst.wSecond);
Label1.SetTextBuf(PChar(strt));
end;

PM MAIL   Вверх
NiJazz
Дата 10.1.2005, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



Хотя IntToStr - функция из модуля SysUtils. Как и DecodeTime. smile В данном случае использование API не несёт выгоды в плане экономии ресурсов. Дело вкуса, в общем. smile
PM MAIL   Вверх
Albinos_x
Дата 10.1.2005, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 26
Всего: 108



Цитата
В данном случае использование API не несёт выгоды в плане экономии ресурсов. Дело вкуса, в общем.


думаю оптимальнее пользоваться именно DecodeTime


--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
Vit
Дата 10.1.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



Ок, дам ещё один экстравагантный способ, не требующий вообще никаких библиотек. Даже WinAPI поэтому будет работать и под Windows и под Linux

Путь
Код


t:TDateTime;


Hours:=trunc(frac(t)*24);
Minutes:=trunc(frac(t*24)*60);
Seconds:=trunc(frac(t*24*60)*60);



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
NiJazz
Дата 10.1.2005, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



Код

procedure TForm1.Button1Click(Sender: TObject);
var t:TDateTime;
   Hours, Minutes, Seconds: integer;
begin
Hours:=trunc(frac(t)*24);
Minutes:=trunc(frac(t*24)*60);
Seconds:=trunc(frac(t*24*60)*60);
Label1.Caption := IntToStr(Hours)+':'+IntToStr(Minutes)+':'+IntToStr(Seconds);
end;


И вот что у меня в Label'e: 0:0:0
Добавлено @ 16:54
Vit
По какому принципу это должно работать? Интересно smile
Добавлено @ 16:55
Цитата
не требующий вообще никаких библиотек

Если не учитывать, что Frac и TDateTime - детища VCL, то да. smile
PM MAIL   Вверх
Vit
Дата 10.1.2005, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 48
Всего: 207



А кто будет назначать время?

Код

procedure TForm1.Button1Click(Sender: TObject);
var t:TDateTime;
  Hours, Minutes, Seconds: integer;
begin
t:=now;  
Hours:=trunc(frac(t)*24);
Minutes:=trunc(frac(t*24)*60);
Seconds:=trunc(frac(t*24*60)*60);
Label1.Caption := IntToStr(Hours)+':'+IntToStr(Minutes)+':'+IntToStr(Seconds);
end;



Цитата(NiJazz @ 10.1.2005, 07:53)
По какому принципу это должно работать? Интересно 


TDateTime: единица это одни сутки, следовательно 1 час это 1/24 и т.д.

Цитата(NiJazz @ 10.1.2005, 07:53)
Если не учитывать, что Frac и TDateTime - детища VCL, то да. 


С какой тихой радости это VCL? TDateTime - это базовый тип дельфи, а Frac - это стандартная функция паскаля (Любого!), определена ещё в 1969 году во время создания паскаля...



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
NiJazz
Дата 10.1.2005, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Jazz coder
****


Профиль
Группа: Экс. модератор
Сообщений: 2286
Регистрация: 10.8.2003
Где: Москва

Репутация: 6
Всего: 23



Код

procedure TForm1.Timer1Timer(Sender: TObject);
var t:TDateTime;
  Hours, Minutes, Seconds: integer;
begin
t:=now;
Hours:=trunc(frac(t)*24);
Minutes:=trunc(frac(t*24)*60);
Seconds:=trunc(frac(t*24*60)*60);
if Seconds < 10 then
  Label1.Caption := IntToStr(Hours)+':'+IntToStr(Minutes)+':0'+IntToStr(Seconds)
else
  Label1.Caption := IntToStr(Hours)+':'+IntToStr(Minutes)+':'+IntToStr(Seconds)
end;

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0647 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.