Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.05.2007, 11:35
Lagovas Lagovas вне форума
Прохожий
 
Регистрация: 31.05.2007
Сообщения: 5
Репутация: 10
По умолчанию Время работы системы

Напишите мне пожалуйста маленькую программку, которая будет показывать сколько времени включен компьютер. Можно даже без всяких кнопочек, только маленькое окошечко и время.
PS Чем больше будет там комментариев тем лучше.
Зарание спасибо =]
Ответить с цитированием
  #2  
Старый 31.05.2007, 13:12
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

На форме таймер и StaticText. Свойства StaticText.Font:
Color = clBlue, Name = Arial Unicode MS, Size = 30. У таймера событие OnTimer, у формы - OnCreate. Счёт идёт от момента старта Windows.
Код:
type
  TForm1 = class(TForm)
    StaticText1: TStaticText;
    Timer1: TTimer;
    procedure Timer1Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function WinTime: String;
var
  a: Double;
begin
  a:= GetTickCount / (1000 * 60 * 60 * 24);
  Result:= TimeToStr(TDateTime(a));
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  StaticText1.Caption:= WinTime;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  StaticText1.Caption:= WinTime;
end;

end.
Ответить с цитированием
  #3  
Старый 31.05.2007, 21:29
Lagovas Lagovas вне форума
Прохожий
 
Регистрация: 31.05.2007
Сообщения: 5
Репутация: 10
По умолчанию

Спасибо большое, но почему-то заработало только после того как убрал
Код:
Timer1: TTimer;
StaticText1: TStaticText;
Этот текст два раза повторялся. Но подскажи еще вот, что можно ли сделать что бы, прямо в форме время шло, а не просто показывалось при каждом запуске?
Ответить с цитированием
  #4  
Старый 01.06.2007, 11:15
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

1. Убирать пришлось, т.к. то, что Delphi сама при проектировании пишет, вручную не надо дублировать.
2. Что-то вопрос не понятен. Как не надо и как надо?
Ответить с цитированием
  #5  
Старый 01.06.2007, 11:41
Lagovas Lagovas вне форума
Прохожий
 
Регистрация: 31.05.2007
Сообщения: 5
Репутация: 10
По умолчанию

Если можешь сделай просто, что бы при открытие программы сразу появлялось время сколько система работает, но и что бы оно не стояло а тикало, т.е. я включю программу, увижу ага система работает минуту, сверну её, поиграюсь допустим, разверну снова, а там время дальше идет и уже не минута а допустим час. Т.е. как в состоянии подключения к сети, когда его открываешь видишь, что сеть подключена и она подключена такое-то время, причем время идет дальше.
Ответить с цитированием
  #6  
Старый 01.06.2007, 15:06
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Цитата:
Сообщение от Lagovas
т.е. я включу программу, увижу ага система работает минуту
Придётся опять спросить. Имеем программу1 "Время". Запускаем программу2. Вопрос: "система" - это Windows или программа2? (лучше, если описываешь программы, давай им имена)
Ответить с цитированием
  #7  
Старый 01.06.2007, 15:09
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

А это разве связано с программами?
Цитата:
Сообщение от Lagovas
будет показывать сколько времени включен компьютер.
Ответить с цитированием
  #8  
Старый 01.06.2007, 20:11
Lagovas Lagovas вне форума
Прохожий
 
Регистрация: 31.05.2007
Сообщения: 5
Репутация: 10
По умолчанию

Ну вот твоя первая программа, которая написана выше, просто показывает время сколько работает система, для того что бы еще раз узнать, нужно её перезапускать, всмысле программу, так вот можно ли сделать так, что бы или время в программе шло или кнопчку обновления, т.е. нажму кнопку время обновится без закрытия программы. Система это Windows.
Ответить с цитированием
  #9  
Старый 04.06.2007, 11:31
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Подозреваю, что не работает таймер. Проверь у компонента Timer1 на закладке Events, что к обработчику событий OnTimer подключена процедура Timer1Timer. На закладке Properties: Enabled = true, Interval = 1000. Это должно стоять по умолчанию, но могло сбиться во время лишних ручных операций.
Ответить с цитированием
  #10  
Старый 05.06.2007, 15:03
Lagovas Lagovas вне форума
Прохожий
 
Регистрация: 31.05.2007
Сообщения: 5
Репутация: 10
По умолчанию

Всё сделал. Всё работает. Большое спасибо!
Вот эта приколюшка, которую я хотел =]
_http://www.rapidshare.ru/302882
Ответить с цитированием
  #11  
Старый 06.06.2007, 11:35
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Теперь понятно, что для этого и не нужна была функция GetTickCount, с обратным отсчётом справился бы и сам таймер. В начале запоминаешь время (Now) и прибавляешь к нему 30 сек (=TimeFinish). Если хочешь показывать каждые 0,1 сек, то у таймера ставишь Interval=100. В событии OnTimer берёшь разницу между TimeFinish и новым значением Now. Как только разница перестанет быть положительной - останавливаешь таймер.

Эх. Поправлюсь. На самом деле хрен редьки не слаще. Всё-равно вызывается функция. Меня сбило то, что я думал надо знать, сколько времени работает компьютер (Windows), а не запущенное приложение. Есть ещё, напр., функция timeGetTime. Чем мне нравится программирование - что можно задачу решить разными способами, лишь бы программа правильно работала, была понятна, удобна и не тормозила.

Последний раз редактировалось AlexSku, 07.06.2007 в 10:07.
Ответить с цитированием
  #12  
Старый 06.06.2007, 18:24
Аватар для mav_c
mav_c mav_c вне форума
Активный
 
Регистрация: 26.03.2007
Адрес: Москва
Сообщения: 287
Репутация: 30
По умолчанию

Цитата:
Сообщение от Lagovas
Всё сделал. Всё работает. Большое спасибо!
Вот эта приколюшка, которую я хотел =]
_http://www.rapidshare.ru/302882
Сутки что не кажешь?
__________________
---------------------------------------------
Программирование - не профессия, а стиль жизни
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:38.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025