Несколько полезных процедур и функций в Delphi
Вторник, 26 июля 2011 г.Рубрика: Архив Itword.net (2007-10)
Метки: Delphi
Просмотров: 39909
Подписаться на комментарии по RSS
{*********************Определение своего IP адреса**********************************}
Function GetLocalIP:string;
var
WSAData : TWSAData;
p : PHostEnt;
Name : array [0..$FF] of Char;
begin
WSAStartup($0101, WSAData);
GetHostName(name, $FF);
p := GetHostByName(Name);
Result:=(inet_ntoa(PInAddr(p.h_addr_list^)^));
WSACleanup;
end;
{************************Получение локального имени компьютера********************************}
function GetLocalName:string;
var
WSAData : TWSAData;
Namebuf : Array[0..255] of char;
begin
WSAStartup($101, WSAData);
GetHostname(namebuf, sizeof(namebuf));
Result:=NameBuf;
WSACleanup;
end;
{*************Получение имени компьютера по его IP в сети******************************}
function IPAddressToNetworkName(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
begin
result:=StrPas(Hostent^.h_name)
end
else
begin
result:='';
end;
end;
{******************************Определение IP машины по имени**************************}
function GetIPAddress(Name:String): string;
var
WSAData : TWSAData;
p : PHostEnt;
begin
WSAStartup(WINSOCK_VERSION, WSAData);
p := GetHostByName(PChar(Name));
Result := inet_ntoa(PInAddr(p.h_addr_list^)^);
WSACleanup;
end;
{**************************Отправка сообщений по сети1*********************************}
function SendNetMessage(DestName, MsgText : string) : DWORD;
var wMsgText, wDestName : PWideChar;
Wstrlen:Integer;
begin
GetMem(wDestName,wStrLen);
GetMem(wMsgText,wStrLen);
StringToWideChar(DestName,wDestName,wStrLen);
StringToWideChar(MsgText,wMsgText,wStrLen);
Result := NetMessageBufferSend(nil,wDestName,nil,wMsgText,wStrLen);
FreeMem(wMsgText,wStrLen);
FreeMem(wDestName,wStrLen);
end;
{*******************Проверка связи с инетом***************************************}
function InternetConnected: Boolean;
{
INTERNET_CONNECTION_MODEM = 1; // local system uses a modem to
connect to the Internet.
INTERNET_CONNECTION_LAN = 2; // local system uses a local area
network to connect to the Internet.
INTERNET_CONNECTION_PROXY = 4; // local system uses a proxy server to
connect to the Internet.
INTERNET_CONNECTION_MODEM_BUSY = 8; // local system's modem is busy with a
non-Internet connection.
}
VAR
dwConnectionTypes : DWORD;
BEGIN
dwConnectionTypes :=
INTERNET_CONNECTION_MODEM_BUSY;
Result := InternetGetConnectedState(@dwConnectionTypes,0);
END;
{*******************Возведение в степень******************************}
function Stepen(osnovanie,stepen:Extended):integer;
begin
Result:= trunc(exp(ln(Osnovanie) * stepen));
end;
{**********************CD-Open*************************************}
function Cdopen:Boolean;
var
handle:Hwnd;
begin
mciSendString('Set cdaudio door open wait', nil, 0, handle);
end;
{*********************CD-Close**********************************}
function CdClose:Boolean;
var
handle:Hwnd;
begin
mciSendString('Set cdaudio door closed wait', nil, 0, handle);
end;
Оставьте комментарий!