AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Gateway IP über API auslesen TeilII

Gateway IP über API auslesen TeilII

Ein Thema von Ati · begonnen am 20. Jan 2006 · letzter Beitrag vom 23. Jan 2006
Antwort Antwort
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#1

Gateway IP über API auslesen TeilII

  Alt 20. Jan 2006, 15:55
Hallo zusammen,

ich habe aus einem anderen Beitrag mal eine Codesequenz "geklaut" und diese in meinem Programm eingebaut und so angepaßt das alles in meiner Listbox auftaucht. Jedoch wird bei mir 4x ein Gateway angezeigt aber nur einmal mit einer IP. Jetzt bin ich ehrlich gesagt noch nicht so "Bibelfest" das ich eigenmächtig den Code so anpassen kann, das nur der Eintrag mit der entsprechenden IP angezeigt wird und die leeren eben nicht. Hier mal meine/gefundene Funktion:
Delphi-Quellcode:
procedure GetGateway (const AItems:TStrings);
var
  dwResult : DWORD;
  dwLen : DWORD;
  pAdapterWork : PIP_ADAPTER_INFO;
  pAdapterList : PIP_ADAPTER_INFO;
  iasWork : IP_ADDR_STRING;

begin
  pAdapterList := nil;
  dwLen := 0;
  dwResult := GetAdaptersInfo(pAdapterList,@dwLen);
  if dwResult = ERROR_BUFFER_OVERFLOW then
  begin
    pAdapterList := AllocMem(dwLen);
    try
      dwResult := GetAdaptersInfo(pAdapterList,@dwLen);
      if dwResult = ERROR_SUCCESS then
      begin
        pAdapterWork := pAdapterList;
        //cobGateway.Clear;
        repeat
          iasWork := pAdapterWork.GatewayList;
          while iasWork.Next <> nil do
          begin
            AItems.Add('Gateway: '+trim(iasWork.IpAddress.acString));
            iasWork := iasWork.Next^;
          end;
          AItems.Add('Gateway: '+trim(iasWork.IpAddress.acString));
          pAdapterWork := pAdapterWork.Next;
        until pAdapterWork = nil;
    end;
    finally
      FreeMem(pAdapterList,dwLen);
    end;
  end;
end;
Im Anhang mal das aktuelle Erscheinungsbild des Programmes. Ich hoffe ihr versteht was ich meine.

Danke
Ati
Miniaturansicht angehängter Grafiken
pcinfo_192.jpg  
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Gateway IP über API auslesen TeilII

  Alt 20. Jan 2006, 18:04
So funktioniert es bei mir - allerdings bei abweichender Umsetzung der Strukuren aus IPHLPAPI:

Delphi-Quellcode:
var
  s: String;
...
repeat
  iasWork := pAdapterWork.GatewayList;
  while iasWork.Next <> nil do
  begin
    s := Trim(iasWork.IpAddress); // hier anpassen
    if s <> 'then
      AItems.Add('Gateway: ' + s);
    iasWork := iasWork.Next^;
  end;
  s := Trim(iasWork.IpAddress); // hier anpassen
  if s <> 'then
    AItems.Add('Gateway: ' + s);
  pAdapterWork := pAdapterWork.Next;
until pAdapterWork = nil;
...
Grüße vom marabu
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#3

Re: Gateway IP über API auslesen TeilII

  Alt 20. Jan 2006, 18:11
Danke dir. Werde das morgen mal so ändern und so probieren. Melde mich dann wieder!!!!

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#4

Re: Gateway IP über API auslesen TeilII

  Alt 21. Jan 2006, 21:16
N´abend,

habe das jetzt gerade mal ausprobiert, es scheint aber nicht zu funktionieren. Werde das Montag nochmal in der Firma testen (habe mich gerade von zu Hause aus eingewählt), es erscheint aber immernoch mehrmals "Gateway:" ohne Eintrag.

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Gateway IP über API auslesen TeilII

  Alt 21. Jan 2006, 22:59
Schau dir doch mal den Inhalt von iasWork.IpAddress an - setze einen break point und öffne den inspector - und schon weißt du Bescheid. Ich kann das nicht für dich machen, weil auf meiner Maschine der angepasste Code gar nicht zum Tragen kommt.

marabu
  Mit Zitat antworten Zitat
Ati

Registriert seit: 16. Okt 2003
Ort: Gelsenkirchen
406 Beiträge
 
Delphi 3 Professional
 
#6

Re: Gateway IP über API auslesen TeilII

  Alt 23. Jan 2006, 07:43
Sorry Marabu hatte vergessen den zweiten Teil der Ausgabe entsprechend zu ändern. Funktioniert jetzt einwandfrei. Danke

Ati
Ich weiß das ich nichts weiß

Sokrates
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz