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

📄 main.pas

📁 灰鸽子VIP1.2经典源代码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
            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 + -