So erst mal die Werte die mir 100% genau zur Verfügung stehen:
Der gesamt Traffic von eMule:
i_TotalDownload := Strtoint64(Ini.Readstring('Statistics','TotalDownl oadedBytes','0'));
i_TotalUpload := Strtoint64(Ini.Readstring('Statistics','TotalUploa dedBytes','0'));
und
Die Windowslaufzeit:
SessionStartTime := Gettickcount;
So wie berechnet sich nun der Session Traffic:
einfach der momentane geamt traffic - den vom Start der OnlineSig;
g_emule_sdload := i_TotalDownload - Download_start;
g_emule_suload := i_TotalUpload - Upload_start;
So wie wurde nun mit Hilfe des Charts der DurchschnittsSpeed berechnet:
einfach der aktuelle wert + alle Chartwerte durch die anzahl der chart werte + 1
temp := Round(StrtoFloat(g_emule_dload));
for i := 0 to chart.VAC-1 do
temp := temp + chart.DL_Values[i];
g_eMule_dload_average := Inttostr(temp div (chart.VAC+1));
temp := Round(StrtoFloat(g_emule_uload));
for i := 0 to chart.VAC-1 do
temp := temp + chart.UL_Values[i];
g_eMule_uload_average := Inttostr(temp div (chart.VAC+1));
Nun der neue DurchschnittsSpeed von Xman:
aktuelle Windowslaufzeit - Windowslaufzeit zum start der onlinesig = Laufzeit der OnlineSig.
sectemp := (Gettickcount - SessionStartTime) div 1000;
Dann noch ein kleiner Test weil windof nach 49,7 Tagen wieder von vorne mit zählen anfängt. und durch 0 teilen kommt auch immer blöd.
if sectemp < 0 then begin
GetspecialData(true,false);
exit;
end else
if sectemp = 0 then
sectemp := 1;
Nun einfach den Sessiontraffic durch die entsprechende Laufzeit
DLaverage := FloatToStrF((g_emule_sdload /1024) / sectemp,fffixed,10,1);
ULaverage := FloatToStrF((g_emule_suload /1024) / sectemp,fffixed,10,1);
fertig
Nun noch was beim reset passiert:
Die Werte werden neu ausgelesen und die Startwerte werden neu gesetzt.
if ResetSession then begin
Download_start :=i_TotalDownload;
Upload_start := i_TotalUpload;
Das selbe auch für WindowsZeit und Chart Count Anzeige.
SessionStartTime := Gettickcount;
chart.VAC := 0;
end;
VAC beduetet Values analysed count also nichts falsches denken
Ich hoffe es ist nun alles klar
P.S. Ja es ginge auch anders aber anders ist es
1. Nicht so schnell wie das und
2. Nicht so genau wie da.