Batterieanzeige für Laptop Benutzer und Andere :)

Übersicht BlitzBasic DLLs und Userlibs

Neue Antwort erstellen

Xenon

Betreff: Batterieanzeige für Laptop Benutzer und Andere :)

BeitragDi, März 16, 2004 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

alles wichtige dürfte aus dem Code ersichtlich sein.
ich finde es richtig lustig, strukturen in BB zu lesen, was täte man bloß ohne banks?

Die Userlib:
Code: [AUSKLAPPEN]
.lib "kernel32.dll"
GetSystemPowerStatus%(SYSTEM_POWER_STATUS*):"GetSystemPowerStatus"


Der Code:
Code: [AUSKLAPPEN]
bank = CreateBank(12)

br$ = Chr$(13)+Chr$(10)

GetSystemPowerStatus(bank)

ACLineStatus      = PeekByte(bank, 0)
Select ACLineStatus
Case 0
   s1$ = "Offline"
Case 1
   s1$ = "Online"
Case 255
   s1$ = "Unknown"
Default
   s1$ = "Error"
End Select

BatteryFlag         = PeekByte(bank, 1)
s2$ = ""
If BatteryFlag And 1   = 1 Then s2$ = s2$ +   "High, "
If BatteryFlag And 2   = 1 Then s2$ = s2$ +   "Low, "
If BatteryFlag And 4   = 1 Then s2$ = s2$ +   "Critical, "
If BatteryFlag And 8   = 1 Then s2$ = s2$ +   "Charging, "
If BatteryFlag And 128   = 1 Then s2$ = s2$ +   "No system battery, "
If BatteryFlag = 255      Then s2$ =         "Unkown status, "
If s2$ = "" Then
   s2$ = "No flags set"
Else
   s2$ = Left$(s2$, Len(s2$)-2)
End If

BatteryLifePercent   = PeekByte(bank, 2)
s3$ = BatteryLifePercent+" %"

Reserved1         = PeekByte(bank, 3)
If Reserved1 = 0 Then
   s4$ = "Reserved"
Else
   s4$ = "Error"
End If

BatteryLifeTime      = PeekInt(bank, 4)
If BatteryLifeTime = $FFFFFFFF Then
   s5$ = "Unknown"
Else
   s5$ = BatteryLifeTime+" seconds"
End If

BatteryFullLifeTime   = PeekInt(bank, 8)
If BatteryLifeTime = $FFFFFFFF Then
   s6$ = "Unknown"
Else
   s6$ = BatteryFullLifeTime+" seconds"
End If

ausgabe$ = ""
ausgabe$ = ausgabe$ + "ACLineStatus: " +      s1$+br$
ausgabe$ = ausgabe$ + "BatteryFlag: " +         s2$+br$
ausgabe$ = ausgabe$ + "BatteryLifePercent: " +   s3$+br$
ausgabe$ = ausgabe$ + "Reserved1: " +         s4$+br$
ausgabe$ = ausgabe$ + "BatteryLifeTime: " +      s5$+br$
ausgabe$ = ausgabe$ + "BatteryFullLifeTime: " +   s6$+br$

Notify ausgabe$

End
  • Zuletzt bearbeitet von Xenon am Sa, Jul 24, 2004 18:33, insgesamt 2-mal bearbeitet

Dante

BeitragDo, Dez 02, 2004 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
wow, super lib Very Happy
nice work Wink
  • Zuletzt bearbeitet von Dante am So, Feb 26, 2006 22:35, insgesamt einmal bearbeitet
 

naibaf7

BeitragSo, Feb 26, 2006 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ähem

was bedeutet BatteryLifePercent genau?

heisst das Batterielaufzeitprozent?

was bedeuten die anderen angaben genau? Wäre sehr froh für antwort.

Ansonsten sehr gute arbeit Very Happy
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master

x-pressive

BeitragFr, März 03, 2006 9:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Nette Idee Wink

Zitat:
was bedeutet BatteryLifePercent genau?

Benutz bitte deinen gesunden Menschenverstand, naibaf7 Confused
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL
 

naibaf7

BeitragFr, März 03, 2006 10:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry..... Embarassed

aber ich weis wirklich nicht was diese dinge Bedeuten!!!

Immerhin kommt bei mir bei BatteryLifePercent bei meinem Notebook der Wert 255% ? Sollte doch höchstens 100% sein oder Question
My Pc:
MSI 790FX-GD70, Phenom X4 955BE, 2x2GB DDR3-1600, 8800GTS-512, WD 640GB + Samsung 160GB, Scythe Kaze Master
 

#Reaper

Newsposter

BeitragFr, März 03, 2006 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ne, vermutlich musst du das noch umrechnen, der PC arbeitet NIE (stimmt doch, oder?) mit werten wie 100, sondern wenn nur 0 und 1 oder von 0 bis 255, wie in dem fall, alles andere wird umberechnet, erstrecht in solchen fällen Wink

Also, mir fällst zwar gerade auch nicht ein, wie das geht, aber.. Wink
255 ist 100% und 0 eben 0% Wink

MfG
#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Dante

BeitragFr, März 03, 2006 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
versuchs mal so:

Code: [AUSKLAPPEN]
bank = CreateBank(12)

br$ = Chr$(13)+Chr$(10)

GetSystemPowerStatus(bank)

ACLineStatus      = PeekByte(bank, 0)
Select ACLineStatus
Case 0
   s1$ = "Offline"
Case 1
   s1$ = "Online"
Case 255
   s1$ = "Unknown"
Default
   s1$ = "Error"
End Select

BatteryFlag         = PeekByte(bank, 1)
s2$ = ""
If BatteryFlag And 1   = 1 Then s2$ = s2$ +   "High, "
If BatteryFlag And 2   = 1 Then s2$ = s2$ +   "Low, "
If BatteryFlag And 4   = 1 Then s2$ = s2$ +   "Critical, "
If BatteryFlag And 8   = 1 Then s2$ = s2$ +   "Charging, "
If BatteryFlag And 128   = 1 Then s2$ = s2$ +   "No system battery, "
If BatteryFlag = 255      Then s2$ =         "Unkown status, "
If s2$ = "" Then
   s2$ = "No flags set"
Else
   s2$ = Left$(s2$, Len(s2$)-2)
End If

BatteryLifePercent   = PeekByte(bank, 2)
s3$ = Int(100.0 / 255.0 * BatteryLifePercent) +" %" ;Hier wirds umgerechnet^^

Reserved1         = PeekByte(bank, 3)
If Reserved1 = 0 Then
   s4$ = "Reserved"
Else
   s4$ = "Error"
End If

BatteryLifeTime      = PeekInt(bank, 4)
If BatteryLifeTime = $FFFFFFFF Then
   s5$ = "Unknown"
Else
   s5$ = BatteryLifeTime+" seconds"
End If

BatteryFullLifeTime   = PeekInt(bank, 8)
If BatteryLifeTime = $FFFFFFFF Then
   s6$ = "Unknown"
Else
   s6$ = BatteryFullLifeTime+" seconds"
End If

ausgabe$ = ""
ausgabe$ = ausgabe$ + "ACLineStatus: " +      s1$+br$
ausgabe$ = ausgabe$ + "BatteryFlag: " +         s2$+br$
ausgabe$ = ausgabe$ + "BatteryLifePercent: " +   s3$ + br$
ausgabe$ = ausgabe$ + "Reserved1: " +         s4$+br$
ausgabe$ = ausgabe$ + "BatteryLifeTime: " +      s5$+br$
ausgabe$ = ausgabe$ + "BatteryFullLifeTime: " +   s6$+br$

Notify ausgabe$

End

Smily

BeitragSo, März 12, 2006 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
#Reaper hat Folgendes geschrieben:

Also, mir fällst zwar gerade auch nicht ein, wie das geht, aber.. Wink
255 ist 100% und 0 eben 0% Wink


Code: [AUSKLAPPEN]
Prozentwert = (100.0/255.0)*wert%

Prozentrechnung, Mathematik klasse 6 Wink
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

#Reaper

Newsposter

BeitragSo, März 12, 2006 18:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ach...öm..ja?
naja, das is ja bei mir nun schon.. äm..öm... 3 jahre her..? ^^
Wink
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Neue Antwort erstellen


Übersicht BlitzBasic DLLs und Userlibs

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group