获得本机ip地址 function TfrmBillWriteAncestor.LocalIP:string;//获得本机的ip地址 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:=StrPas(inet_ntoa(pptr^[I]^)); Inc(I); END; WSACleanup; END;在interface uses 加入winsock单元
function TfrmBillWriteAncestor.LocalIP:string;//获得本机的ip地址
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:=StrPas(inet_ntoa(pptr^[I]^));
Inc(I);
END;
WSACleanup;
END;在interface
uses 加入winsock单元
http://www.1dyi.com/delphi/path/system.htm
var
CNameBuffer : PChar;
fl_loaded : Boolean;
CLen : ^DWord;begin GetMem(CNameBuffer,255);
New(CLen);
CLen^:= 255; fl_loaded := GetComputerName(CNameBuffer,CLen^); if fl_loaded then
ComputerName := StrPas(CNameBuffer)
else
ComputerName := 'Unkown'; FreeMem(CNameBuffer,255);
Dispose(CLen);end;