home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2002 November
/
Chip_2002-11_cd1.bin
/
zkuste
/
delphi
/
kompon
/
d3456
/
ICQ.ZIP
/
ICQ
/
Example
/
UserSearch.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
2002-07-11
|
7KB
|
228 lines
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.FistNameEdit.Text,
UserSearchWPForm.LastNameEdit.Text,
UserSearchWPForm.NickNameEdit.Text,
UserSearchWPForm.EmailEdit.Text,
StrToInt(UserSearchWPForm.MinAgeEdit.Text),
StrToInt(UserSearchWPForm.MaxAgeEdit.Text),
UserSearchWPForm.GenderComboBox.ItemIndex,
UserSearchWPForm.LanguageComboBox.Items.Strings[UserSearchWPForm.LanguageComboBox.ItemIndex],
UserSearchWPForm.CityEdit.Text,
UserSearchWPForm.StateEdit.Text,
UserSearchWPForm.CountryComboBox.Items.Strings[UserSearchWPForm.CountryComboBox.ItemIndex],
UserSearchWPForm.CompanyEdit.Text,
UserSearchWPForm.DepartmentEdit.Text,
UserSearchWPForm.PositionEdit.Text,
UserSearchWPForm.OccupationComboBox.Items.Strings[UserSearchWPForm.OccupationComboBox.ItemIndex],
UserSearchWPForm.PastComboBox.Items.Strings[UserSearchWPForm.PastComboBox.ItemIndex],
UserSearchWPForm.PastDescEdit.Text,
UserSearchWPForm.InterestComboBox.Items.Strings[UserSearchWPForm.InterestComboBox.ItemIndex],
UserSearchWPForm.InterestsDescEdit.Text,
UserSearchWPForm.AffilationComboBox.Items.Strings[UserSearchWPForm.AffilationComboBox.ItemIndex],
UserSearchWPForm.AffilationDescEdit.Text,
UserSearchWPForm.HomePageEdit.Text,
UserSearchWPForm.SearchOnlineUsers.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.