delphi4arab منتديات دلفي للعرب

نسخة كاملة : الحصول على اسم الكمبيوتر عبر ip
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام الله عليكم

كنت بصدد إنشاء برنامج يقوم بنسخ ملفات من ملجلدات موجودة على الشبكة محلية على الشكل التالي:
\\100.137.77.160\trace
وأحتجت لمعرفة ما هو إسم السرفير الذي يحمل هذه الملفات بحثت في النت عن طريقة تقوم بقلب الـip إلى إسم الموجود في الـDOMAINE فوجدت هذه الدالة فأحببت وضعها لكي يستفيد الكل .
كود :
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,[color=Red]WinSock[/color]; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } function IPAddrToName(IPAddr: string): string; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function tform1.IPAddrToName(IPAddr: string): string; var SockAddrIn: TSockAddrIn; HostEnt: PHostEnt; WSAData: TWSAData; begin WSAStartup($101, WSAData); SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr)); HostEnt := gethostbyaddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET); if HostEnt <> nil then Result := StrPas(Hostent^.h_name) else Result := ''; end; procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage(IPAddrToName(Edit1.Text)); end; end.
المصدر
كود :
http://www.delphitricks.com/source-code/internet/get_computer_name_from_ip_address.html

الحويطي

جزاك الله خيرا ... أخي الكريم