function TFrm_main.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 := StrPas(inet_ntoa(pptr^[I]^));//得到ip
Inc(I);
end;
WSACleanup;
end;
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]^));//得到ip
Inc(I);
end;
WSACleanup;
end;
解决方案 »
- 求助为什么调用窗体中的值时会出错?
- 如何调用Destroy方法而不会触发BeforeDestruction?
- 各位同仁们,在Delphi中,当用户通过DBGrid向数据库输入不合法的数据时,会出现异常,程序停止运行,此时该如何避免?
- 请用过wise installation的兄弟姐妹们帮个忙!急啊!
- 在DELPHI上,用存储过程(临时表)把BOM结构打印出来
- ERP实施工作前景
- 一个小问题,请大家勇跃参加。除“UP”和“关注”者外,来者有分。在线待待
- 有关数据库的问题
- 刚刚转型DELPHI,很多语句用法不熟悉,盼复!
- 那里有可以更换图片的button控件
- 如何使用流的方法写入控件的信息,并且用流的方法读出控件信息呢?
- 一个自制控件问题
比如是Administrator登录
我要得到Administrator这个名字
var
buf: array[0..255] of char;
size: Cardinal;
begin
GetUserName(buf, size); // buf相当于PChar, size是传引用
Edit1.Text := StrPas(buf); // 要转换成String型
end;