![]() |
لدالة في دلفي لمعرفة ip للجهاز الذي تستخدمه عندما تتصل بالانترنت
بسم الله الرحمن الرحيم والسلام عليكماليوم معي دالة لمعرفة:ip للجهاز الذي تستخدمه عندما تتصل بالانترنت للحصول على IP للجهاز الذي تستخدمه عندما تتصل بالانترنت يجب أ ن نستدعي بعض التوابع API الموجودة في الوحدة Winsock سوف ننشأ تابع GetIPFromHost الذي سوف يستدعي عدد من توابع API للحصول على IP ولكن قبل استخدام توابع WinSock functions يجب أن يكون عندنا جلسة (session) يتم إنشاء هذه الجلسة (session) بالتابعWSAStartup وفي النهاية نستدعي التابعSACleanup لإنهاء استعمال مقابس ويندوزWindows (Sockets) والاّن ضع زر وضع 2 Edit على الفورم وأنشىء التابع التالي GetIPFromHost في implementation 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; procedure TForm1.Button1Click(Sender: TObject); var Host, IP, Err: string; begin if GetIPFromHost(Host, IP, Err) then begin Edit1.Text := Host; Edit2.Text := IP; end else MessageDlg(Err, mtError, [mbOk], 0); end; |
شكرا لك اخي العزيز على المعلوملت القيمة
|
مشكور يالواضح لقد جربتها لكن لم يعطيني IP اتصالي بالأنترنت وإنما أعطاني IP جهازي الذي أنا قد كتبته بنفسي والجميع يكتب نفس الرقم [عزيزي الزائر يتوجب عليك التسجيل لمشاهدة الروابط .. للتسجيل فضلاً اضغط هنا] ياريت لو عندك طريقة لمعرفة IP الجهاز على شبكة الانترنت أجدد شكر على المعلومة ملاحظة: استعمل خاصية إدراج كود في الموضوع حتى يظهر بشكل جيد [عزيزي الزائر يتوجب عليك التسجيل لمشاهدة الروابط .. للتسجيل فضلاً اضغط هنا] تحياتي |
| الساعة الآن 04:10 PM. |
Powered by Alwaha® Version
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.