📄 by_user.~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
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 + -