18-09-2011, 01:55 PM
السلام عليكم ورحمة الله وبركاته
تحية طيبة وبعد
لجعل تطبيقك يتاقلم مع ال no.ip كل ما عليك هو تحويل ال host الى ip Address داخل تطبيقك
كيف يتم هذا؟؟
عن طريق الوحدة winsock
يوجد بها Function تقوم بتحويل اسم الhost الى ip Address وهى GetHostByName
كيف الاستخدام ؟؟
نقوم بانشاء Function كالاتى:
لاستدعاء ال function كمثال فقط :-
استبدلdelphi4arab.net باسم الهوست الذى تريد 'delphi4arab.no.ip' هذا طبعا على سبيل المثال
تحية طيبة وبعد
لجعل تطبيقك يتاقلم مع ال no.ip كل ما عليك هو تحويل ال host الى ip Address داخل تطبيقك
كيف يتم هذا؟؟
عن طريق الوحدة winsock
كود :
uses winsock;يوجد بها Function تقوم بتحويل اسم الhost الى ip Address وهى GetHostByName
كيف الاستخدام ؟؟
نقوم بانشاء Function كالاتى:
كود :
function GetHostByNameDelphi4Arab(hostname: string): string;
//هذا المثال من كتاب The Tomes of Delphi Basic 32-bit Communications Programming
var
WSAData : TWSAData;
Hostent : PHostent;
ipaddress : String;
h_addr : PChar;
begin
if WSAStartUp($101, WSAData) = 0 then
try
if inet_addr(PChar(HostName)) = INADDR_NONE then
begin
Hostent := gethostbyname(PChar(HostName));
if Hostent <> NIL then
begin
Move(Hostent^.h_addr_list^, h_addr, SizeOf(Hostent^.h_addr_list^));
ipaddress:=Format('%d.%d.%d.%d',[byte(h_addr[0]),byte(h_addr[1]),byte(h_addr[2]),byte(h_addr[3])]);
end;
end;
finally
WSACleanUp;
end;
Result:=ipaddress;
end;كود :
ShowMessage(GetHostByNameDelphi4Arab('delphi4arab.net'));استبدلdelphi4arab.net باسم الهوست الذى تريد 'delphi4arab.no.ip' هذا طبعا على سبيل المثال

