MONITEUR RÉSEAU

fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007 - 2 juil. 2006 à 02:03
Tlabel Messages postés 1 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 29 juillet 2010 - 29 juil. 2010 à 15:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/38399-moniteur-reseau

Tlabel Messages postés 1 Date d'inscription dimanche 29 mai 2005 Statut Membre Dernière intervention 29 juillet 2010
29 juil. 2010 à 15:54
Salut,
Merci pour cette source intéressante. Pour le bug des progressbar j'ai la solution avec 3 ans de retard mais bon... : les propriétés Max ou Position d'une TProgressBar sont des integer, si on leur affecte une valeur qui dépasse (ce qui peut être le cas avec DebitUpload ou DebitDownload de type Longword) ça plante !
correction à faire dans l'évènement du timer :

if DebitDownLoad < High(Integer) then
begin
if DebitDownLoad>=(Progress_Download.Max+0.5) then
Progress_Download.Max:=DebitDownload;
Progress_Download.Position:=DebitDownload;
end;
if DebitUpload < High(Integer) then
begin
if DebitUpload>=(Progress_Upload.Max+0.5) then
Progress_Upload.Max:=DebitUpload;
Progress_Upload.Position:=DebitUpload;
end;

@+
TLabel.
soa118 Messages postés 2 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 18 novembre 2007
18 nov. 2007 à 10:40
Pas que je sache.

En tout cas ce qui est bizarre c'est que sous Win 2003 je me retrouve avec 2 "MS TCP Loopback interface" dans la combobox.

D'après msdn Win 2003 supporte ces fonctions.
Bizarre bizarre
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
17 nov. 2007 à 22:01
Le programme utilise les API microsoft de windows XP.
Donc il est probable que celle-ci aient trop changer entre ces deux systèmes pour que ça reste compatible.

N'y a t'il pas sous Windows Server un mode "compatibilité" comme sous Xp ?
soa118 Messages postés 2 Date d'inscription mercredi 4 avril 2007 Statut Membre Dernière intervention 18 novembre 2007
17 nov. 2007 à 20:29
Merci pour l'application!

Mais j'aurais un petit problème. Il n'est pas compatible avec Windows (Home) Server 2003.
Tu aurais une idée, comment je pourrais résoudrea ca?

Merci
kaizer63 Messages postés 25 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 22 décembre 2009
8 août 2007 à 02:09
J'ai aussi le meme probleme que vous, Tprogressbar Hors limites, vraiment pas moyen de corriger le probleme.

Bon travail sinon.
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
6 août 2006 à 11:46
"il est reproductible en changeant d'interface et en arretant le curseur sans cliquer sur la combo
"

Exactement :/
cs_jfs59 Messages postés 178 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 2 février 2010
6 août 2006 à 11:41
je me demande si c'est pas un probleme de signé non signé avec des valeurs négatives ?? mais peut etre je dis des conneries ..
cs_jfs59 Messages postés 178 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 2 février 2010
6 août 2006 à 11:35
interessant .. mais j'ai aussi le bug
il est reproductible en changeant d'interface et en arretant le curseur sans cliquer sur la combo

j'ai ajouté un mémo
voila les valeurs et le code que j'ai modifié


U 888900717 * 3406070582
D 310824465 * 3984211625
U 889504261 * 3405469266
D 310824465 * 3989750611

try
if DebitDownLoad>=(Progress_Download.Max + 0.5) then
Progress_Download.Max:=DebitDownload;
Progress_Download.Position:=DebitDownload;
if DebitUpload>=(Progress_Upload.Max + 0.5) then
Progress_Upload.Max:=DebitUpload;
Progress_Upload.Position:=DebitUpload;
except
memo1.lines.add('U ' + inttostr(Progress_Upload.Max) + ' * ' + inttostr(DebitUpload));
memo1.lines.add('D ' +inttostr(Progress_Download.Max) + ' * ' + inttostr(DebitDownload));
end;


on voit bien dans les deux cas un dépassement du range Download pourquoi ??
je sais pas trop ... mais ca doit pouvoir se trouver :o)
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
9 juil. 2006 à 20:11
Détrompes toi Elguevel, j'apprecie beaucoup les sources que tu fais. Je m'en sers régulièrement.
elguevel Messages postés 718 Date d'inscription jeudi 19 décembre 2002 Statut Membre Dernière intervention 22 novembre 2016 3
5 juil. 2006 à 21:32
Ah merci c'est gentil, par contre çà pas l'air d'emballer du monde, pas de commentaires et pas de notes. A mon avis beaucoup ne doivent rien piger au réseau c'est pour çà.

Là je vais essayer de préparer un truc sur les DLL Injéctés, on verra ce que çà donnera :-)

