Autor |
Beitrag |
Harry M.
      
Beiträge: 754
Win 2000, XP
D2005
|
Verfasst: Mi 02.02.05 20:32
wie bekomme ich von der ip-adresse den hostnamen (provider-name oder www.blabal.de)
gruß
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Mi 02.02.05 20:49
per dns??
**grins**
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| var S:String; HostEnt : PHostEnt; WSAData : TWSAData; SockAddrIn: TSockAddrIn; DNSRes: String;
if WSAStartup(MAKEWORD(2,0),WSAData)=0 then begin try S:= '123.123.123.123'; SockAddrIn.sin_addr.S_addr := inet_addr(PChar(S)); HostEnt:=gethostbyAddr(@SockAddrIn.sin_addr.S_addr,SizeOf(SockAddrIn.sin_addr.S_addr),AF_INET); DNSRes:=StrPas(HostEnt^.h_name); except end; WSACleanup; end; |
grez
msch
Moderiert von raziel: Code- durch Delphi-Tags ersetzt.
_________________ ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
|
|
Harry M. 
      
Beiträge: 754
Win 2000, XP
D2005
|
Verfasst: Mi 02.02.05 21:01
meine comiler hat folgendes zubemängeln
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| [Fehler] Unit1.pas(25): Undefinierter Bezeichner: 'PHostEnt' [Fehler] Unit1.pas(26): Undefinierter Bezeichner: 'TWSAData' [Fehler] Unit1.pas(27): Undefinierter Bezeichner: 'TSockAddrIn' [Fehler] Unit1.pas(38): Undefinierter Bezeichner: 'WSAStartup' [Warnung] Unit1.pas(38): Vorzeichenbehaftete und -lose Typen werden verglichen - beide Operanden werden erweitert [Fehler] Unit1.pas(41): Operator oder Semikolon fehlt [Fehler] Unit1.pas(41): Undefinierter Bezeichner: 'inet_addr' [Fehler] Unit1.pas(42): Undefinierter Bezeichner: 'gethostbyAddr' [Fehler] Unit1.pas(42): Operator oder Semikolon fehlt [Fehler] Unit1.pas(42): EXCEPT oder FINALLY erwartet [Fehler] Unit1.pas(45): Undefinierter Bezeichner: 'WSACleanup' [Fehler] Unit1.pas(47): Deklaration erwartet, aber Bezeichner 'Label1' gefunden [Fehler] Unit1.pas(49): '.' erwartet, aber ';' gefunden [Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden |
muß ich da noch irgend ne uses hinzufügen??
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Fr 04.02.05 19:13
uses winsock;
sorry
_________________ ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
|
|
Harry M. 
      
Beiträge: 754
Win 2000, XP
D2005
|
Verfasst: Sa 05.02.05 02:01
nun kann man es zwar comilieren aber es passiert nichts. woran kann das liegen?
|
|
UC-Chewie
      
Beiträge: 531
WinXP
D5 Ent
|
Verfasst: Sa 05.02.05 11:52
Äh, liegt der Code auch in einer Prozedur, die du aufrufst?
_________________ Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
|
|
Harry M. 
      
Beiträge: 754
Win 2000, XP
D2005
|
Verfasst: Sa 05.02.05 18:04
|
|
max120b
      
Beiträge: 33
WinXP, Linux 9.0
Delphi 2005 Professional
|
Verfasst: Sa 05.02.05 20:49
Moin allerseits!
In der Pozedur wird der Variablen "s" die IP zugewiesen,
von der der Hostname ermittelt werden soll. Da is so wies dasteht
irgendwas mit 81... festgelegt. Wenn die IP im Lokalen Netz aber nicht vorhanden ist,
kann natürlich kein Hostname ermittelt werden.
Probier doch mal, ob sich was tut, wenn du anstatt einer festgelegten IP ein Text einfügst (z.B. aus nem Edit oder so) den man andern kann.
Quelltext
Ansonsten probier mal ob n' http:// oder ftp:// und so weiter vor der IP
was bringt.
mfg
Max120b
|
|
Harry M. 
      
Beiträge: 754
Win 2000, XP
D2005
|
Verfasst: Sa 05.02.05 21:48
ja, für das lokale netz geht das. aber ich hätte es gerne für das globale. also wenn ich eingebe 81.169.132.68 da soll da stehen www.delphi-forum.de
|
|
MSCH
      
Beiträge: 1448
Erhaltene Danke: 3
W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
|
Verfasst: Sa 05.02.05 22:58
die funktion funktioniert eigentlich überall - benutz sie selber um namen zu finden - egal ob LAN oder WAN.
grez
msch
_________________ ist das politisch, wenn ich linksdrehenden Joghurt haben möchte?
|
|
Harry M. 
      
Beiträge: 754
Win 2000, XP
D2005
|
Verfasst: Sa 05.02.05 23:34
bei mir leider nicht, mein debugger meldet
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00455753 in Modul 'Project1.exe'. Lesen von Adresse 00000000'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
und wenn ich es ohne debugger starte, kommt nix label1 bleibt leer
|
|