5.是否早想有个域名转换为IP地址的函数,现在我就给你一个
域名转换为IP地址:
function GetIPName(Name: string): string;
var
WSAData: TWSAData;
HostEnt: PHostEnt;
begin
WSAStartup(2, WSAData);
HostEnt := gethostbyname(PChar(Name));
with HostEnt^ do
Result := Format(%d.%d.%d.%d, [Byte(h_addr^[0]),
Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]);
WSACleanup;
end;
6.编写Internet软件常常会遇到检查用户输入的网址,E-mail地址等等,如何解决呢?
我这正好有写好的函数。
检查一个URL是否有效
uses wininet;
Function CheckUrl(url:string):boolean; //检查一个URL是否有效函数
var
hSession, hfile, hRequest: hInternet;
dwindex,dwcodelen :dword;
dwcode:array[1..20] of char;
res : pchar;
begin
if pos(http://,lowercase(url))=0 then
url := http://+url;
Result := false;
hSession := InternetOpen(InetURL:/1.0,
INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0);
if assigned(hsession) then
begin
hfile := InternetOpenUrl(hsession, pchar(url), nil, 0, INTERNET_FLAG_RELOAD, 0);
dwIndex := 0;
dwCodeLen := 10;
HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex);
res := pchar(@dwcode);
result:= (res =200) or (res =302); //200,302未重定位标志
if assigned(hfile) then
InternetCloseHandle(hfile);
InternetCloseHandle(hsession);
end;
end;
如何处理E-mail地址,下面给你个E-mail地址处理函数
function IsEMail(EMail: String): Boolean;
var s: String;
ETpos: Integer;
begin
ETpos:= pos(@, EMail);
if ETpos > 1 then
begin
s:= copy(EMail,ETpos+1,Length(EMail));
if (pos(., s) > 1) and (pos(., s) <
length(s)) then
Result:= true else Result:= false;
end
else
Result:= false;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if isemail(Edit1.Text) then
begin
ShowMessage(eMail-Address!);
end;
end;
7,动态改变DNS Server的地址
下面的函数可以添加 DNS Server的地址
如想添加202.100.100.65 202.10.10.10
SetDNSAddresses(202.100.100.65 202.10.10.10) ;
//注意: