Cześć
Mam pewien problemik
Otóż zrobiłem procedurkę wyświetlającą dane dotyczącą szybkości transferu dla
zainstalowanych kart sieciowych.
Dla jasności dodam że skorzystałem z unitu IPhlpAPI.pas (dostępnego w necie)
który to importuje funkcje z biblioteki IPHLPAPI.DLL
I w oparciu o powyższe moja procedura wygląda mniej więcej tak:

//Pobieranie i wyświetlanie danych
procedure TFormTransfer.WyswietlDane(Mib :IPhlpAPI.TMIBIFArray);
var
x   :Integer;
tmp :Real;
begin
for x:= low(mib) to High(mib) do
with mib[x] do
begin
   with Adapter[x] do
   begin
     //pobieranie danych...
     Szybkosc:= (dwInOctets - PrevCountIn);
     inc(TotalIn,Szybkosc);
     if Szybkosc > 0 then inc(ActivecountIn);
     PrevCountIn:= dwInOctets;
     Wysylanie:= dwOutOctets - PrevCountOut;
     inc(TotalOut,Wysylanie);
     if Wysylanie > 0 then inc(ActivecountOut);
     PrevCountOut:= dwOutOctets;
     if Szybkosc > SzybkoscSred then SzybkoscSred:= Szybkosc;
     if Wysylanie > WysylanieSred then WysylanieSred:= Wysylanie;
     //szybkość pobierania...
     tmp:= Szybkosc/1000;                                       //zamiana na KB
     Label1.Caption:= FormatFloat('0.0', tmp) +'  KBs';    //wyświetla szybkość
     //średnia szybkość pobierania
     tmp:= SzybkoscSred/1000;
     Label2.Caption:= FormatFloat('0', tmp) +'  KBs';       //wyświetla średnią
     //szybkość wysyłania...
     tmp:= Wysylanie/1000;                                      //zamiana na KB
     Label3.Caption:= FormatFloat('0.0', tmp) +'  KBs';    //wyświetla szybkość
     //średnia szybkość wysyłania
     tmp:= WysylanieSred/1000;
     Label4.Caption:= FormatFloat('0', tmp) +'  KBs';       //wyświetla średnią
   end;
end;
end;

Problem tkwi w lini dotyczącej pobierania numeru karty (index) :

//tu przelatuje mi wszystkie indexy
for x:= low(mib) to High(mib) do

Otóż w Win98 wszystko gra - pętla przelatuje dajmy na to karty od 0..3
98 ma to do siebie że jako aktywną karte ustawia index dla niej najwyższy znaczy
w tym przypadku 3 no i dane wyświetlane w labelach będą dotyczyły aktywnej karty o indeksie 3 (jest OK)
Ale testowałem program pod XP - i tu sęk :/
karta która była aktywna pod 98 - otrzymała index 1
i wszystko mi się wali ponieważ jako ostatnia (3) ustawiła mi się karta modemowa
która nie jest aktywna

Więc mam pytanie - Jak pobrać index aktywnej karty sieciowej tak abym nie musiał używać pętli przelatującej wszystkie karty tylko od razu mógł zrobić taki
zapis:

with mib[tu_numer_aktywnej_karty] do
begin
//itd...

PS. Pomyliłem się wysyłając ten post w rubrykach "Temat" i "Auto" - po prostu
zamieniłem wpisy i wyszło głupawo.
W związku z tym mam prośbę:
Czy imć Pan Admin który wywalił za ten tyciusieńki błąd mój post mógłby pomagać
userom korzystającym z tego serwisu - czy woli się nadymać jak indor który wszelkie tajniki programowania wyssał z mlekiem matki (oby nie pękł) i czuć się Bogiem kasując wszystko jeśli trafi mu się zły humor.

<font color="blue">//wiesz co to sa tagi < delphi > ? - lofix</span>