📄 main.pas
字号:
end;
if (Item1.ImageIndex > 4) and (Item2.ImageIndex > 4)
and (Item1.ImageIndex < 32) and (Item2.ImageIndex < 32) then begin
if ToFileSize(Item1.SubItems.Strings[0]) > ToFileSize(Item2.SubItems.Strings[0]) then
Result := 1
else Result := -1;
Exit;
end;
if (Item1.ImageIndex > 32) and (Item2.ImageIndex > 32) then begin
if ToFileSize(Item1.SubItems.Strings[0]) > ToFileSize(Item2.SubItems.Strings[0]) then
Result := 1
else Result := -1;
Exit;
end;
if (Item1.ImageIndex = 4) and (Item2.ImageIndex > 4) then begin
Result := -1;
Exit;
end;
if (Item1.ImageIndex = 32) and (Item2.ImageIndex > 32) then begin
Result := -1;
Exit;
end;
end;
end;
2:
begin
if UpDown[2] = True then begin
if (Item1.ImageIndex = 4) and (Item2.ImageIndex = 4) then begin
Result := CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex = 32) and (Item2.ImageIndex = 32) then begin
Result := CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex > 4) and (Item2.ImageIndex > 4)
and (Item1.ImageIndex < 28) and (Item2.ImageIndex < 28) then begin
Result := CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex > 32) and (Item2.ImageIndex > 32) then begin
Result := CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex = 4) and (Item2.ImageIndex > 4) then begin
Result := -1;
Exit;
end;
if (Item1.ImageIndex = 32) and (Item2.ImageIndex > 32) then begin
Result := -1;
Exit;
end;
end else begin
if (Item1.ImageIndex = 4) and (Item2.ImageIndex = 4) then begin
Result := -CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex = 32) and (Item2.ImageIndex = 32) then begin
Result := -CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex > 4) and (Item2.ImageIndex > 4)
and (Item1.ImageIndex < 28) and (Item2.ImageIndex < 28) then begin
Result := -CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex > 32) and (Item2.ImageIndex > 32) then begin
Result := -CompareText(Item1.SubItems[1], Item2.SubItems[1]);
Exit;
end;
if (Item1.ImageIndex = 4) and (Item2.ImageIndex > 4) then begin
Result := -1;
Exit;
end;
if (Item1.ImageIndex = 32) and (Item2.ImageIndex > 32) then begin
Result := -1;
Exit;
end;
end;
end;
end;
except
end;
end;
procedure THgzVip.DSFChangeSkinData(Sender: TObject);
begin
with DSF do
begin
CaptionSetText('Caption2', 'Skin technology');
end;
end;
procedure THgzVip.N32Click(Sender: TObject);
begin
Close;
end;
procedure THgzVip.Close2Click(Sender: TObject);
begin
Close;
end;
procedure THgzVip.N24Click(Sender: TObject);
begin
with TAboutForm.Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
procedure THgzVip.dggdfgdfgfgfdg1Click(Sender: TObject);
begin
Close;
end;
procedure THgzVip.dfgfgdfg1Click(Sender: TObject);
begin
if OD.Execute then spSkinData1.LoadFromFile(OD.FileName);
end;
procedure THgzVip.DSFSkinMenuOpen(Sender: TObject);
begin
DSF.AnimateStart('MenuAnimate');
end;
procedure THgzVip.DSFSkinMenuClose(Sender: TObject);
begin
DSF.AnimateStop('MenuAnimate');
end;
procedure THgzVip.toolbutton4Click(Sender: TObject);
begin
Close;
end;
procedure THgzVip.toolbutton1Click(Sender: TObject);
begin
if OD.Execute then
spSkinData1.LoadFromFile(OD.FileName);
end;
procedure THgzVip.toolbutton2Click(Sender: TObject);
begin
AboutForm.Show;
end;
procedure THgzVip.Loadskin1Click(Sender: TObject);
begin
if OD.Execute then spSkinData1.LoadFromFile(OD.FileName);
end;
procedure THgzVip.About1Click(Sender: TObject);
begin
AboutForm.Show;
end;
procedure THgzVip.Storedskin1Click(Sender: TObject);
begin
try
HgzVip.Visible := False;
spSkinData1.CompressedStoredSkin := CompressedStoredSkin1;
Myinifile.writestring('Operation', 'SkinFile', '');
HgzVip.Visible := True;
except
HgzVip.Visible := True;
end;
end;
function GetFileName(FileName: string): string; {从路径中分离文件名}
var Contador: integer;
begin
Contador := 1;
while Copy(FileName, Length(FileName) - Contador, 1) <> '\' do
begin
Contador := Contador + 1;
end;
Result := (Copy(FileName, Length(FileName) - Contador + 1, Length(FileName)));
end;
type
TIPAddThread = class(TThread)
public
procedure Execute; override;
end;
procedure TIPAddThread.Execute;
begin
GetLocalIP;
Terminate;
end;
function THgzVip.GetIPtoAdder(IpName: string): string; {从IP地址得到所在地理位置}
var
i, j: integer;
Temp: string;
TmplineStr: string;
Adder: string;
ip1, ip2, ip3, ip4: string;
sip1, sip2, sip3, sip4: string;
eip1, eip2, eip3, eip4: string;
begin
Result := '';
Temp := IpName;
try
i := pos('.', Temp);
ip1 := copy(Temp, 1, i - 1);
if Length(ip1) = 2 then ip1 := '0' + ip1;
if Length(ip1) = 1 then ip1 := '00' + ip1;
Delete(temp, 1, i);
i := pos('.', Temp);
ip2 := copy(Temp, 1, i - 1);
if Length(ip2) = 2 then ip2 := '0' + ip2;
if Length(ip2) = 1 then ip2 := '00' + ip2;
Delete(temp, 1, i);
i := pos('.', Temp);
ip3 := copy(Temp, 1, i - 1);
if Length(ip3) = 2 then ip3 := '0' + ip3;
if Length(ip3) = 1 then ip3 := '00' + ip3;
Delete(temp, 1, i);
ip4 := Temp;
if Length(ip4) = 2 then ip4 := '0' + ip4;
if Length(ip4) = 1 then ip4 := '00' + ip4;
for j := FleshIpList.Count - 1 downto 0 do
begin
TmplineStr := FleshIpList.Strings[j];
Sip1 := Copy(TmplineStr, 1, 3);
Eip1 := Copy(TmplineStr, 16, 3);
if (strtoint(ip1) >= strtoint(Sip1)) and (strtoint(ip1) <= strtoint(Eip1)) then begin
Sip2 := Copy(TmplineStr, 5, 3);
Eip2 := Copy(TmplineStr, 20, 3);
if (strtoint(ip2) >= strtoint(Sip2)) and (strtoint(ip2) <= strtoint(Eip2)) then begin
Sip3 := Copy(TmplineStr, 9, 3);
Eip3 := Copy(TmplineStr, 24, 3);
if (strtoint(ip3) >= strtoint(Sip3)) and (strtoint(ip3) <= strtoint(Eip3)) then begin
Sip4 := Copy(TmplineStr, 13, 3);
Eip4 := Copy(TmplineStr, 28, 3);
if (strtoint(ip4) >= strtoint(Sip4)) and (strtoint(ip4) <= strtoint(Eip4)) then begin
Adder := Copy(TmplineStr, 31, Length(TmplineStr));
Result := Adder; //Result+
break;
end;
end;
end;
end;
end;
except //IP地址格式不对!
Result := Translate('IPtoAdder1','IP地址格式不对!');
end; //
if Result = '' then Result :=Translate('IPtoAdder2','【未知数据】') ;
end;
function THgzVip.GetAddertoIP(AdderName: string): string; {从地理位置得到所在IP地址}
var
j: integer;
Temp, IPadder: string;
TmplineStr: string;
Ip1, Ip2: string;
begin
Result := '';
try
for j := 0 to FleshIpList.Count - 1 do
begin
TmplineStr := FleshIpList.Strings[j];
Temp := Copy(TmplineStr, 31, Length(TmplineStr));
if pos(AdderName, Temp) <> 0 then begin
IP1 := Copy(TmplineStr, 1, 15);
IP2 := Copy(TmplineStr, 16, 15);
IPadder := IPadder + ip1 + '->' + Ip2 + ' ' + Temp + #13#10;
if length(IPadder) > 1024 * 31 then begin //数据太多,未全部显示!请再把地理位置填详细一点!
IPadder := IPadder + #13#10#13#10 +Translate('AddertoIP','数据太多,未全部显示!请再把地理位置填详细一点!');
break;
end;
end;
end;
except
end; //【未知数据】
Result := IPadder;
if Result = '' then Result := Translate('IPtoAdder2','【未知数据】');
end;
//load supported language list, display in the menu
procedure THgzVip.LoadLanguageList();
var
LangList:TStringList;
LangIndex:Integer;
I:Integer;
MenuItem:^TMenuItem;
begin
LangList:=TStringList.Create();
try
GetLanguageList(LangList,LangIndex);
for I:=0 to LangList.Count-1 do begin
New(MenuItem);
MenuItem^:=TMenuItem.Create(self);
MenuItem^.Caption:=LangList.Strings[I];
MenuItem^.Tag:=I;
MenuItem^.RadioItem:=true;
if (I=LangIndex) then begin
MenuItem^.Checked:=true;
end;
MenuItem^.OnClick:=OnMenuItemClick;
Language1.Add(MenuItem^)
end;
finally
LangList.Free;
end;
end;
//when select a language, change the language
procedure THgzVip.OnMenuItemClick(Sender:TObject);
begin
ChangeLanguage((Sender as TMenuItem).Tag);
(Sender as TMenuItem).Checked:=true;
end;
procedure THgzVip.DoChangeLanguage();
var
j,i:Integer;
begin
try
inherited DoChangeLanguage();
TIPAddThread.Create(false); {得到本机IP的线程}
ListView1.Columns[0].Caption :=Translate('ListView1Columns[0]','名称');
ListView1.Columns[1].Caption :=Translate('ListView1Columns[1]','大小(字节)');
ListView1.Columns[2].Caption :=Translate('ListView1Columns[2]','修改日期');
ListView4.Columns[0].Caption :=Translate('ListView4Columns[0]','进程名');
ListView4.Columns[1].Caption :=Translate('ListView4Columns[1]','进程ID');
ListView4.Columns[2].Caption :=Translate('ListView4Columns[2]','线程数');
ListView4.Columns[3].Caption :=Translate('ListView4Columns[3]','优先级');
ListView4.Columns[4].Caption :=Translate('ListView4Columns[4]','父进程ID');
ListView5.Columns[0].Caption :=Translate('ListView5Columns[0]','显示名称');
ListView5.Columns[1].Caption :=Translate('ListView5Columns[1]','服务名称');
ListView5.Columns[2].Caption :=Translate('ListView5Columns[2]','状态');
RegListView.Columns[0].Caption :=Translate('RegListViewColumns[0]','名称');
RegListView.Columns[1].Caption :=Translate('RegListViewColumns[0]','类型');
RegListView.Columns[2].Caption :=Translate('RegListViewColumns[0]','数据');
ListView2.Columns[0].Caption :=Translate('ListView2Columns[0]','目标');
ListView2.Columns[1].Caption :=Translate('ListView2Columns[1]','目的');
ListView2.Columns[2].Caption :=Translate('ListView2Columns[2]','大小');
Serveronlinelist.Columns[0].Caption :=Translate('SListColumns[0]','主机IP地址');
Serveronlinelist.Columns[1].Caption :=Translate('SListColumns[1]','标识');
Serveronlinelist.Columns[2].Caption :=Translate('SListColumns[2]','地理位置');
Serveronlinelist.Columns[3].Caption :=Translate('SListColumns[3]','上线时间');
Serveronlinelist.Columns[4].Caption :=Translate('SListColumns[4]','电脑名称');
Serveronlinelist.Columns[5].Caption :=Translate('SListColumns[5]','当前用户');
Serveronlinelist.Columns[6].Caption :=Translate('SListColumns[6]','操作系统');
Serveronlinelist.Columns[7].Caption :=Translate('SListColumns[7]','CPU');
Serveronlinelist.Columns[8].Caption :=Translate('SListColumns[8]','内存');
Serveronlinelist.Columns[9].Caption :=Translate('SListColumns[9]','备注');
SysListView.Columns[0].Caption :=Translate('SysListViewColumns[0]','属性名称');
SysListView.Columns[1].Caption :=Translate('SysListViewColumns[1]','属性描述');
try
SysListView.Items.Clear;
with SysListView.Items.Add do
begin
Caption:=Translate('SysListView[0]','系统芯片');
SubItems.Add('');
ImageIndex :=14;
end;
with SysListView.Items.Add do
begin
Caption:=Translate('SysListView[1]','物理内存');
SubItems.Add('');
ImageIndex :=15;
end;
with SysListView.Items.Add do
begin
Caption:=Translate('SysListView[2]','Windows版本');
SubItems.Add('');
ImageIndex :=16;
end;
with SysListView.Items.Add do
begin
Caption:=Translate('SysListView[3]','Windows目录');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -