Ich hätte da schon mal was zusammengepfuscht (Pfui Deibl, ist der Code hässlich)
Code: Alles auswählen
IncludePath #PB_Compiler_Home + "srod\comateplus\"
XIncludeFile "comateplus.pbi"
Procedure GetLoad()
Define objWMIService.COMateObject
Define objItem.COMateObject
Define colItems.COMateEnumObject
Define Computer.s = "."
objWMIService = COMate_GetObject("winmgmts:\\" + Computer + "\root\cimv2", "")
If objWMIService
colItems = objWMIService\CreateEnumeration("ExecQuery('SELECT * FROM Win32_Processor')")
If colItems
objItem = colItems\GetNextObject()
ProcedureReturn objItem\GetIntegerProperty("LoadPercentage")
EndIf
EndIf
EndProcedure
OpenWindow(0,320,320,200,200,"Diagramm")
CreateImage(0,50,130,32)
ImageGadget(0,20,20,50,130,ImageID(0))
ListViewGadget(1,90,20,80,130)
ButtonGadget(2,20,160,100,30,"Clear")
StartDrawing(ImageOutput(0))
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
If EventGadget() = 2
ClearGadgetItems(1)
EndIf
Case #PB_Event_Repaint
FillArea(10,110-Load,#Black,#Black)
Load = GetLoad()
Box(10,10,30,100,RGB(0,128,0))
Box(10,110-Load,30,Load,RGB(10,255,5))
DrawText(10,110,Str(Load)+" % ",RGB(10,255,5),RGB(0,0,0))
SetGadgetState(0,ImageID(0))
AddGadgetItem(1,-1,Str(Load)+" %")
EndSelect
Until Event = #PB_Event_CloseWindow
StopDrawing()
End
Meine Frage: Wie kann ich den Code optimieren?
21.07. 14:49 Code aktualisiert
Win 7 Home Premium 64 bit | PureBasic 5.20 - x86 und x86-64 | Firefox [aktuelle stable-Version hier einfügen]
"Jeder macht irgendwann mal Fehler, darum gibt's auch Bleistifte mit Radiergummi." --Carl