精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>OLE&Activex>>Re: 在asp+com应用中怎样在com组件中获取

主题:Re: 在asp+com应用中怎样在com组件中获取
发信人: teleme()
整理人: teleme(2003-09-19 15:48:05), 站内信件
function getcomputer:string;
       //计算机名
type
    TaPInAddr = array [0..10] of PInAddr;
    PaPInAddr = ^TaPInAddr;
var
    phe  : PHostEnt;

    Buffer : array [0..63] of char;
    I    : Integer;
    GInitData      : TWSADATA;
  name1:string;
begin
    WSAStartup($101, GInitData);

    GetHostName(Buffer, SizeOf(Buffer));
    phe :=GetHostByName(buffer);
    if phe = nil then Exit;
    i:=0 ;
   while ((buffer[i]>=#97) and (buffer[i]<=#122))
or((buffer[i]>#65 ) and (buffer[i]<=#90)) do
begin
name1:=name1+buffer[i];
i:=i+1;
end ;


WSACleanup;
getcomputer:=name1;
end;


function getip: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
// returns ISP assigned IPf

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;

--
咳。咳。咳。。。
怎么会这样?

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.109.254.112]

[关闭][返回]