Arkadaşlar ben kendi ipmi delphide nasıl öğrenirim mesela bi buton koycam bide Edit1 koyucam butona tıklayınca ipmi götericek edit1de
ben yaptım ama ağ bağlantılarında 10.0.0.13 gibi gösteriyor ama http://www.whatismyip.com girince Your IP is 81.215.211.199 diye gösteriyor bunun gibi yapmazmıyız butona tıklayınca edittte dunun gibi ip gözükükecek yardım ederseniz sevirim delphi 7 kullanıyorum
function getIPs: Tstrings;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array[0..63] of Char;
I: Integer;
GInitData: TWSAData;
begin
WSAStartup($101, GInitData);
Result := TstringList.Create;
Result.Clear;
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then Exit;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
Result.Add(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines := GetIps;
end;
sadettinpolat yazdı:ilk önce
Google dan "ip address" + delphi olarak aratırsan bu gibi soruların cevabını çok daha kolay bulabileceğini belirtmek isterim.
Forumlarda problem sahiplerini google gibi arama motorlarına yönlendirmeye karşı olunmalı diye düşünüyorum. Tabii google da nasıl arama yapacağını sormamışsa.
... Muhtaç olduğun kudret, damarlarındaki asil kanda mevcuttur!
Mustafa Kemal Atatürk...
zemin yazdı:ben yaptım ama ağ bağlantılarında 10.0.0.13 gibi gösteriyor ama http://www.whatismyip.com girince Your IP is 81.215.211.199 diye gösteriyor
10... lu IP ler senin ağda kullandığın IP dir, 81.215.. ise ağdan çıktıktan sonra o ağdaki bilgisayarların kullandığı ortak bir Ip dir. Doğal olarak whatsmyip de sorguladığın zaman 81.. şeklinde çıkıyo...
En son salvation tarafından 14 Nis 2004 12:59 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Evet salvation isimli arkadasimizin da soyledigi gibi. Delphi ile ya da kendi makinanizda bir program calistirarak alabileceginiz ip'ler sizin makina uzerinde tanimli olanlarla sınırlıdır.... Ne zamanki aginiz uzerindeki muhtemelen ADSL modem uzerinden ki ayni zamanda bir router'dir, internete çıktığınız zaman. Public network olan internet uzerinde ADSL modeminizin ip'si ile tanınırsınız.... Yani o public ip sizin makina uzerine tanımlı olmadigi icin onu kendi makinanizdan yakalayamazsiniz....
Ama bunu ogrenmek imkansızdır da demiyorum. yapacaginiz bir delphi programi bahsettiginiz internet sitesini acip oradaki ip degerini alabilir mesela..... Ya da o ADSL modem uzerinden bunu sorgulamak bir sekilde mumkunse ki bunu su an bilmiyorum ama eger mumkunse delphi ile de sorgulanabilir tabi...
Google gibi bir nimet varken bence kullanımlasını teşvik etmeliyiz. tabi bu benim düşüncem.
Network altında olan bir bilgisayarda, server'in Internete çıktığı IP adresini de veriyor mu ?
bilmiyorum.
eğer adsl modem gibi cihazlarla internete bağlanılmışsa telnet ile modeme bağlanılıp modemin ip adresi öğrenilebilir. en azından windowsun kendi telneti ile bunu öğrenebiliyoruz
/Dial Up Baglanti IP sini kontrol eden FoNKsiYoNCukUM, WinSock kullaniyor..
function getIPs: Tstrings;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array[0..63] of Char;
I: Integer;
GInitData: TWSAData;
begin
WSAStartup($101, GInitData);
Result := TstringList.Create;
Result.Clear;
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then Exit;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
Result.Add(inet_ntoa(pptr^[I]^));
Inc(I);
end;
WSACleanup;
end;
evet lokal ip'leri veriyor. Zaten açıklamada sadece dial-up kullananlar için demiş. Ayrıca hem dial-up, hem de lokal ip'si olanlarda nasıl davranır bilmiyorum.
bu kodu delphi 7' de çalıştıramadım ,
Build
[Error] Unit1.pas(28): Undeclared identifier: 'PInAddr'
[Error] Unit1.pas(31): Undeclared identifier: 'PHostEnt'
[Error] Unit1.pas(35): Undeclared identifier: 'TWSAData'
[Error] Unit1.pas(37): Undeclared identifier: 'WSAStartup'
[Error] Unit1.pas(40): Undeclared identifier: 'GetHostName'
[Error] Unit1.pas(41): Undeclared identifier: 'GetHostByName'
[Error] Unit1.pas(42): Operator not applicable to this operand type
[Error] Unit1.pas(43): Pointer type required
[Error] Unit1.pas(43): 'END' expected but ')' found
[Error] Unit1.pas(45): ';' expected but 'WHILE' found
[Error] Unit1.pas(47): Undeclared identifier: 'Result'
[Error] Unit1.pas(47): Undeclared identifier: 'inet_ntoa'
[Error] Unit1.pas(47): Pointer type required
[Error] Unit1.pas(49): '.' expected but ';' found
[Warning] Unit1.pas(52): Text after final 'END.' - ignored by compiler
[Error] Unit1.pas(13): Unsatisfied forward or external declaration: 'TForm1.Button1Click'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'