AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Komponente zum abrufen des Batteriestatus

Komponente zum abrufen des Batteriestatus

Ein Thema von Dennis07 · begonnen am 29. Dez 2013 · letzter Beitrag vom 23. Apr 2017
Antwort Antwort
Seite 1 von 2  1 2   
Furtbichler
(Gast)

n/a Beiträge
 
#1

AW: Komponente zum abrufen des Batteriestatus

  Alt 30. Dez 2013, 07:33
Der Code aus...ist auch Schrott.
Aber es funktioniert soweit. Schrott ist trotzdem richtig, weil -wie Du schon sagtest- die Fehlerbehandlung fehlt.
Dort zeigt er nämlich immer nur "N/A" und "Healthy" an, obwohl ich ein Notebook habe und den Stecker draussen bzw. drinnen....
Na, dann zeigt doch mal, wo 'N/A' und 'Healthy' angezeigt wird. Bei mir wird nämlich auch irgendwo 'N/A' angezeigt, allerdings bei der Anzeige der Batterielebensdauer. Die kann das Teil nicht liefern. Der Rest funktioniert. Ach, und der Code funktioniert natürlich auch mit D6, wobei mir 'Turbo Delphi 06' auch neu ist.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#2

AW: Komponente zum abrufen des Batteriestatus

  Alt 30. Dez 2013, 11:41
Ich habe mal eine kleine Unit dafür geschrieben. Fast nicht getestet, die Lebensdauer stimmt wohl noch nicht, ich habe gerade keine Zeit nachzuschauen. Das mache ich heute Abend, dann kommt noch ein Update.

// EDIT: aktuelle Version siehe weiter unten:
http://www.delphipraxis.net/178270-k...ml#post1241466

Zum Testen einfach:
Delphi-Quellcode:
uses
  PowerStatusInfo;

  ShowMessage(TPowerStatusInfo.StatusDescription);
Bei Delphi 2006 sollte das glaube ich alles schon so gehen.
Sebastian Jänicke
AppCentral

Geändert von jaenicke (30. Dez 2013 um 14:05 Uhr)
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#3

AW: Komponente zum abrufen des Batteriestatus

  Alt 30. Dez 2013, 12:41
Achtung, dezent OT:
Ich habe mir gerade die Doku auf MSN durchgelesen und bin nun verunsichert. Seeehr verunsichert.
Zitat von MSN:
SYSTEM_POWER_STATUS structure

Contains information about the power status of the system.
Syntax
Code:
typedef struct _SYSTEM_POWER_STATUS {
  BYTE ACLineStatus;
  BYTE BatteryFlag;
  BYTE BatteryLifePercent;
  BYTE Reserved1;
  DWORD BatteryLifeTime;
  DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
...
BatteryLifeTime
The number of seconds of battery life remaining, or –1 if remaining seconds are unknown.

BatteryFullLifeTime
The number of seconds of battery life when at full charge, or –1 if full battery lifetime is unknown.
Es geht um die Deklaration von BatteryLifeTime und BatteryFullLifeTime (DWORD). Und ein DWORD ist also ein unsigned 32-bit Integer im Bereich 0 bis 4294967295.
Wie schafft die Funktion es dann, diesen beiden Feldern den Wert -1 zuzuweisen?


Ist mir nur so aufgefallen.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#4

AW: Komponente zum abrufen des Batteriestatus

  Alt 30. Dez 2013, 14:04
Da wird DWORD(-1), also $FFFFFFFF, zurückgegeben, der Wert ist nur nicht so einfach zu schreiben.

Hier die fertig funktionierende Version:
PowerStatusInfo.pas
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#5

AW: Komponente zum abrufen des Batteriestatus

  Alt 20. Apr 2017, 12:07
Ich habe mal eine kleine Unit dafür geschrieben. Fast nicht getestet,...

Testen sollte man...

Mein Notebook läuft OHNE Netzteil und OHNE Akku.
Angehängte Grafiken
Dateityp: jpg NOTEBOOK_keinNT,keinAkku.jpg (9,6 KB, 60x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#6

AW: Komponente zum abrufen des Batteriestatus

  Alt 21. Apr 2017, 06:00
Ich habe leider nicht allzu viele Geräte zum Testen zur Verfügung.
Kannst du vielleicht mal einen Screenshot vom Inhalt von FSystemPowerStatus machen bitte?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#7

AW: Komponente zum abrufen des Batteriestatus

  Alt 21. Apr 2017, 06:55
Netzteil angeschlossen, Akku wird geladen.
Siehe Anhang:
Angehängte Grafiken
Dateityp: jpg FSystemPowerStatus.jpg (43,1 KB, 46x aufgerufen)
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Komponente zum abrufen des Batteriestatus

  Alt 21. Apr 2017, 08:37
Jup...bei mir das gleiche +
Fehler "Ungültiges Argument beim codieren der Uhrzeit" oder sowas....

Fehler gefunden:

Code:
var
  LifeTimeSeconds: [COLOR="Red"]Integer;[/COLOR]
begin
  if Refresh then
  begin
    LifeTimeSeconds := FSystemPowerStatus.BatteryFullLifeTime;
    if LifeTimeSeconds = $FFFFFFFF then
LifeTimeSeconds ist bei mir -1 und das scheint wohl doch nicht $FFFFFFFF zu sein

System Win10 Prof
Comp 10.2 Tokyo Starter


Uwe
e=mc² or energy = milk * coffee²

Geändert von Ghostwalker (21. Apr 2017 um 08:43 Uhr) Grund: Fehler gefunden
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.960 Beiträge
 
Delphi 12 Athens
 
#9

AW: Komponente zum abrufen des Batteriestatus

  Alt 21. Apr 2017, 08:57
Da habe ich damals ein paar Fehler gemacht...

Korrektur siehe Anhang...
PowerStatusInfo.pas
Sebastian Jänicke
AppCentral

Geändert von jaenicke (21. Apr 2017 um 11:01 Uhr)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
491 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Komponente zum abrufen des Batteriestatus

  Alt 30. Dez 2013, 22:42
[QUOTE=Furtbichler;1241426]
Ach, und der Code funktioniert natürlich auch mit D6, wobei mir 'Turbo Delphi 06' auch neu ist.
In dem fall Bedeutet "06" nicht "6", sondern ist die Abkürzung für 2006...

@Sebastian: Keine Ahrnung, wovon ihr redet, aber das kommt wohl noch (man lernt nie aus^^). Hab dir ja schon geschrieben, dass DXE5 jetzt drauf ist....
Dennis
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz