Einzelnen Beitrag anzeigen

NicoDE
(Gast)

n/a Beiträge
 
#10

Re: Power-Status des Computers ermitteln?

  Alt 5. Mai 2004, 02:46
Zitat von joe666sa:
Code:
    // Ladezustand der Batterie
    case BatteryFlag of
      1 : Label2.Caption := 'Hoher Ladezustand';
      2 : Label2.Caption := 'Niedriger Ladezustand';
      4 : Label2.Caption := 'Kritischer Ladezustand';
      8 : Label2.Caption := 'Die Batterie wird geladen';
      128: Label2.Caption := 'Es existiert keine System-Batterie';
      255: Label2.Caption := 'Unbekannter Status';
    end;
Einige Flags können auch gleichzeitig vorkommen (zum Beipiel 'Ladezustand' und 'wird geladen')
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  SystemPowerStatus: TSystemPowerStatus;
  Text: string;
begin
  if GetSystemPowerStatus(SystemPowerStatus) then
    with SystemPowerStatus do
    begin
      // Wird das System mit Wechselstrom oder Akku betrieben ?
      case ACLineStatus of
        0: Text := 'System wird mit Akku betrieben';
        1: Text := 'System wird mit Wechselstrom betrieben';
      else
        Text := 'Unbekannter Status';
      end;
      Label1.Caption := Text;

      // Ladezustand der Batterie
      if (BatteryFlag = 255) then
        Text := 'Unbekannter Status'
      else if (BatteryFlag and 128 = 128) then
        Text := 'Es existiert keine System-Batterie'
      else
      begin
        case (BatteryFlag and (1 or 2 or 4)) of
          1: Text := 'Hoher Ladezustand';
          2: Text := 'Niedriger Ladezustand';
          4: Text := 'Kritischer Ladezustand';
        else
          Text := 'Unbekannter Ladezustand';
        end;
        if (BatteryFlag and 8 = 8) then
          Text := Text + ' (Die Batterie wird geladen)';
      end;
      Label2.Caption := Text;

      // Ladezustand in Prozent
      if (BatteryLifePercent <> 255) then
        Text := IntToStr(BatteryLifePercent) + ' %'
      else
        Text := 'Unbekannter Status';
      Label3.Caption := Text;
  end;
end;
  Mit Zitat antworten Zitat