home *** CD-ROM | disk | FTP | other *** search
- unit RasDemoForm;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- ComCtrls, StdCtrls, RASCountryList, RASAddressBook, RASBase, RASDevices,
- RASPhoneBook, RASConnection;
-
- type
- TMainForm = class(TForm)
- PhoneBookManager: TRASPhoneBookManager;
- PageControl1: TPageControl;
- TabSheet1: TTabSheet;
- DialCodes: TListView;
- Label1: TLabel;
- CountryList: TRASCountryList;
- TabSheet2: TTabSheet;
- PhoneBook: TListView;
- Label2: TLabel;
- TabSheet3: TTabSheet;
- Label3: TLabel;
- DeviceList: TListView;
- DeviceManager: TRASDeviceManager;
- ConnectionManager: TRASConnectionManager;
- TabSheet4: TTabSheet;
- Label4: TLabel;
- ConnectList: TListView;
- procedure FormShow(Sender: TObject);
- procedure PhoneBookDblClick(Sender: TObject);
- procedure RefreshPhoneBook;
- procedure RefreshConnections;
- procedure ConnectionManagerStatusChange(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- MainForm: TMainForm;
-
- implementation
-
- {$R *.DFM}
-
- uses RASEditPhoneBookForm;
-
- procedure TMainForm.FormShow(Sender: TObject);
- var
- Idx: Integer;
- ListItem: TListItem;
- begin
- with CountryList, DialCodes do
- for Idx := 0 to Countries.Count - 1 do begin
- CountryName := Countries [Idx];
- ListItem := Items.Add;
- ListItem.Caption := CountryName;
- ListItem.SubItems.Add (IntToStr (CountryID));
- ListItem.SubItems.Add (IntToStr (CountryDialCode));
- end;
-
- with DeviceList, DeviceManager do
- for Idx := 0 to DeviceNames.Count - 1 do begin
- ListItem := Items.Add;
- ListItem.Caption := DeviceNames [Idx];
- ListItem.SubItems.Add (DeviceTypes [Idx]);
- end;
-
- RefreshPhoneBook;
- RefreshConnections;
- end;
-
- procedure TMainForm.RefreshPhoneBook;
- var
- Idx: Integer;
- ListItem: TListItem;
- begin
- PhoneBook.Items.Clear;
- with PhoneBookManager, PhoneBook do
- for Idx := 0 to Entries.Count - 1 do begin
- ItemIndex := Idx;
- ListItem := Items.Add;
- ListItem.Caption := Entries [Idx];
- ListItem.SubItems.Add (UserName);
- ListItem.SubItems.Add (PhoneNumber);
- ListItem.SubItems.Add (Password);
- end;
- end;
-
- procedure TMainForm.RefreshConnections;
- var
- Idx: Integer;
- ListItem: TListItem;
- begin
- ConnectList.Items.Clear;
- with ConnectionManager, ConnectList do
- for Idx := 0 to ConnectionNames.Count - 1 do begin
- ListItem := Items.Add;
- ListItem.Caption := ConnectionNames [Idx];
- ListItem.SubItems.Add (Status [Idx]);
- end;
- end;
-
- procedure TMainForm.PhoneBookDblClick(Sender: TObject);
- var
- Item: TListItem;
- begin
- Item := PhoneBook.Selected;
- if Item <> Nil then with TEditPhoneBook.Create (Nil) do try
- Caption := Format (Caption, [Item.Caption]);
- UserName.Text := Item.SubItems [0];
- PhoneNumber.Text := Item.SubItems [1];
- PassWord.Text := Item.SubItems [2];
- ShowModal;
- finally
- // Don't forget to point at wanted entry!
- PhoneBookManager.ItemIndex := PhoneBook.Items.IndexOf (Item);
- PhoneBookManager.UserName := UserName.Text;
- PhoneBookManager.PhoneNumber := PhoneNumber.Text;
- PhoneBookManager.Password := Password.Text;
- Free;
- end;
-
- RefreshPhoneBook;
- end;
-
- procedure TMainForm.ConnectionManagerStatusChange(Sender: TObject);
- begin
- RefreshConnections;
- end;
-
- end.
-