Page 1 sur 1

monitoring d'un débit : image "coulissante" (scrolling horiz

Publié : mer. 16/nov./2011 18:46
par Golfy
Bonjour,

j'ai besoin de grapher un débit, un peu façon CPU usage dans le task manager...
par contre, je suis une quiche* en graphisme sous Purebasic : qu'est-ce qui serait le plus simple ?

Merci

(*) et pas qu'en graphisme... mais je me rattrape en protocole domotique Velbus :wink:

Re: monitoring d'un débit : image "coulissante" (scrolling h

Publié : mer. 16/nov./2011 20:03
par Fig
Genre ça... En l'affichant à chaque balayage. Sinon tu peux aussi utiliser grabsprite en réduisant la largeur de 1 pixel et en raffichant le sprite décalé de 1 avec un point supplémentaire... Il y a plusieurs méthodes. Tu peux aussi utiliser poke pour évcrire directement sur l'écran su tu as besoin d'une vitesse encore supplémentaire.

Code : Tout sélectionner

;{-initialisation
If InitSprite() = 0 Or InitKeyboard()=0 Or InitMouse()=0 Or InitSprite3D()=0 Or InitSound()=0:MessageRequester("Error","Error DirectX",0):EndIf
ExamineDesktops()
Global xmax=DesktopWidth(0),ymax=DesktopHeight(0) ;resolution ecran
;ouvre un écran
OpenScreen(xmax,ymax,DesktopDepth(0),"Test",#PB_Screen_WaitSynchronization,60)
LoadFont(0, "small fonts",8)
;}

Global NewList debit.i()
Procedure graph(debit.i)
  AddElement(debit())
  debit()=debit
  StartDrawing(ScreenOutput())
  ;affiche la graduation  
  For i=0 To 200 Step 20
    LineXY(0,i,400,i,RGB(0,0,70))
    DrawingFont(FontID(0))
    DrawingMode(#PB_2DDrawing_Transparent)
    DrawText(0,i,Str((200-i)>>1))
  Next i
    DrawText(20,0,"Mbit /s")
  ;affiche le graph
  FirstElement(debit()):Y_old=debit()
  ForEach debit()
    LineXY(X,debit(),X,Y_old,#Green)
    Y_old=debit():X+1
  Next
  StopDrawing()
  ;scroll de la liste chainée
  If ListSize(debit())=400:FirstElement(debit()):DeleteElement(debit()):LastElement(debit()):EndIf
EndProcedure

T=50
Repeat
  ExamineKeyboard()
  FlipBuffers()
  ClearScreen(#Black)
  If T<30:Ta=1:EndIf
  If T>90:Ta=-1:EndIf
  T=T+Ta*Random(2)+Random(2)-1
  graph(T)
Until KeyboardPushed(#PB_Key_Escape)

Re: monitoring d'un débit : image "coulissante" (scrolling h

Publié : mer. 16/nov./2011 21:49
par venom
sympa ce petit code :)






@++

Re: monitoring d'un débit : image "coulissante" (scrolling h

Publié : ven. 18/nov./2011 17:58
par GallyHC
Bonjour,

Un code vraiment simple, mais qui en reste efficace. Manque plus que que l'on puisse mettre diverses niveaux (genre la c de 0 a 100), mais mettre 0 à X et la ce sera un vrai code sans faille.

Dans tout les cas merci de ce partage.

Cordialement,
GallyHC

Re: monitoring d'un débit : image "coulissante" (scrolling h

Publié : ven. 18/nov./2011 20:32
par Fig
Je t'en prie GallyHC, sent toi libre de proposer ta modification ;)

Re: monitoring d'un débit : image "coulissante" (scrolling h

Publié : mar. 29/nov./2011 17:07
par Golfy
Merci Fig ! :D
question vitesse, par rapport à une température échantillonnée toute les 5 mn, je pense éviter le poke (Purebasic ne tournant pas sur Sinclair ZX80, le moindre PC devrait arriver à afficher le graphe dans les temps) :lol:

Le graphe tourne sur 24h en fait :wink:

Re: monitoring d'un débit : image "coulissante" (scrolling h

Publié : jeu. 01/déc./2011 20:48
par GallyHC
Bonjour Fig,

Je propose juste une chose :) mais oui quand j'aurais un peu de temps pourquoi pas. Faut que finisse mon petit logiciel et je vois cela car ton code me donne pas mal d'idée.

Cordialement,
GallyHC