Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Получить имя компьютера по IP

Советы » TCP/IP » Получить имя компьютера по IP

uses

WinSock; function

LocalIP: string

; type

TaPInAddr = array

[0..10] of

PInAddr; PaPInAddr = ^TaPInAddr; var

phe: PHostEnt; pptr: PaPInAddr; Buffer: array

[0..63] of

Char; I: Integer; GInitData: TWSAData; begin

WSAStartup($101, GInitData); Result := ''; GetHostName(Buffer, SizeOf(Buffer)); phe := GetHostByName(buffer); if

phe = nil

then

Exit; pPtr := PaPInAddr(phe^.h_addr_list); I := 0; while

pPtr^[I] <> nil

do

begin

Result := inet_ntoa(pptr^[I]^); Inc(I); end

; WSACleanup; end

; function

IPAddrToName(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

Result := StrPas(Hostent^.h_name) else

Result := ''; end

; procedure

TForm1.Button1Click(Sender: TObject); begin

ShowMessage(IPAddrToName(LocalIp)); end

; {**************************************} // Function to get the IP Address from a Host function

GetIPFromHost(const

HostName: string

): string

; type

TaPInAddr = array

[0..10] of

PInAddr; PaPInAddr = ^TaPInAddr; var

phe: PHostEnt; pptr: PaPInAddr; i: Integer; GInitData: TWSAData; begin

WSAStartup($101, GInitData); Result := ''; phe := GetHostByName(PChar(HostName)); if

phe = nil

then

Exit; pPtr := PaPInAddr(phe^.h_addr_list); i := 0; while

pPtr^[i] <> nil

do

begin

Result := inet_ntoa(pptr^[i]^); Inc(i); end

; WSACleanup; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com