Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IPs auslesen und in Variable legen (https://www.delphipraxis.net/69774-ips-auslesen-und-variable-legen.html)

internetnavigator 19. Mai 2006 18:36


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

SirThornberry 19. Mai 2006 18:46

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?

internetnavigator 19. Mai 2006 18:50

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

SirThornberry 19. Mai 2006 18:51

Re: IPs auslesen und in Variable legen
 
ok, es war wirklich etwas schwer zu finden: http://www.delphipraxis.net/internal...=543691#543691

internetnavigator 19. Mai 2006 18:53

Re: IPs auslesen und in Variable legen
 
ooooooooookay
wie gesagt bin Neuling, (14)
aber Danke werd' ich mir mal ansehen.
mfg

SirThornberry 19. Mai 2006 18:54

Re: IPs auslesen und in Variable legen
 
mach das. Und wenn du an einer konreten Stelle nicht weiter kommst frag einfach nach.

internetnavigator 19. Mai 2006 19:13

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

SirThornberry 19. Mai 2006 19:17

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.

internetnavigator 19. Mai 2006 19:32

Re: IPs auslesen und in Variable legen
 
Delphi-Quellcode:
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.
Woran könnte das (s. oben) liegen?
MegaThx!
mfg

Luckie 19. Mai 2006 19:37

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.

SirThornberry 19. Mai 2006 20:11

Re: IPs auslesen und in Variable legen
 
Im übrigen hast du die falsche Funktion genommen. Die untere Funktion liefert alle IP-Adressen.

internetnavigator 19. Mai 2006 20:58

Re: IPs auslesen und in Variable legen
 
okay ober wie kann ich jetzt result zur Voransicht in ein Edit Feld "bekommen"?
mit:
Delphi-Quellcode:
Edit1.Text := result;
geht's nicht.

(Edit1 wird in der function auch nicht erkannt (Undefinierter Bezeichner))
mfg internetnavigator

Sko 19. Mai 2006 21:27

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.

internetnavigator 19. Mai 2006 23:31

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

SirThornberry 20. Mai 2006 09:38

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 08:50 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