![]() |
|
GetIPs V0.1 بريمج صغير لجلب ال IP - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي الأخرى (https://delphi4arab.net/forum/forumdisplay.php?fid=4) +--- قسم : برامج دلفي من عمل الأعضاء (https://delphi4arab.net/forum/forumdisplay.php?fid=27) +--- الموضوع : GetIPs V0.1 بريمج صغير لجلب ال IP (/showthread.php?tid=10727) |
GetIPs V0.1 بريمج صغير لجلب ال IP - Rever7eR - 30-03-2020 السلام عليكم و رحمة الله و بركاته اتمنى ان يكون الجميع بخير اول مشاركة نافعة لي في المنتدى , منذ سجلت و أنا أسأل ![]() قمت بعمل بريمج صغير يقوم ب [+] جلب Local IP address [+] جلب ال Public IP Address سأقوم ان شاء الله بعمل دورية كل مدة لإضافة خاصية معينة و اصلاح السورس لكل شخص يريد تطويره يتفضل مشكور الهدف منه : تحسين مهارات التعامل مع الشبكة و مكوناتها بشكل عام ملاحظات بسيطة : شاهدت موضوع للأخ Delphi4US جزاه الله خير وضع بريمج مفتوح المصدر مطابق لما قمت به كود : https://delphi4arab.net/forum/showthread.php?tid=10414[-] طويل دون فائدة [-] البرنامج لا يوجد به معالجة للاخطاء (Error Handling) [-] البرنامج يفشل في تحديد الLocal IP Address في حالة وجود أكثر من Network Adapter مثلا انا لدي VMware ipv4 = 192.168.219.1 و ال Wifi adapter ipv4 = 192.168.1.3 كما توضح الصورة ![]() نفس الملاحظة بالنسبة لمكون tcpclient يرجع الاي بي 192.168.219.1 ارحب بكل الاقتراحات و التعديلات و الانتقادات السورس في المرفقات RE: GetIPs V0.1 بريمج صغير لجلب ال IP - AX302 - 30-03-2020 السلام عليكم يمكنك استعمال Indy ايضا للحصول على الايبي الداخلي RE: GetIPs V0.1 بريمج صغير لجلب ال IP - Rever7eR - 31-03-2020 (30-03-2020, 11:18 PM)AX302 كتب : السلام عليكممرحبا AX302 سعيد بمشاركتك نفس الملاحظة بالنسبة لمكون الاندي , لا يعمل جيدا اذا كان جهازك يحتوي على كروت انترنت افتراضية مثل VMware ... اظن الحل هو الحفاظ على استعمال الوحدة winsock و الله اعلم . [+] اعجبتني فكرة تقسيم المشروع الى وحدات تحياتي RE: GetIPs V0.1 بريمج صغير لجلب ال IP - seddik_xp - 09-04-2020 الحل السريع للحصول على عنوان IP و بدون أي مشاكل في إستعمال خدمة Opendns server كخادم dns ليجيبك عند إستعلامك عن عنوان 'myip.opendns.com' بعنوان IP الخاص بك. كود : program MyIPAdress;
{$APPTYPE CONSOLE}
uses
SysUtils, IdDNSResolver ;
var
dns :TIdDNSResolver ;
begin
dns := TIdDNSResolver.Create ;
dns.QueryType:= [qtA];
dns.Host := '208.67.222.222' ;
try
dns.Resolve('myip.opendns.com');
Writeln('IP Adress :' + TARecord(dns.QueryResult[0]).IPAddress);
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.
MyIPAdress.zip (الحجم : 247.21 ك ب / التحميلات : 30)
RE: GetIPs V0.1 بريمج صغير لجلب ال IP - FiREWORKS - 16-04-2020 إقتباس :[-] البرنامج يفشل في تحديد الLocal IP Address في حالة وجود أكثر من Network Adapter الأوامر التي استعملتها في تطبيقك و ضعتها بطريقة خاطئة: هنا الدالة ترجع نوع string كود : Function GetLocalIP : String;في اوامر مثالك، هنا حلقة تقوم بحفظ ما تم جلبه في result، الحلقة تدور بعدد ما تم تحديده من Network Adapters النشطة (Enabled). و الحفظ يوضع في نفس الــ string في كل مرة (هنا الخطأ). كود : while IPlist[i] <> nil do
begin
result := inet_ntoa(IPList^[i]^);
Inc(i);
end;احد الحلول المتوفرة، تعديل الأوامر الى: result يجب ان يكون نوع نصي يمكنه احتواء قائمة نصية ثم اظهار محتواها في مكون يدعم القوائم و ليس مكون من نوع TEdit RE: GetIPs V0.1 بريمج صغير لجلب ال IP - ALG2009 - 16-04-2020 وعليكم السلام ممكن أن تضيف خصية اظهار الـ 'IP' الخارجي المتصل بالكميوتر لكشف الـ 'IP' المشبوهة |