Aller Bon Coding et @+
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
3 juil. 2006 à 17:54
Tes sources m'ont bien aidé au contraire ;)
Notamment sur la manière d'appeler une Dll et sur le choix de la Dll à employer ...
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
2 juil. 2006 à 21:59
C'est de pas trouver le bug qui m'enerve :p
DelphiLAB_COM Messages postés 2 Date d'inscription dimanche 2 juillet 2006 Statut Membre Dernière intervention 2 juillet 2006
2 juil. 2006 à 21:56
tenerve pas dogget
jai juste remarquer une similitude
mais en tout cas c'est du beau travail
des fois le reenhancement de sources existantes avec apport de nouvelles fonctionnalités est tres bien !!!!
mais je te crois la sur parole , d'ailleurs je ne vois pas pourquoi je ne te croirait pas ; et bon courage john ...
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
2 juil. 2006 à 19:19
Bien vu ;)

Par contre, j'ai toujours cette erreur qui semble aléatoire avec les progress-bars (propriété TProgressBar hors limite).

J'arrive pas à trouver d'où ça viens (m'enerve !)
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
2 juil. 2006 à 17:32
if DebitDownLoad>=(Progress_Download.Max+0.5) then

... hum hum ... alors john on fatigue ?

DebitDownLoad = cardinal
TProgressBar.max = Integer

j'ai du mal a croire que +0.5 passe vus que ce ne sont pas de flottant.
sinon il faudrait faire :

if extended(DebitDownload) >= (extended(Progress_Download.Max)+0.5) then

--------------

unité de convertion, on divise les bits selons les mêmes regles que les bytes ou les octets, soit par 1024. Logique vus qu'on travail toujours sur des multiplicateurs de 2 (4, 8, 16, 32, 64, 128, 256, 512, 1024), Pour les bits on utilise un "b" minuscule pour ne pas le confondre avec le "B" majuscule de Bytes, les unités sont bits, Kb, Mb, Gb, pour les bits par secondes c'est bps, Kbps, Mbps, Gbps ... Kilo, Mega et Giga sont toujours representé par une lettre majuscule K, M ou G; Octet est definit par la lettre "o" minuscule. On travail sur des valeurs Int64 pour eviter tout debordement au dela de 4Giga.
Enfin, on oublis pas de mettre au pluriel "bit" et "octet" car il n'y en a jamais qu'un. :

const
DVGiga : int64 = 1024*1024*1024;
DVMega : int64 = 1024*1024;
DVKilo : int64 = 1024;

function Convertir_Bits(Valeur : int64):string;
var Divider : int64;
Unity : string;
Prec : integer;
begin
Prec := 3;
if Valeur >= DVGiga then begin
Divider := DVGiga;
Unity := ' Gbps';
end else
if Value >= DVMega then begin
Divider := DVMega;
Unity := ' Mbps';
end else
if Valeur >= DVKilo then begin
Divider := DVKilo
Unity := ' Kbps';
end else begin
Divider := 1;
Unity := ' bps';
Prec := 0;
end;
result := format('%.*f %s',[Prec, Valeur/Divider, Unity]);
end;

function Convertir_Octets(Valeur : int64; IndiquerUnites:boolean):string;
var Divider : int64;
Unity : string;
Prec : integer;
begin
Prec := 3;
if Valeur >= DVGiga then begin
Divider := DVGiga;
Unity := ' Go';
end else
if Valeur >= DVMega then begin
Divider := DVMega;
Unity := ' Mo';
end else
if Valeur >= DVKilo then begin
Divider := DVKilo;
Unity := ' Ko';
end else begin
Divider := 1;
Unity := ' octets';
Prec := 0;
end;
if IndiquerUnites then
Result := format('%.*f %s',[Prec, Valeur/Divider, Unity])
else
Result := format('%.*f',[Prec, Valeur/Divider]);
end;
John Dogget Messages postés 384 Date d'inscription vendredi 18 juin 2004 Statut Membre Dernière intervention 7 mai 2009
2 juil. 2006 à 14:49
Le code est de moi à 100%, je suis pas un plagiaire !
J'en ai même bien chi** pour comprendre la syntaxe du C++ sur MSDN :'(
DelphiLAB_COM Messages postés 2 Date d'inscription dimanche 2 juillet 2006 Statut Membre Dernière intervention 2 juillet 2006
2 juil. 2006 à 14:18
salut john
jai vu cette source quelque part : les fonctions que tu utilise sont a peu pres similaires a une bonne vielle source NETMON que je me rappelle plus ou je lai telechargee (delphi.about.com je pense) mais bon c'est une refonte d'une source existante a part que je te felicite pour les graphes ! c'est pas magique mais c'est nouveau dans la categorie ! bon courage .
Matt 261 Messages postés 1173 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 10 septembre 2011 3
2 juil. 2006 à 14:03
Eh bien non il ne peut pas rajouter d'exe à sa source puiqu'ils sonbt supprimés lors de l'upload.
fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007
2 juil. 2006 à 02:03
Peut-tu ajouter un exe à ta source ? (ou alors tu le renomme en .exe.bak par exemple) merci beaucoup.
Rejoignez-nous