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

📄 usersearch.pas

📁 本程序是转载的
💻 PAS
字号:
unit UserSearch;
{(C) Alex Demchenko(alex@ritlabs.com)}

interface

uses
  Windows, Messages, Classes, Graphics, Controls, Forms,
  StdCtrls, ComCtrls, ICQWorks, Menus;

type
  TUserSearchForm = class(TForm)
    GroupBox1: TGroupBox;
    SearchByNumberRadio: TRadioButton;
    NumberEdit: TEdit;
    GroupBox2: TGroupBox;
    SearchByEmailRadio: TRadioButton;
    EmailEdit: TEdit;
    GroupBox3: TGroupBox;
    SearchByNameRadio: TRadioButton;
    NickEdit: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    FirstEdit: TEdit;
    LastEdit: TEdit;
    Label3: TLabel;
    Button1: TButton;
    GroupBox4: TGroupBox;
    ListView1: TListView;
    StatusBar1: TStatusBar;
    GroupBox5: TGroupBox;
    RandomSearchRadio: TRadioButton;
    RandomComboBox: TComboBox;
    Label4: TLabel;
    AdvancedButton: TButton;
    UserSearchPopup: TPopupMenu;
    AddToList1: TMenuItem;
    UsersInfo1: TMenuItem;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
    procedure SearchByEmailRadioClick(Sender: TObject);
    procedure SearchByNumberRadioClick(Sender: TObject);
    procedure SearchByNameRadioClick(Sender: TObject);
    procedure NumberEditChange(Sender: TObject);
    procedure EmailEditChange(Sender: TObject);
    procedure NickEditChange(Sender: TObject);
    procedure RandomSearchRadioClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure AdvancedButtonClick(Sender: TObject);
    procedure UserSearchPopupPopup(Sender: TObject);
    procedure UsersInfo1Click(Sender: TObject);
    procedure AddToList1Click(Sender: TObject);
    procedure RandomComboBoxChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  UserSearchForm: TUserSearchForm;

implementation
uses
  Main, UserSearchWP;

{$R *.dfm}

procedure TUserSearchForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action := caHide;
end;

procedure TUserSearchForm.Button1Click(Sender: TObject);
begin
  if not MainForm.ICQClient1.LoggedIn then
  begin
    MessageBox(0, 'Not connected!', 'Error!', MB_ICONERROR);
    Exit;
  end;
  if UserSearchWPForm.Showing then
    MainForm.ICQClient1.SearchWhitePages(
      UserSearchWPForm.FirstNameEdit.Text,
      UserSearchWPForm.LastNameEdit.Text,
      UserSearchWPForm.NickNameEdit.Text,
      UserSearchWPForm.EmailEdit.Text,
      UserSearchWPForm.GetAgeMin,
      UserSearchWPForm.GetAgeMax,
      UserSearchWPForm.GetGender,
      UserSearchWPForm.LanguageCB.Items.Strings[UserSearchWPForm.LanguageCB.ItemIndex],
      UserSearchWPForm.CityEdit.Text,
      UserSearchWPForm.CountryCB.Items.Strings[UserSearchWPForm.CountryCB.ItemIndex],
      UserSearchWPForm.CompanyEdit.Text,
      UserSearchWPForm.DepartmentEdit.Text,
      UserSearchWPForm.PositionEdit.Text,
      UserSearchWPForm.OccupationCB.Items.Strings[UserSearchWPForm.OccupationCB.ItemIndex],
      UserSearchWPForm.OrganizationCB.Items.Strings[UserSearchWPForm.OrganizationCB.ItemIndex],
      UserSearchWPForm.OrganizationKeyWordsEdit.Text,
      UserSearchWPForm.PastAffilCB.Items.Strings[UserSearchWPForm.PastAffilCB.ItemIndex],
      UserSearchWPForm.PastAffilKeyWordsEdit.Text,
      UserSearchWPForm.KeyWordEdit.Text,
      UserSearchWPForm.OnlineCB.Checked)
  else if SearchByEmailRadio.Checked then
    MainForm.ICQClient1.SearchByMail(EmailEdit.Text)
  else if SearchByNumberRadio.Checked then
    MainForm.ICQClient1.SearchByUIN(StrToInt(NumberEdit.Text))
  else if SearchByNameRadio.Checked then
    MainForm.ICQClient1.SearchByName(FirstEdit.Text, LastEdit.Text, NickEdit.Text, '')
  else if RandomSearchRadio.Checked then
    MainForm.ICQClient1.SearchRandom(RandGroups[RandomComboBox.ItemIndex + 1].Ident)
  else
    Exit;
  Button1.Caption := 'Searching...';
  StatusBar1.Panels[0].Text := 'Searching...';
  ListView1.Items.Clear;
