![]() |
Suche Unterstützung für Akku Status Anzeige
Hallo,
ich könnte etwas Unterstützung/Informationen benötigen, wie man mit Code Typhoon bzw. Lazarus Akkuinformationen auslesen kann. Lt. Microsoft ![]() Mustercode ist hier: ![]() Wie kann ich in CT oder Lazarus das einbinden? Kann man irgendwo auch CodeTyphoon im Profil eintragen? Ich habe nur Lazarus gesehen. Privat verwende ich Delphi nicht mehr sondern bin auf CT und Lazarus umgestiegen. Da soll es einen Sourcecode von Michael Puff geben. ![]() Danke im voraus. Hab was vergessen: Früher habe ich Batteryeater zum testen von Akkus verwendet. Das Programm wird nicht mehr gepflegt und funktioniert auf Windows 10/Windows 11 nicht mehr richtig. Was vergeleichbares habe ich nicht gefunden. Daher versuche ich das als Hobbyprojekt selbst zu schreiben. |
AW: Suche Unterstützung für Akku Status Anzeige
Da war himitsu sehr hilfreich, was ein Backup der Website von Michael Puff betrifft
![]() |
AW: Suche Unterstützung für Akku Status Anzeige
Zitat:
Werde ich versuchen auf CT oder Lazarus umzusetzen. |
AW: Suche Unterstützung für Akku Status Anzeige
Liste der Anhänge anzeigen (Anzahl: 1)
In 'ner gelangweilten Pause vor 'ner Weile mal angefangen alle möglichen Energiefunktionen in einer Demo zusammenfassen zu wollen.
Der gepostete Link scheint ist uralt zu sein, noch lange bevor Michael seine Seite umgebaut hatte. Da kannst'e nur die letzte/aktuelle Seite durchsuchen, ob/wo es sich jetzt versteckt, Vor allem die Artikel ![]() bzw. aus dem Rootverzeichnis die Alles-ZIP nehmen und da in den Dateien nach dieser API suchen. Wobei hier auch das Wayback hilft. Probleme hatte Wayback mit Dateianhängen, welche nicht gespeichert wurden, aber Artikel selbst sind oft noch vorhanden, auch von der ganz alten Webseite. ![]() |
AW: Suche Unterstützung für Akku Status Anzeige
Zitat:
|
AW: Suche Unterstützung für Akku Status Anzeige
Delphi-Quellcode:
program BatteryLevel;
uses SysUtils, Windows; var PowerStatus: TSystemPowerStatus; BatteryLifePercent: Byte; begin if GetSystemPowerStatus(PowerStatus) then begin BatteryLifePercent := PowerStatus.BatteryLifePercent; if BatteryLifePercent <> 255 then WriteLn('Battery level: ', BatteryLifePercent, '%') else WriteLn('Battery level: Unknown'); end else WriteLn('Unable to retrieve battery status'); end. |
AW: Suche Unterstützung für Akku Status Anzeige
Hilfreich ist an der Stelle noch BatteryFlag abzufragen.
Inhalte sind:
Delphi-Quellcode:
case TSystemPowerStatus.BatteryFlag of
1 : 'Hoher Ladezustand'; 2 : 'Niedriger Ladezustand'; 4 : 'Kritischer Ladezustand'; 8 : 'Die Batterie wird geladen'; 128:'Es existiert keine System-Batterie'; 255:'Unbekannter Status'; |
AW: Suche Unterstützung für Akku Status Anzeige
Und wenn BatteryLivePercent größer als 255 ist, dann hat man ein Super-Byte :-)
|
AW: Suche Unterstützung für Akku Status Anzeige
Aber wenn man es ganz genau nimmt, dann sind das eigentlich halbe Bitmasken.
Das oberste Bit = Fehler (bzw. Wert = -1, aber eigentlich "nur" das Minus) und das vorletzte Bit = NICHTS (z.B. "kein Akku"). Und die unteren Bits sind entweder ein ENUM oder ein BIT-Set, oder Beides. z.B. das BatteryFlag ... $08 = wird geladen und die unteren 3 Bits (nur eines jeweils aktiv) = der Ladezustand Ja, es klappt meistens, dass ALLES einfach nur als Dumme Byte-Konstante gibt, aber genau deswegen lässt sich der Ladezustand während des Ladens nicht anzeigen. (außer der Gerätetreiberhersteller denkst sich mal "ich mach das mal besser und nutze die Bits richtig") |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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