Programlama Rehberi

murat_80 sordu
- - - -IP Öğrenme - - - -

slm delphide ıp öğrenme  nasıl oluyor acaba bana şöyle birşey lazım bir buton oalacak kullanıcı bu butona bastığı zaman showmessage komutuyla ekrana ıp adresini yazdıracak kod arıyorum....



Yazılan cevap: 5
Eklenme tarihi: 2008-10-23
Okunma sayısı: 965
Kategori: Pascal / Delphi

Cevaplar(5)

IP adresini ve Host adını aşağıdaki fonksiyon bulur.
uses Winsock;

function GetIPFromHost
(var HostName, IPaddr, WSAErr: string): Boolean;
type
Name = array[0..100] of Char;
PName = ^Name;
var
HEnt: pHostEnt;
HName: PName;
WSAData: TWSAData;
i: Integer;
begin
Result := False;
if WSAStartup($0101, WSAData) <> 0 then begin
WSAErr := 'Winsock is not responding."';
Exit;
end;
IPaddr := '';
New(HName);
if GetHostName(HName^, SizeOf(Name)) = 0 then
begin
HostName := StrPas(HName^);
HEnt := GetHostByName(HName^);
for i := 0 to HEnt^.h_length - 1 do
IPaddr :=
Concat(IPaddr,
IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
SetLength(IPaddr, Length(IPaddr) - 1);
Result := True;
end
else begin

case WSAGetLastError of
WSANOTINITIALISED:WSAErr:='WSANotInitialised';
WSAENETDOWN :WSAErr:='WSAENetDown';
WSAEINPROGRESS :WSAErr:='WSAEInProgress';
end;
end;
Dispose(HName);
WSACleanup;
end;
// kaynak:delphi.about.com


Yazan: Hamdi / Ort. puan: 0 /
Cevabı değerlendir:
Butonun click olayı için aşağıdaki kodu yapıştırırsın. Koddaki yorum kısımlarına dikkat et.
var
Host, IP, Err: string;
begin
if GetIPFromHost(Host, IP, Err) then begin
Edit1.Text := Host; // Host adını öğrenmek istemiyorsan bu satırı sil
Edit2.Text := IP; // IP adresini yazdırmak istediğin Editin adını Edit2 yerine yaz
end
else
MessageDlg(Err, mtError, [mbOk], 0);


Yazan: Hamdi / Ort. puan: 0 /
Cevabı değerlendir:

tşk ederim hamdiciğim verdğin bilgiler için....


Yazan: murat_80 / Ort. puan: 0 /
Cevabı değerlendir:

hamdicğim kankam verdiğin kodları aynen yazdım ama şurda hata verdi onun için kodları derleyemedim :

 if GetIPFromHost(Host, IP, Err) then begin   şu satırda hata verdi kanka yardımcı olursan seviinirm....


Yazan: murat_80 / Ort. puan: 0 /
Cevabı değerlendir:
Hata mesajı nedir?
Yazan: Hamdi / Ort. puan: 0 /
Cevabı değerlendir:


2004-2009 © Programlama Rehberi, tüm hakları saklıdır.