c# - IF Statement for Battery Level -
i'm working on speech recognition program in c# , i've compiled few lines of code speaks current battery level when "battery level".
if (e.result.text.tolower() == "battery level") { system.management.managementclass wmi = new system.management.managementclass("win32_battery"); var allbatteries = wmi.getinstances(); string estimatedchargeremaining = string.empty; foreach (var battery in allbatteries) { estimatedchargeremaining = convert.tostring(battery["estimatedchargeremaining"]); } jarvis.speak("the power level at: " + estimatedchargeremaining + "% sir"); return; } within want create another if statement alert me if battery level has dropped below 25%. how can done? i'm guessing "if estimatedchargeremaining < 25 jarvis.speak("warning, battery level has dropped below 25%") i'm not quite sure.
i'm not sure format battery["estimatedchargeremaining"] returns seems can convert int instead of string.
int batterylevel = convert.toint32(battery["estimatedchargeremaining"]); if(batterylevel < 25) jarvis.speak("warning, battery level has dropped below 25%"); you can use batterylevel variable later on
jarvis.speak("the power level at: " + batterylevel.tostring() + "% sir"); not sure if it's intended foreach loop means you'll battery information of last value in allbatteries. previous values overwritten.
edit comment (you should add error handling)
if (e.result.text.tolower() == "battery level") { system.management.managementclass wmi = new system.management.managementclass("win32_battery"); var allbatteries = wmi.getinstances(); //string estimatedchargeremaining = string.empty; int batterylevel = 0; foreach (var battery in allbatteries) { batterylevel = convert.toint32(battery["estimatedchargeremaining"]); } if(batterylevel < 25) jarvis.speak("warning, battery level has dropped below 25%"); else //guessing want else jarvis.speak("the power level at: " + batterylevel.tostring() + "% sir"); return; }
Comments
Post a Comment