![]() |
IPs auslesen und in Variable legen
hi, :-D
ich bin vollkommener Neuling auf dem Gebiet Delphi. Und bin grade in die DP reingestollpert. Nun will ich ein Programm schreiben, was die externe (i-net IP) und die Netzwerk IP ausließt. Das Programm soll die externe Ip in eine SQL Datenbank auf einem Webserver stellen. Wenn man dann auf einen bestimmten Link klickt, nimmt ein HTML Dokument die IP aus der Datenbank und leitet auf diese weiter. Das ganze soll so etwas ähnliches wie ein DynDNS Client werden. 1. Frage: Wie kann man die 2 IPs (s. oben) in 2 Variable "schieben" ? Danke erstmal :-D mfg internetnavigator |
Re: IPs auslesen und in Variable legen
das packen in die Variablen sollte nicht das Problem sein und wie man die IP's ausliest sollte sich über die Suche finden lassen. Nachwas hast du bisher gesucht?
|
Re: IPs auslesen und in Variable legen
hab ich schon,
nach - IP - IP auslesen - IP Indy - IpWatch - IpAddress habe aber nichts Brauchbares gefunden :cry: mfg |
Re: IPs auslesen und in Variable legen
ok, es war wirklich etwas schwer zu finden:
![]() |
Re: IPs auslesen und in Variable legen
ooooooooookay
wie gesagt bin Neuling, (14) aber Danke werd' ich mir mal ansehen. mfg |
Re: IPs auslesen und in Variable legen
mach das. Und wenn du an einer konreten Stelle nicht weiter kommst frag einfach nach.
|
Re: IPs auslesen und in Variable legen
Hi, So ich hätte da mal ne Frage:
ist result eine Variable die ich weiter oben deklarieren muss, und wenn als was? THX! mfg |
Re: IPs auslesen und in Variable legen
result ist der Rückgabewert der Funktion. Wenn du das ganze also nicht in eine Funktion packst musst du dir eine Variable dafür anlegen.
|
Re: IPs auslesen und in Variable legen
Delphi-Quellcode:
Woran könnte das (s. oben) liegen?
unit Ip_read;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WinSock, StdCtrls; type TForm1 = class(TForm) Button1: TButton; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; //result: string; //<--- Muss ich diese Variable "aktivieren" implementation {$R *.dfm} function TClassName.GetIpAddress(): string; //<-- GetIpAdress --> Fehler: E2023 Funktion benötigt Ergebinstyp var phoste: PHostEnt; Hostname: array [0..100] of char; begin GetHostName(Hostname,Sizeof(Hostname)); phoste:=GetHostByName(Hostname); if phoste = nil then result:='127.0.0.1' else result:=String(inet_ntoa(PInAddr(phoste^.h_addr_list^)^)); end; end. MegaThx! mfg |
Re: IPs auslesen und in Variable legen
Nim mal das TCalssName vor der Funktion weg. Das ar wohl ürsprünglich mal eine Methode einer Klasse. Und Result brauchst du nicht deklarieren.
|
Re: IPs auslesen und in Variable legen
Im übrigen hast du die falsche Funktion genommen. Die untere Funktion liefert alle IP-Adressen.
|
Re: IPs auslesen und in Variable legen
okay ober wie kann ich jetzt result zur Voransicht in ein Edit Feld "bekommen"?
mit:
Delphi-Quellcode:
geht's nicht.
Edit1.Text := result;
(Edit1 wird in der function auch nicht erkannt (Undefinierter Bezeichner)) mfg internetnavigator |
Re: IPs auslesen und in Variable legen
So sollte es gehen:
Delphi-Quellcode:
unit Ip_read;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WinSock, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} function GetIpAddress: string; var phoste: PHostEnt; Hostname: array [0..100] of char; begin GetHostName(Hostname,Sizeof(Hostname)); phoste:=GetHostByName(Hostname); if phoste = nil then result:='127.0.0.1' else result:=String(inet_ntoa(PInAddr(phoste^.h_addr_list^)^)); end; procedure TForm1.Button1.Click(Sender: TObject); begin Edit1.Text := GetIPAddress; end; end. |
Re: IPs auslesen und in Variable legen
:thumb: thanks Sko
aber ich bekomme nur meine localhost adresse (127.0.0.1) herraus, und nicht meine Netzwerk IP (xxx.xxx.0.3) / I-net IP. Woran kann das liegen? :pale: bye |
Re: IPs auslesen und in Variable legen
wie ich bereits geschrieben habe hast du die falsche Funktion genommen. Bei dem von mir geposteten Link sind 2 Funktionen. Die obere welche die erste IP liefert und darunter eine Funktion welche alle IP's auflistet.
Steht aber auch in dem Beitrag zu dem ich den Link gepostet hab was welche Funktion macht. Einfach mal etwas genauer die Beiträge lesen und nicht nur überfliegen und die hälfte überlesen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 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