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

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Как получить время uptime? 
:(
    Опции темы
The MASTER
  Дата 10.5.2005, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Я знаю, что если запустить cmd.exe и набрать systeminfo, то там будет время работы uptime, хотелось бы узнать как отобразить в своей программе?
PM MAIL WWW ICQ   Вверх
_hunter
Дата 10.5.2005, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



NdisGetSystemUpTime()


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Rouse_
Дата 10.5.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А не проще GetTickCount? ;)


--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
The MASTER
Дата 10.5.2005, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Ребята, это конечно всё хорошо, но:
_hunter, Undeclared identifier: 'NdisGetSystemUpTime';

Rouse_ Какой-то странный формат, "3226453"
smile
PM MAIL WWW ICQ   Вверх
_hunter
Дата 10.5.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



в принципе проще, но на 64-х битных системах NdisGetSystemUpTime должна точнее работать ( точнее не обнуляться каждые 49,7 дней )

The MASTER, читай справку по GetTickCount() -- узнаеш что за странный формат

заодно и на подключаемые либы для NdisGetSystemUpTime глянь


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
The MASTER
Дата 10.5.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



А это в хелпе Delphi?
Добавлено @ 14:55
label1.Caption:='Uptime: ' + floattostr(NdisGetSystemUpTime);
Как формат сделать?
PM MAIL WWW ICQ   Вверх
_hunter
Дата 10.5.2005, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

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



так: никак. читай справку. в эту функцию передается указатель на long -- в нем то же число миллисекунд со старта


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
The MASTER
Дата 10.5.2005, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



прости не понял... справку в каком разделе читать? smile
PM MAIL WWW ICQ   Вверх
Rouse_
Дата 10.5.2005, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Блин...

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  d, h, m, s, ms: Real;
  AResult: String;
begin
  d := 0;
  h := 0;
  m := 0;
  ms := GetTickCount;
  s := Int(ms / 1000);
  ms := ms - (s * 1000);
  if s > 59 then
  begin
    m := Int(s / 60);
    s := s - (m * 60);
  end;
  if m > 59 then
  begin
    h := Int(m / 60);
    m := m - (h * 60);
  end;
  if h > 23 then
  begin
    d := Int(h / 24);
    h := h - (d * 24);
  end;
  AResult := '';
  if (d > 0) then AResult := AResult + FloatToStr(d) + ' д.';
  if (h > 0) then AResult := AResult + FloatToStr(h) + ' час. ';
  if (m > 0) then AResult := AResult + FloatToStr(m) + ' мин. ';
  if (s > 0) then AResult := AResult + FloatToStr(s) + ' сек. ';
  if (ms > 0) then AResult := AResult + FloatToStr(ms) + ' мсек.';
  ShowMessage(AResult);
end;



--------------------
 Vae Victis
(Горе побежденным (лат.))
Демо с открытым кодом: http://rouse.drkb.ru 
PM MAIL WWW ICQ   Вверх
The MASTER
Дата 10.5.2005, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


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

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



Пасиба! smile
PM MAIL WWW ICQ   Вверх
Girder
Дата 10.5.2005, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


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

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



1. Пользуемся поиском: http://forum.vingrad.ru/index.php?showtopic=38571
2. В самом низу есть ссылка на код "GetTickCountEx"
3. Код по ссылке для W9X и NT

4. Тема закрыта.


--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

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

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

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

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

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


 




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


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

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