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

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

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

Message 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:
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

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

Message 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)
Dernière modification par Fig le mer. 16/nov./2011 22:49, modifié 2 fois.
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

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

Message par venom »

sympa ce petit code :)






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

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

Message 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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
Fig
Messages : 1176
Inscription : jeu. 14/oct./2004 19:48

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

Message par Fig »

Je t'en prie GallyHC, sent toi libre de proposer ta modification ;)
Il y a deux méthodes pour écrire des programmes sans erreurs. Mais il n’y a que la troisième qui marche.
Version de PB : 6.00LTS - 64 bits
Golfy
Messages : 423
Inscription : mer. 25/août/2004 15:14
Localisation : Grenoble
Contact :

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

Message 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:
Purebasic 5.30 full sous Windows XP (x86) et Win7 (64 bits), Linux Debian. Orientation réseaux, domotique
http://golfy.olympe.in/Teo-Tea/
Avatar de l’utilisateur
GallyHC
Messages : 1708
Inscription : lun. 17/déc./2007 12:44

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

Message 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
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Répondre