end;

procedure TUserSearchForm.SearchByNumberRadioClick(Sender: TObject);
begin
  SearchByEmailRadio.Checked := False;
  SearchByNameRadio.Checked := False;
  RandomSearchRadio.Checked := False;  
end;

procedure TUserSearchForm.SearchByEmailRadioClick(Sender: TObject);
begin
  SearchByNumberRadio.Checked := False;
  SearchByNameRadio.Checked := False;
  RandomSearchRadio.Checked := False;
end;

procedure TUserSearchForm.SearchByNameRadioClick(Sender: TObject);
begin
  SearchByNumberRadio.Checked := False;
  SearchByEmailRadio.Checked := False;
  RandomSearchRadio.Checked := False;
end;

procedure TUserSearchForm.RandomSearchRadioClick(Sender: TObject);
begin
  SearchByNumberRadio.Checked := False;
  SearchByEmailRadio.Checked := False;
  SearchByNameRadio.Checked := False;
end;

procedure TUserSearchForm.NumberEditChange(Sender: TObject);
begin
  SearchByNumberRadio.Checked := True;
  SearchByEmailRadio.Checked := False;
  SearchByNameRadio.Checked := False;
  RandomSearchRadio.Checked := False;
end;

procedure TUserSearchForm.EmailEditChange(Sender: TObject);
begin
  SearchByNumberRadio.Checked := False;
  SearchByEmailRadio.Checked := True;
  SearchByNameRadio.Checked := False;
  RandomSearchRadio.Checked := False;
end;

procedure TUserSearchForm.NickEditChange(Sender: TObject);
begin
  SearchByNumberRadio.Checked := False;
  SearchByEmailRadio.Checked := False;
  SearchByNameRadio.Checked := True;
  RandomSearchRadio.Checked := False;
end;

procedure TUserSearchForm.FormCreate(Sender: TObject);
var
  i: Word;
begin
  for i := Low(RandGroups) to High(RandGroups) do
    RandomComboBox.Items.Add(RandGroups[i].Value);
  RandomComboBox.ItemIndex := 0;
end;

procedure TUserSearchForm.AdvancedButtonClick(Sender: TObject);
begin
  UserSearchWPForm.ShowModal;
end;

procedure TUserSearchForm.UserSearchPopupPopup(Sender: TObject);
begin
  if ListView1.Selected = nil then
  begin
    UserSearchPopup.Items[0].Enabled := False;
    UserSearchPopup.Items[1].Enabled := False;
  end
  else
  begin
    UserSearchPopup.Items[0].Enabled := True;
    UserSearchPopup.Items[1].Enabled := True;
  end;
end;

procedure TUserSearchForm.UsersInfo1Click(Sender: TObject);
begin
  if ListView1.Selected = nil then Exit;
  MainForm.DoCreateInfoQuery(ListView1.Selected.SubItems[3]);
end;

procedure TUserSearchForm.AddToList1Click(Sender: TObject);
var
  ListItem: TListItem;
begin
  if ListView1.Selected = nil then Exit;
  MainForm.ICQClient1.AddContact(StrToInt(ListView1.Selected.SubItems[3]));
  //Add if user in the contact list ListView1 in the MainForm
  ListItem := MainForm.ListView1.Items.Add;
  ListItem.ImageIndex := ListView1.Selected.ImageIndex;
  ListItem.Caption := ListView1.Selected.SubItems[3];
end;

procedure TUserSearchForm.RandomComboBoxChange(Sender: TObject);
begin
  SearchByNumberRadio.Checked := False;
  SearchByEmailRadio.Checked := False;
  SearchByNameRadio.Checked := False;
  RandomSearchRadio.Checked := True;
end;

end.

⌨️ 快捷键说明

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