Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 885

/ вопрос открыт /

Здравствуйте, эксперты!
Подскажите пожалуйста, как написать процедуру для вывода на экран информации об оставшемся заряде аккумулятора ноутбука. Заранее спасибо!

Rayden Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Rayden (статус: Посетитель)
Вопрос отправлен: 4 июня 2009, 19:41
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Пупкин В В

Здравствуйте, Rayden!
Для получения информации об уровне заряда батареи воспользуемся функцией GetSystemPowerStatus. Также с помощью нее можно определить работает компьютер от сети или нет. Поместим на форму компоненты TMemo и TButton. Листинг кода представлен ниже:

Приложение:
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. Memo1: TMemo;
  12. Button1: TButton;
  13. procedure FormCreate(Sender: TObject);
  14. procedure Button1Click(Sender: TObject);
  15. private
  16. { Private declarations }
  17. procedure UpdateInfo(Info: TStrings);
  18.  
  19. public
  20. { Public declarations }
  21. end;
  22.  
  23. var
  24. Form1: TForm1;
  25.  
  26. implementation
  27.  
  28. {$R *.dfm}
  29.  
  30. procedure TForm1.Button1Click(Sender: TObject);
  31. begin
  32.  
  33. Memo1.Clear;
  34. UpdateInfo(Memo1.Lines);
  35. end;
  36.  
  37. procedure TForm1.FormCreate(Sender: TObject);
  38. begin
  39.  
  40. UpdateInfo(Memo1.Lines);
  41. end;
  42.  
  43. procedure TForm1.UpdateInfo(Info: TStrings);
  44.  
  45. var
  46. st: TSystemPowerStatus;
  47. s: string;
  48. begin
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55. end;
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. end;
  67.  
  68.  
  69.  
  70.  
  71.  
  72. else s := TimeToStr(st.BatteryLifeTime / SecsPerDay);
  73.  
  74.  
  75.  
  76. else s := TimeToStr(st.BatteryFullLifeTime / SecsPerDay);
  77.  
  78. end;
  79.  
  80. end.


Ответ отправил: Пупкин В В (статус: 2-ой класс)
Время отправки: 5 июня 2009, 10:23
Оценка за ответ: 5

Комментарий к оценке: Спасибо, Вы мне очень помогли!!!

Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 5 июня 2009, 10:28; участников в обсуждении: 2.
min@y™

min@y™ (статус: Доктор наук), 5 июня 2009, 08:15 [#1]:

Дык берёшь любой компонент-индикатор, типа TProgressBar или TGauge и задаёшь ему Position:= процент_заряда_аккумулятора. Вот и всё.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Rayden

Rayden (статус: Посетитель), 5 июня 2009, 10:09 [#2]:

Это понятно, все дело в том, как узнать этот заряд аккумулятора, какой он в данный момент, есть ли для этого какая-нибудь функция или тп.?
min@y™

min@y™ (статус: Доктор наук), 5 июня 2009, 10:28 [#3]:

Цитата:

Подскажите пожалуйста, как написать процедуру для вывода на экран информации об оставшемся заряде аккумулятора ноутбука.


Учись правильно задавать вопросы!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:47
Выполнено за 0.02 сек.