Diagramm (-Gadget?)

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Diagramm (-Gadget?)

Beitrag von Mok »

Hallo.
Gibt es bereits irgendwelche Realisierungen für die folgenden Gadgets?
Bild
Das erste ist nicht wirklich schwer, aber ich frage vorsichtshalber mal. Das zweite, tjo, auch möglich, aber gibt es sowas schon (evtl. API?)

Grüße, Mok.

[OT]Mich hat's auch gewundert wie viel meine CPU im beinahen Leerlauf (Firefox mit 2 Tabs, VLC, PureBasic) arbeitet :shock:[/OT]
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
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Diagramm (-Gadget?)

Beitrag von STARGÅTE »

Ich bezweifel das es "genau" so ein Gadget gibt.

Allgemeinkannst du DiagrammGadgets aber einfach mit einem Imagegadget erstellen.
Koordinatenlinien rein und Graph plotten.

Die Frage ist halt, was soll das Gadget für Events empfangen/senden ...

[OT]Nimm halt IE 8.0, der hat bei mir 0% ^^[/OT]

EDIT: So sieht zB "mein" LineChartGadget aus, mit "komplexer" Achsenbeschriftung und Scroller, einfach mit einem ImageGadget realisiert.
Bild
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: Diagramm (-Gadget?)

Beitrag von Mok »

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
Benutzeravatar
Mok
BotHunter
Beiträge: 1484
Registriert: 26.12.2005 14:14
Computerausstattung: MSI GX780R
Intel Core i5-2410M
Nvidia GT 555M
Windows 7 Home Premium 64 bit
Wohnort:   

Re: Diagramm (-Gadget?)

Beitrag von Mok »

Gut, dann stelle ich mal eine explizite Frage: Warum kann ich keine Events abfangen? Scheinbar braucht die Prozedur GetLoad() so lange, aber warum funzt dann der Task-Manager auch einwandfrei?
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
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Diagramm (-Gadget?)

Beitrag von RSBasic »

Der Thread ist zwar einige Tage alt, aber hier ist ein Code, womit man solche Diagramme zeichnen kann: http://www.purebasic.fr/english/viewtop ... 12&t=24528
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Taz
Beiträge: 27
Registriert: 20.01.2018 18:24
Wohnort: NRW

Re: Diagramm (-Gadget?)

Beitrag von Taz »

STARGÅTE hat geschrieben: 20.07.2010 09:45 Ich bezweifel das es "genau" so ein Gadget gibt.

Allgemeinkannst du DiagrammGadgets aber einfach mit einem Imagegadget erstellen.
Koordinatenlinien rein und Graph plotten.

Die Frage ist halt, was soll das Gadget für Events empfangen/senden ...

[OT]Nimm halt IE 8.0, der hat bei mir 0% ^^[/OT]

EDIT: So sieht zB "mein" LineChartGadget aus, mit "komplexer" Achsenbeschriftung und Scroller, einfach mit einem ImageGadget realisiert.
Bild
Das sieht wahnsinnig gut aus :allright:
Würdest du den entsprechenden Code vielleicht Teilen? :praise:
Antworten