⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 by_user.pas

📁 一个QQ的界面源码
💻 PAS
字号:
unit by_user;

interface

uses
   SysUtils, Winsock,Dialogs,ShellAPI;

function GetLocalIP:string;
function GetGBIP(sIP:string):string;
function Deltree(MyDir:string):boolean;

implementation

//获取广播地址
function GetGBIP(sIP:string):string;
var
   aIPAddr:array[1..4] of string;
   i,iPos:integer;
begin
   sIP:=Trim(sIP);
   for i:=1 to 3 do
   begin
      iPos:=Pos('.',sIP);
      aIPAddr[i]:=copy(sIP,1,iPos-1);
      Delete(sIP,1,iPos);
   end;
   aIPAddr[4]:=sIP;

   case StrToInt(aIPAddr[1]) of
     1..126:   Result:=aIPAddr[1]+'.255.255.255';
     128..191: Result:=aIPAddr[1]+'.'+aIPAddr[2]+'.255.255';
     192..254: Result:=aIPAddr[1]+'.'+aIPAddr[2]+'.'+aIPAddr[3]+'.255';
   else
     Result:='127.0.0.1';
   end;
end;

//获取本机IP
function GetLocalIP : 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]^));
      Inc(I);
    end;
    WSACleanup;
end;

//删除临时目录
function Deltree(MyDir:string):boolean;
Var
  T:TSHFileOpStruct;
begin
  Result:=True;
  With T do
  Begin
    Wnd:=0;
    wFunc:=FO_DELETE;
    pFrom:=Pchar(MyDir);
    pTo:=nil;
    fFlags:=FOF_SILENT+FOF_ALLOWUNDO+FOF_NOCONFIRMATION+FOF_NOERRORUI;//标志表明允许恢复,无须确认并不显示出错信息
    hNameMappings:=nil;
    lpszProgressTitle:='正在删除文件夹';
    fAnyOperationsAborted:=False;
  End;
  SHFileOperation(T);
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -