//--------------------------------------------------------------- // Add & Delete Alias Demo, also shows how to use StatusBar // // Copyright (c) 1999 - Sortland Automasjon - All Rights Reserved // // Delphi Snippets : http://www.sortland.net/Delphi/Snippets.htm //---------------------------------------------------------------unit Alias; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, ComCtrls, StdCtrls, Tabnotbk, Buttons, DBTables, ImgList; type TFormAlias = class(TForm) Session1: TSession; MemoParam: TMemo; PanelDelete: TPanel; TabbedNotebook1: TTabbedNotebook; StatusBar1: TStatusBar; PanelAdd: TPanel; PanelToolbar: TPanel; MemoParameters: TMemo; ComboBoxAlias: TComboBox; ComboBoxDrivers: TComboBox; EditName: TEdit; LabelName: TLabel; Label1: TLabel; LabelDriver: TLabel; LabelParameters: TLabel; LabelParamName: TLabel; LabelParam: TLabel; SpeedButtonAdd: TSpeedButton; SpeedButtonSave: TSpeedButton; SpeedButtonDelete: TSpeedButton; procedure SpeedButtonAddClick(Sender: TObject); procedure ComboBoxDriversChange(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormResize(Sender: TObject); procedure SpeedButtonSaveClick(Sender: TObject); procedure TabbedNotebook1Change(Sender: TObject; NewTab: Integer; var AllowChange: Boolean); procedure SpeedButtonDeleteClick(Sender: TObject); procedure ComboBoxAliasChange(Sender: TObject); private { Private declarations } public procedure DisplayHint(Sender: TObject); end; var FormAlias: TFormAlias; implementation {$R *.DFM} //------------------------------------------------------------------- // FormAlias Create form //------------------------------------------------------------------- procedure TFormAlias.FormCreate(Sender: TObject); begin Application.OnHint:= DisplayHint; Session1.Active; Session1.GetDriverNames( ComboBoxDrivers.Items ); // Fill ComboBox end; //------------------------------------------------------------------- // FormAlias Resized //------------------------------------------------------------------- procedure TFormAlias.FormResize(Sender: TObject); begin // end; //------------------------------------------------------------------- // FormAlias OnHint //------------------------------------------------------------------- procedure TFormAlias.DisplayHint(Sender: TObject); begin StatusBar1.SimpleText:= ' '+ GetLongHint(Application.Hint); end; //------------------------------------------------------------------- // FormAlias NoteBook page is changing //------------------------------------------------------------------- procedure TFormAlias.TabbedNotebook1Change(Sender: TObject; NewTab: Integer; var AllowChange: Boolean); begin case NewTab of 0: begin SpeedButtonAdd.Enabled:= true; SpeedButtonDelete.Enabled:= false; end; 1: begin SpeedButtonAdd.Enabled:= false; SpeedButtonDelete.Enabled:= false; end; 2: begin SpeedButtonAdd.Enabled:= false; SpeedButtonDelete.Enabled:= true; Session.GetAliasNames( ComboBoxAlias.Items ); // Fill ComboBox MemoParam.Clear; end; else ; // ERROR ! end; AllowChange:=True; end; //------------------------------------------------------------------- // ComboBox_Drivers is changed, Get selected Driver parameters //------------------------------------------------------------------- procedure TFormAlias.ComboBoxDriversChange(Sender: TObject); begin if ComboBoxDrivers.Text<>'' then Session1.GetDriverParams( ComboBoxDrivers.Text, // BDE Driver name MemoParameters.Lines // StringList to hold the parameters ); end; //------------------------------------------------------------------- // Add Alias button pressed, Add Alias, Press Save to save to disk //------------------------------------------------------------------- procedure TFormAlias.SpeedButtonAddClick(Sender: TObject); begin if (EditName.Text<>'') and (ComboBoxDrivers.ItemIndex>-1) then begin Session1.AddAlias( EditName.Text, // New Alias Name ComboBoxDrivers.Text, // BDE Driver name MemoParameters.Lines // List of Parameters ); // Look in the help file for : // AddStandardAlias(const Name, Path, DefaultDriver: string); end; end; //------------------------------------------------------------------- // Save BDE Config file button pressed //------------------------------------------------------------------- procedure TFormAlias.SpeedButtonSaveClick(Sender: TObject); begin Session1.SaveConfigFile; // Save changes to disk end; //------------------------------------------------------------------- // Delete Alias button pressed, delete selected Alias //------------------------------------------------------------------- procedure TFormAlias.SpeedButtonDeleteClick(Sender: TObject); begin if ComboBoxAlias.Text<>'' then Session.DeleteAlias( ComboBoxAlias.Text ); Session.GetAliasNames( ComboBoxAlias.Items ); MemoParam.Clear; end; //------------------------------------------------------------------- // ComboBox_Alias is changed, Get new parameters //------------------------------------------------------------------- procedure TFormAlias.ComboBoxAliasChange(Sender: TObject); begin if ComboBoxAlias.Text<>'' then Session.GetAliasParams(ComboBoxAlias.Text, MemoParam.Lines); end; end.