Autor Beitrag
Henry
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 619

WinXP Prof. SP3
D6 Prof.
BeitragVerfasst: Di 16.07.02 18:13 
Hallo,

kennt jemand eine Möglichkeit, wie man in Delphi die aktuelle Übertragingsrate der Internet verbindung zu ermitteln (auch ohne das gerade Dateien geladen werden).
Am besten für Up - und Download getrennt.

Danke im voraus.

_________________
mfg Henry
Savage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110



BeitragVerfasst: Di 16.07.02 18:51 
Hi,

es kommt darauf an, was für eine Internet-Verbindung du hast.
Wenn es eine DFÜ Verbindung über Win9x ist, kannst du dir die Daten aus der Registry laden. Bei WinNT, WinXP (mit DFÜ) musst du die RASAPI32 anzapfen, und wenn deine Connection über eine Netzwerkkarte läuft, wird es noch komplizierter, weil dann musst du die Daten via Netzwerkadapter und dessen Statistik (API) auslesen.

Sag also mal, für welche Connection du die Übertragungsrate haben willst, dann geb ich dir weitere Hilfe, oder du suchst einfach mal in der SDK von Mickysoft. Dort steht alles (mehr oder weniger verständlich) drin.

mfg
Savage
Henry Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 619

WinXP Prof. SP3
D6 Prof.
BeitragVerfasst: Di 16.07.02 19:01 
Hallo Savage,

ich danke Dir erstmal für deine Antwort

Ich habe eine DFÜ verbindung.
Betriebsysteme, sagen wir mal, es sollte schon etwas sein was bei Win98 und auch bei Win XP funktioniert.
Das sind nämlich die Systeme die ich nutze.

Wäre schön, wenn Du mir da weitere Hilfestellung geben könntest (Beispiele sind immer gut :-) )

Danke Dir im voraus.

_________________
mfg Henry
Savage
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 110



BeitragVerfasst: Mi 17.07.02 18:17 
Hi Henry,

entschuldige die Verspätung, aber früher gings leider nicht.

Also, wie ich schon geschrieben hatte muss man zwischen Win9x (Win95/98/Me) und WinNT(WinNT 3.x/4.x, WinXP) entscheiden. Der Unterschied liegt darin, dass man unter Win9x den aktuellen Traffic über die Registry auslesen kann. Bei WinNT/XP muss man die RasApi32 verwenden, um für eine Verbindung die Daten zu erhalten.

Jetzt erstmal zu Win9x:
Ich erzeuge ein Registry-Objekt und lese 2 DWord-Werte aus.
TotalBytesRecvd = Download (der gesamte der Windowssession)
TotalBytesXmit = Upload (der gesamte der Windowssession)
d.h. du musst natürlich mittels globalen Hilfsvariablen den aktuellen Download/ Upload speed berechnen.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Uses registry,...;
...
var regist : TRegistry;
     idown, iup : dword;
...
begin
...
  regist := Tregistry.Create;
  regist.RootKey := HKEY_DYN_DATA;
  regist.OpenKey('PerfStats\StatData',false);
  regist.ReadBinaryData('Dial-Up Adapter\TotalBytesRecvd',idown,4);
  regist.ReadBinaryData('Dial-Up Adapter\TotalBytesXmit',iup,4);
  regist.free;
...
end;


Zu WinNT/XP

Hier habe ich eine kleine Unit zusammengestellt, die den Traffic der 1. (!!!) DFÜ-Verbindung ermittelt. Mehr wird im Normalfall nicht benötigt (sei dem du hast mehrere DFÜ-Verbindungen gleichzeitig).
Download:
mitglied.lycos.de/Wi...av/rasstatistics.pas

Diese Unit einfach mit unter Uses mit deklarieren und folgendermaßen Aufrufen:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
Uses rasstatistics,...;
 
var 
     rs             : TRasStatistics;
     bytesrcved : DWord;
     bytesxmit  : Dword;
     bps           : DWord;
...
begin
... 
GetRasStatistics(rs);
bytesrcved := rs.dwBytesRcved;  // Empfangene Bytes
bytesxmit := rs.dwBytesXmited;  // Gesendete Bytes
...
end;


Auch hier musst natürlich mittels globalen Hilfsvariablen den aktuellen Download/ Upload speed berechnen.

Alles was da oben drinsteht, kannst du auch in der MSDN von Mickysoft nachlesen (Stichwort: RASAPI32)

Ich hoffe ich konnte dir helfen :wink:
mfg
Savage
Henry Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 619

WinXP Prof. SP3
D6 Prof.
BeitragVerfasst: Mi 17.07.02 18:50 
Ich werde das alles mal in Ruhe durchgehen und dann testen.
Falls noch ne Frage auftaucht werde ich hier Posten oder ich schreibe Dir ne PN

Ich Danke Dir für deine hilfe.

_________________
mfg Henry