AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ip Auslesen oder ganze Ipconfig

Ein Thema von Pump3r · begonnen am 7. Dez 2005 · letzter Beitrag vom 19. Jan 2011
 
Mike_

Registriert seit: 26. Mär 2008
98 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Ip Auslesen oder ganze Ipconfig

  Alt 19. Jan 2011, 21:57
Es scheint einfacher zu sein, ist aber eher unsauber. Du holst dir ziemlich viel Overhead in dein Programm, nur um die IP-Adresse auszulesen?
Wenn man es so genau nimmt hast du natürlich Recht, dass man sich eine große Unit dadurch einbindet welche man nicht im vollen Funktionsumfang ausschöpft.

Dann gibt es die Methode sich einfach aus der Unit die Function zu ziehen bzw "abzuschreiben", so dass diese auch außerhalb der Unit funktioniert (In diesem Falle die Sockets Unit) oder man schreibt es gleich selbst.

Durch die Unit hätte man aber gleich seinen "Anhaltspunkt, wie was funktioniert".

Als Beispiel für diesen Fall:


Delphi-Quellcode:
function TIpSocket.LocalHostAddr: TSocketHost;
begin
  Result := LookupHostAddr(LocalHostName);
end;

Wobei wir dann zu folgendem kommen

Delphi-Quellcode:
function TIpSocket.LookupHostAddr(const hn: string): TSocketHost;
var
  h: PHostEnt;
begin
  Result := '';
  if hn <> 'then
  begin
    if hn[1] in ['0'..'9'] then
    begin
      if inet_addr(pchar(hn)) <> INADDR_NONE then
        Result := hn;
    end
    else
    begin
      h := gethostbyname(pchar(hn));
      if h <> nil then
        with h^ do
        Result := format('%d.%d.%d.%d', [ord(h_addr^[0]), ord(h_addr^[1]),
              ord(h_addr^[2]), ord(h_addr^[3])]);
    end;
  end
  else Result := '0.0.0.0';
end;
Ich finde es ist eine wunderbare Methode um sich Funktionen zu stibitzen ohne viel Aufwand
(Selbst wenn man nicht die ganze Unit einbinden will aus deinen o.g. Gründen)

Hat mir im "täglichem Betrieb" oft geholfen.
  Mit Zitat antworten Zitat
 


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 08:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz