GpStructuredStorage file    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~sqli.vtd4 sqliForm.vtdsqliFormName.vtd. sqliStep.vtd sqliStepFile.vtd8sqliStepStr.vtd6sqliStepStrEvent.vtd sqliVar.vtd sqliVer.vtdsqliReports.vtdacKeyacNamed acIsDebugacType acVarInINI acAutoStart acAutoClose acEndMessageacLocalization2acFormNameAuthoracActive anVersion acLogType acInstCoded anUserChg anUserIns adTimeChg adTimeIns acNoteacCompiledScriptEXERC14$Example 14 - Practical use of TTimerFAFFFTRT0=xNnBǵB acKey acFormName2 acDocType acObjectName2acType acKeyShortCut2acTabSheetName2 anUserChg anUserIns adTimeChg adTimeIns acFormType acFormName2acName2acKeyanNoacViewacSetOfacDescracReportacFileCreateTableanFileDelimiter acFileNameacFileTableName acFileDest acFileType acFileTypeXML acShowIfEmptyacTitleButtons anTitleLinesanBeginFromRecord anUserChg anUserIns adTimeChg adTimeIns acCharSet2 acStyleSheet acUnitName2 acNewThreadacDFMacPAS acSQLExport2acSQLExpacNoteEXERC14GPFAENFFNnB windows-1250 AresProjectFProgram AresProject; uses sysutils, classes, forms, dialogs, FForm1; begin Form1 := TForm1.create(ares); ares.run; end. EXERC14GFFAENFCxB windows-1250FForm1Fobject Form1: TForm Tag = 99 Left = 208 Top = 243 Caption = 'Form1' ClientHeight = 246 ClientWidth = 599 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 object dlcxPanel1: TdlcxPanel Left = 0 Top = 0 Width = 599 Height = 36 Align = alTop Alignment = taLeftJustify BorderStyle = bsNone BorderSize = 1 BorderColor3D = clWhite Border3D = False BorderColor = clGray Color = 15065304 ColorTo = 15065304 ComponentSize = csSmall Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] Options = [] ParentColor = False PanelType = ptNone TabOrder = 1 Templatable = False Transparent = False HeaderVisible = False HeaderColor = clGray HeaderColorTo = 13750737 HeaderHeight = 0 HeaderFont.Charset = DEFAULT_CHARSET HeaderFont.Color = clWindowText HeaderFont.Height = -11 HeaderFont.Name = 'Tahoma' HeaderFont.Style = [] HeaderAlignment = taLeftJustify HeaderPanelType = ptNone HotColor = clBlack HotColorTo = clBlack CheckedColor = clBlack CheckedColorTo = clBlack Checked = False object dlcxLabeledTextEdit1: TdlcxLabeledTextEdit Left = 45 Top = 9 AutoSize = False Style.BorderStyle = ebsFlat Style.Color = 15065304 Style.LookAndFeel.Kind = lfFlat Style.LookAndFeel.NativeStyle = False Style.Shadow = False StyleDisabled.LookAndFeel.Kind = lfFlat StyleDisabled.LookAndFeel.NativeStyle = False StyleFocused.Color = 14347503 StyleFocused.LookAndFeel.Kind = lfFlat StyleFocused.LookAndFeel.NativeStyle = False StyleHot.LookAndFeel.Kind = lfFlat StyleHot.LookAndFeel.NativeStyle = False TabOrder = 0 LabelPosition = lpoLeft LabelSpacing = 3 LabelVisible = True EditLabel.Left = 5 EditLabel.Top = 12 EditLabel.Width = 37 EditLabel.Height = 13 EditLabel.Caption = 'Search:' EditLabel.FocusControl = dlcxLabeledTextEdit1 EditLabel.Transparent = True ComponentSize = csSmall Templatable = False Caption = 'Search:' ReadOnly = False Height = 19 Width = 306 end end object cxGrid1: TcxGrid Left = 0 Top = 36 Width = 599 Height = 210 Align = alClient TabOrder = 4 LookAndFeel.Kind = lfOffice11 ExplicitLeft = 174 ExplicitTop = 58 ExplicitWidth = 250 ExplicitHeight = 200 object cxGrid1DBTableView1: TcxGridDBTableView NavigatorButtons.ConfirmDelete = False DataController.DataSource = DataSource1 DataController.Summary.DefaultGroupSummaryItems = <> DataController.Summary.FooterSummaryItems = <> DataController.Summary.SummaryGroups = <> object cxGrid1DBTableView1acSubject: TcxGridDBColumn DataBinding.FieldName = 'acSubject' Width = 93 end object cxGrid1DBTableView1acName2: TcxGridDBColumn DataBinding.FieldName = 'acName2' Width = 109 end object cxGrid1DBTableView1acAddress: TcxGridDBColumn DataBinding.FieldName = 'acAddress' Width = 113 end object cxGrid1DBTableView1acCountry: TcxGridDBColumn DataBinding.FieldName = 'acCountry' Width = 157 end end object cxGrid1Level1: TcxGridLevel GridView = cxGrid1DBTableView1 end end object _evsaver: TEventCom events = 'dlcxLabeledTextEdit1.Properties.OnChange=dlcxLabeledTextEdit1Pro' + 'pertiesChange'#13#10'Timer1.OnTimer=Timer1Timer'#13#10 end object Timer1: TTimer Enabled = False Interval = 500 Left = 484 Top = 76 end object dlDataset1: TdlDataset SQL.Strings = ( 'select acSubject, acName2, acAddress, acCountry from the_setSubj' 'where acSubject like :filter' 'or acName2 like :filter' 'or acAddress like :filter') AutoCalcFields = False Cached = False LocateInsert = False Editable = True RequestLive = False QueryRecCount = False DetailDelay = 0 LocalMasterDetail = False StrictUpdate = False TrimFixedChar = True TrimVarChar = True AddRowidToSQL = False ORACompatibility = True Left = 408 Top = 11 ParamData = < item DataType = ftUnknown Name = 'filter' end item DataType = ftUnknown Name = 'filter' end item DataType = ftUnknown Name = 'filter' end> end object DataSource1: TDataSource DataSet = dlDataset1 Left = 450 Top = 11 end end  unit FForm1; interface uses Forms, Controls, StdCtrls, SysUtils, Classes, Graphics, dlcomponents, Dialogs, ExtCtrls, dlDatabase, db, cxGrid; type TForm1 = class(TarForm) Timer1: TTimer; dlcxPanel1: TdlcxPanel; dlcxLabeledTextEdit1: TdlcxLabeledTextEdit; dlDataset1: TdlDataset; DataSource1: TDataSource; cxGrid1: TcxGrid; cxGrid1DBTableView1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; cxGrid1DBTableView1acSubject: TcxGridDBColumn; cxGrid1DBTableView1acName2: TcxGridDBColumn; cxGrid1DBTableView1acAddress: TcxGridDBColumn; cxGrid1DBTableView1acCountry: TcxGridDBColumn; procedure Timer1Timer(Sender: TObject); procedure dlcxLabeledTextEdit1PropertiesChange(Sender: TObject); private public constructor Create(AOwner: TComponent); override; end; var Form1: TForm1; implementation constructor TForm1.Create(AOwner: TComponent); begin inherited Create(AOwner); ares.AssignObjectsToForm('FForm1',Self); Timer1 := FindComponent('Timer1'); dlcxPanel1 := FindComponent('dlcxPanel1'); dlcxLabeledTextEdit1 := FindComponent('dlcxLabeledTextEdit1'); dlDataset1 := FindComponent('dlDataset1'); DataSource1 := FindComponent('DataSource1'); cxGrid1 := FindComponent('cxGrid1'); cxGrid1DBTableView1 := FindComponent('cxGrid1DBTableView1'); cxGrid1Level1 := FindComponent('cxGrid1Level1'); cxGrid1DBTableView1acSubject := FindComponent('cxGrid1DBTableView1acSubject'); cxGrid1DBTableView1acName2 := FindComponent('cxGrid1DBTableView1acName2'); cxGrid1DBTableView1acAddress := FindComponent('cxGrid1DBTableView1acAddress'); cxGrid1DBTableView1acCountry := FindComponent('cxGrid1DBTableView1acCountry'); Timer1.OnTimer := Timer1Timer; dlcxLabeledTextEdit1.Properties.OnChange := dlcxLabeledTextEdit1PropertiesChange; end; procedure TForm1.dlcxLabeledTextEdit1PropertiesChange(Sender: TObject); begin Timer1.enabled := false; Timer1.enabled := true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin Timer1.enabled := false; //showmessage('refresh'); dlDataset1.paramByName('filter').asString := '%'+dlcxLabeledTextEdit1.text+'%'; if dlDataset1.active then dlDataset1.refresh else dlDataset1.open; end; end. acKeyanNoanSeqNoacHField2acHType anHLengthanHDecacPField2acPTypeanPLegthanPDec acPFormat acPSeparator anUserChg anUserIns adTimeChg adTimeIns acKeyanNoanSeqNo acFieldName2 anFieldSize acFieldTitleacFieldReadOnly acEditType acFieldConst anUserChg anUserIns adTimeIns adTimeChg acFieldFormatacFieldDefault acKeyanNo acDataEventacDataReturnValue acKeyAndNo anUserChg anUserIns adTimeChg adTimeIns acKey acWhereKeyanNo acFieldName acParamVar acFieldType acFieldREQacFieldCaption2 acDefaultExpacDefaultValue acLookUpSQL acOperator acVarHint2 acAddApostrof anUserChg anUserIns adTimeChg adTimeIns acPrtCrit ACKEY ANVERSIONANNOACSQLEXPACNOTE ADTIMECHG ANUSERCHG ADTIMEINS ANUSERINSACREPORTACLANGIDACLOCALIZATION2 ACFORMNAMEdACNAMEdACDEFAULTPRINTER ACPREVIEWANMAXPRSTLEVELACSUBSTITUTESIGNACPRINTIFEMPTY ACPRINTTOTEXT ANNOOFCOPY ACORDERBY ACREGUSERCODEACACTIVE ACKEYSHORTCUT2 ANUSERINS ADTIMEINS ANUSERCHG ADTIMECHG ACTEXT1ACTEXT2ACTEXT3ACNOTE ACREPORTDATA