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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.06.2011, 22:58   #11
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Код:
s:=insert(Label4.Caption,0,pos(':',Label4.Caption)-1);
И не будет работать...

Кстати, может всё-таки h:s:m?
Пишите так
Код:
Label4.caption:=IntToStr(h) + ':' + IntToStr(m) + ':' + IntToStr(s);
Вадим Мошев вне форума Ответить с цитированием
Старый 20.06.2011, 22:58   #12
Sinapsik
Пользователь
 
Аватар для Sinapsik
 
Регистрация: 29.03.2011
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Jastic Посмотреть сообщение
А как теперь мне вставить s,m,h в один Лэйбл в таком виде s:m:h.
Код:
s:=insert(Label4.Caption,0,pos(':',Label4.Caption)-1);
Начал делать так, но не работает (
Код:
Label1.Caption:=s+':'+m+':'+h;
АПД: опередили и да,тупанул с переводом типов )
Sinapsik вне форума Ответить с цитированием
Старый 20.06.2011, 22:59   #13
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Label1.Caption:=s+':'+m+':'+h;
s, m, h - это числа, их надо преобразовать в строку.
См. сообщение 11
Вадим Мошев вне форума Ответить с цитированием
Старый 20.06.2011, 23:02   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

я бы хранил
Код:
var TotalTime: TDateTime;
и отображал:
Код:
Label.Caption:=FormatDateTime('hh:nn:ss',TotalTime);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.06.2011, 23:04   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
  Label4.Caption := Format('%.2d:%.2d:%.2d',[h,m,s]);

Цитата:
Сообщение от Аватар
я бы хранил
Код:
var TotalTime: TDateTime;
угу. +1
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.06.2011, 23:05   #16
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
я бы хранил
Код:
var TotalTime: TDateTime;
и отображал:
Код:
Label.Caption:=FormatDateTime('hh:nn:ss',TotalTime);
Скажите, а можно ли переменную типа TDateTime инкрементировать/декрементировать?
Вадим Мошев вне форума Ответить с цитированием
Старый 20.06.2011, 23:10   #17
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Скажите, а можно ли переменную типа TDateTime инкрементировать/декрементировать?
А зачем? В таймере
Код:
TotalTime:=Now;
или вообще без переменной в таймере
Код:
Label.Caption:=FormatDateTime('hh:nn:ss',Now);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 20.06.2011 в 23:14.
Аватар вне форума Ответить с цитированием
Старый 20.06.2011, 23:14   #18
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А зачем? В таймере
Код:
TotalTime:=Now;
Так тут же секундомер создаётся, а не часы
Вадим Мошев вне форума Ответить с цитированием
Старый 20.06.2011, 23:16   #19
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Так тут же секундомер создаётся, а не часы
Не обратил внимание Тогда запомнить начальное время в BegTime и Label.Caption:=FormatDateTime('hh:n n:ss',Now-BegTime);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.11.2012, 21:42   #20
vmilyoshin
Пользователь
 
Регистрация: 20.02.2010
Сообщений: 66
По умолчанию

Всё на много проще.

Объявляем глобальные переменные:

Код:
var
  z: integer = 0;
  m: integer = 0;
  s: integer = 0;
Пишем такую функцию (для подстановки нуля):

Код:
function nol(s: String): String;
begin
  if Length(s) = 1 then
  Result:= '0'+s
  else
  Result:= s;
end;
Кидаем на форму компонент Timer. В его свойстве interval выставляем 1000 (равно 1 секунде). И в событии onTimer прописываем следующий код:

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if s = 59 then
  begin
  s:= 0;
  if m = 59 then
  begin
  m:= 0;
  if z = 23 then
  z:= 0
  else
  inc(z);
  end
  else
  inc(m);
  end
  else
  inc(s);
  Label1.Caption:= nol(IntToStr(z))+':'+nol(IntToStr(m))+':'+nol(IntToStr(s));
end;
Всё. Удачи всем.
vmilyoshin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Часы и минуты перевести в минуты!!! evm-evgenij Microsoft Office Excel 8 20.04.2015 08:50
Часы таймер секундомер язык Си makarov_v Фриланс 0 16.05.2011 17:08
Часы таймер секундомер язык Си makarov_v Помощь студентам 0 15.05.2011 17:34
Обратный отсчет в формате минуты и секунды Shouldercannon Общие вопросы Delphi 8 14.04.2010 12:44
Таймер. Конвертирование ms в часы,минуты, секунды.. ищу решения.. Человек_Борща Общие вопросы Delphi 3 08.04.2010 09:51