Selaa lähdekoodia

Introduce query editing feature
modified: TurboBird.lpi
modified: TurboBird.lpr
modified: TurboBird.res
modified: querywindow.lfm
modified: querywindow.lrs
modified: querywindow.pas
modified: sqlhistory.lfm
modified: sqlhistory.lrs
modified: sqlhistory.pas

motaz 12 vuotta sitten
vanhempi
commit
d899670f5c
9 muutettua tiedostoa jossa 720 lisäystä ja 376 poistoa
  1. 192 138
      TurboBird.lpi
  2. 3 3
      TurboBird.lpr
  3. BIN
      TurboBird.res
  4. 3 1
      querywindow.lfm
  5. 138 137
      querywindow.lrs
  6. 282 4
      querywindow.pas
  7. 5 5
      sqlhistory.lfm
  8. 85 85
      sqlhistory.lrs
  9. 12 3
      sqlhistory.pas

+ 192 - 138
TurboBird.lpi

@@ -18,7 +18,7 @@
       <AutoIncrementBuild Value="True"/>
       <MinorVersionNr Value="9"/>
       <RevisionNr Value="8"/>
-      <BuildNr Value="1088"/>
+      <BuildNr Value="1090"/>
       <StringTable ProductVersion="0.9"/>
     </VersionInfo>
     <BuildModes Count="1">
@@ -55,16 +55,15 @@
         <PackageName Value="LCL"/>
       </Item5>
     </RequiredPackages>
-    <Units Count="113">
+    <Units Count="116">
       <Unit0>
         <Filename Value="TurboBird.lpr"/>
         <IsPartOfProject Value="True"/>
         <UnitName Value="TurboBird"/>
-        <IsVisibleTab Value="True"/>
         <EditorIndex Value="0"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="13"/>
-        <CursorPos X="30" Y="29"/>
+        <TopLine Value="34"/>
+        <CursorPos X="20" Y="28"/>
         <UsageCount Value="200"/>
         <Loaded Value="True"/>
       </Unit0>
@@ -75,10 +74,10 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="main"/>
-        <EditorIndex Value="6"/>
+        <EditorIndex Value="7"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="3470"/>
-        <CursorPos X="61" Y="3479"/>
+        <TopLine Value="4037"/>
+        <CursorPos X="1" Y="4052"/>
         <UsageCount Value="200"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
@@ -112,7 +111,7 @@
         <UnitName Value="Buttons"/>
         <TopLine Value="125"/>
         <CursorPos X="25" Y="141"/>
-        <UsageCount Value="27"/>
+        <UsageCount Value="26"/>
       </Unit4>
       <Unit5>
         <Filename Value="querywindow.pas"/>
@@ -121,14 +120,15 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="QueryWindow"/>
-        <EditorIndex Value="2"/>
+        <IsVisibleTab Value="True"/>
+        <EditorIndex Value="1"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="1442"/>
-        <CursorPos X="10" Y="1460"/>
+        <TopLine Value="310"/>
+        <CursorPos X="1" Y="340"/>
         <UsageCount Value="200"/>
         <Bookmarks Count="2">
-          <Item0 X="3" Y="629" ID="0"/>
-          <Item1 X="3" Y="1473" ID="1"/>
+          <Item0 X="3" Y="901" ID="0"/>
+          <Item1 X="3" Y="1745" ID="1"/>
         </Bookmarks>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
@@ -138,13 +138,13 @@
         <UnitName Value="Dialogs"/>
         <TopLine Value="530"/>
         <CursorPos X="10" Y="489"/>
-        <UsageCount Value="8"/>
+        <UsageCount Value="7"/>
       </Unit6>
       <Unit7>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/include/messagedialogs.inc"/>
         <TopLine Value="152"/>
         <CursorPos X="6" Y="159"/>
-        <UsageCount Value="8"/>
+        <UsageCount Value="7"/>
       </Unit7>
       <Unit8>
         <Filename Value="tableinfo.pas"/>
@@ -154,7 +154,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="67"/>
         <CursorPos X="6" Y="97"/>
-        <UsageCount Value="188"/>
+        <UsageCount Value="187"/>
       </Unit8>
       <Unit9>
         <Filename Value="viewview.pas"/>
@@ -252,19 +252,19 @@
         <UnitName Value="Interfaces"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit17>
       <Unit18>
         <Filename Value="/usr/share/fpcsrc/2.2.4/rtl/objpas/sysutils/datih.inc"/>
         <TopLine Value="101"/>
         <CursorPos X="10" Y="130"/>
-        <UsageCount Value="4"/>
+        <UsageCount Value="3"/>
       </Unit18>
       <Unit19>
         <Filename Value="/usr/share/fpcsrc/2.2.4/rtl/objpas/sysutils/dati.inc"/>
         <TopLine Value="53"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="2"/>
+        <UsageCount Value="1"/>
       </Unit19>
       <Unit20>
         <Filename Value="createtrigger.pas"/>
@@ -282,33 +282,33 @@
         <UnitName Value="sqldb"/>
         <TopLine Value="1643"/>
         <CursorPos X="17" Y="1647"/>
-        <UsageCount Value="3"/>
+        <UsageCount Value="2"/>
       </Unit21>
       <Unit22>
         <Filename Value="/usr/share/fpcsrc/2.2.4/packages/fcl-db/src/base/sqlscript.pp"/>
         <UnitName Value="sqlscript"/>
         <TopLine Value="472"/>
         <CursorPos X="23" Y="401"/>
-        <UsageCount Value="3"/>
+        <UsageCount Value="2"/>
       </Unit22>
       <Unit23>
         <Filename Value="/usr/share/fpcsrc/2.2.4/packages/fcl-db/src/base/db.pas"/>
         <UnitName Value="db"/>
         <TopLine Value="1759"/>
         <CursorPos X="15" Y="1783"/>
-        <UsageCount Value="8"/>
+        <UsageCount Value="7"/>
       </Unit23>
       <Unit24>
         <Filename Value="/usr/share/fpcsrc/2.2.4/packages/fcl-db/src/base/datasource.inc"/>
         <TopLine Value="467"/>
         <CursorPos X="26" Y="471"/>
-        <UsageCount Value="8"/>
+        <UsageCount Value="7"/>
       </Unit24>
       <Unit25>
         <Filename Value="/usr/share/fpcsrc/2.2.4/packages/fcl-db/src/base/dsparams.inc"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="8"/>
+        <UsageCount Value="7"/>
       </Unit25>
       <Unit26>
         <Filename Value="indices.pas"/>
@@ -318,14 +318,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="27"/>
         <CursorPos X="1" Y="127"/>
-        <UsageCount Value="144"/>
+        <UsageCount Value="143"/>
       </Unit26>
       <Unit27>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/components/cgi/ide/cgilazideintf.pas"/>
         <UnitName Value="CGILazIDEIntf"/>
         <TopLine Value="131"/>
         <CursorPos X="13" Y="138"/>
-        <UsageCount Value="7"/>
+        <UsageCount Value="6"/>
       </Unit27>
       <Unit28>
         <Filename Value="../spidercgi/freespiderideintf.pas"/>
@@ -333,14 +333,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="18" Y="21"/>
-        <UsageCount Value="83"/>
+        <UsageCount Value="82"/>
       </Unit28>
       <Unit29>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/components/cgi/cgimodules.pas"/>
         <UnitName Value="cgiModules"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="7"/>
+        <UsageCount Value="6"/>
       </Unit29>
       <Unit30>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/ideintf/actionseditor.pas"/>
@@ -350,28 +350,28 @@
         <UnitName Value="ActionsEditor"/>
         <TopLine Value="1"/>
         <CursorPos X="30" Y="7"/>
-        <UsageCount Value="1"/>
+        <UsageCount Value="0"/>
       </Unit30>
       <Unit31>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/ideintf/formeditingintf.pas"/>
         <UnitName Value="FormEditingIntf"/>
         <TopLine Value="14"/>
         <CursorPos X="55" Y="25"/>
-        <UsageCount Value="1"/>
+        <UsageCount Value="0"/>
       </Unit31>
       <Unit32>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/ideintf/projectintf.pas"/>
         <UnitName Value="ProjectIntf"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="1"/>
+        <UsageCount Value="0"/>
       </Unit32>
       <Unit33>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/ideintf/lazideintf.pas"/>
         <UnitName Value="LazIDEIntf"/>
         <TopLine Value="14"/>
         <CursorPos X="24" Y="26"/>
-        <UsageCount Value="1"/>
+        <UsageCount Value="0"/>
       </Unit33>
       <Unit34>
         <Filename Value="edittable.pas"/>
@@ -380,17 +380,19 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="EditTable"/>
+        <EditorIndex Value="3"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="58" Y="90"/>
         <UsageCount Value="200"/>
+        <Loaded Value="True"/>
       </Unit34>
       <Unit35>
         <Filename Value="/usr/share/fpcsrc/2.2.4/packages/fcl-base/src/custapp.pp"/>
         <UnitName Value="CustApp"/>
         <TopLine Value="231"/>
         <CursorPos X="11" Y="234"/>
-        <UsageCount Value="24"/>
+        <UsageCount Value="23"/>
       </Unit35>
       <Unit36>
         <Filename Value="callproc.pas"/>
@@ -409,10 +411,12 @@
         <ComponentName Value="fmEditDataFullRec"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="EditDataFullRec"/>
+        <EditorIndex Value="8"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="1"/>
-        <CursorPos X="21" Y="53"/>
+        <TopLine Value="67"/>
+        <CursorPos X="41" Y="79"/>
         <UsageCount Value="200"/>
+        <Loaded Value="True"/>
       </Unit37>
       <Unit38>
         <Filename Value="udfinfo.pas"/>
@@ -452,7 +456,7 @@
         <UnitName Value="SynEdit"/>
         <TopLine Value="1075"/>
         <CursorPos X="14" Y="1097"/>
-        <UsageCount Value="11"/>
+        <UsageCount Value="10"/>
       </Unit41>
       <Unit42>
         <Filename Value="systables.pas"/>
@@ -461,7 +465,7 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="DataModule"/>
         <UnitName Value="SysTables"/>
-        <EditorIndex Value="4"/>
+        <EditorIndex Value="5"/>
         <WindowIndex Value="0"/>
         <TopLine Value="713"/>
         <CursorPos X="18" Y="749"/>
@@ -474,7 +478,7 @@
         <UnitName Value="SynEditMiscClasses"/>
         <TopLine Value="89"/>
         <CursorPos X="14" Y="111"/>
-        <UsageCount Value="4"/>
+        <UsageCount Value="3"/>
       </Unit43>
       <Unit44>
         <Filename Value="constraints.pas"/>
@@ -484,7 +488,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="73"/>
         <CursorPos X="1" Y="95"/>
-        <UsageCount Value="96"/>
+        <UsageCount Value="95"/>
       </Unit44>
       <Unit45>
         <Filename Value="newconstraint.pas"/>
@@ -513,20 +517,20 @@
         <UnitName Value="DBGrids"/>
         <TopLine Value="510"/>
         <CursorPos X="16" Y="526"/>
-        <UsageCount Value="14"/>
+        <UsageCount Value="13"/>
       </Unit47>
       <Unit48>
         <Filename Value="/usr/lib/lazarus/0.9.28.2/lcl/controls.pp"/>
         <UnitName Value="Controls"/>
         <TopLine Value="859"/>
         <CursorPos X="5" Y="875"/>
-        <UsageCount Value="14"/>
+        <UsageCount Value="13"/>
       </Unit48>
       <Unit49>
         <Filename Value="/usr/share/fpcsrc/2.2.4/rtl/objpas/classes/classesh.inc"/>
         <TopLine Value="104"/>
         <CursorPos X="3" Y="120"/>
-        <UsageCount Value="14"/>
+        <UsageCount Value="13"/>
       </Unit49>
       <Unit50>
         <Filename Value="calen.pas"/>
@@ -555,7 +559,7 @@
         <UnitName Value="ConnectAs"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="13"/>
+        <UsageCount Value="12"/>
       </Unit52>
       <Unit53>
         <Filename Value="userpermissions.pas"/>
@@ -574,7 +578,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="40" Y="18"/>
-        <UsageCount Value="12"/>
+        <UsageCount Value="11"/>
       </Unit54>
       <Unit55>
         <Filename Value="tablemanage.pas"/>
@@ -594,7 +598,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="9"/>
+        <UsageCount Value="8"/>
       </Unit56>
       <Unit57>
         <Filename Value="/usr/lib/lazarus/0.9.29/components/synedit/synedit.pp"/>
@@ -602,7 +606,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="783"/>
         <CursorPos X="30" Y="804"/>
-        <UsageCount Value="4"/>
+        <UsageCount Value="3"/>
       </Unit57>
       <Unit58>
         <Filename Value="/usr/lib/lazarus/0.9.29/components/synedit/synedittypes.pp"/>
@@ -610,7 +614,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="18" Y="38"/>
-        <UsageCount Value="4"/>
+        <UsageCount Value="3"/>
       </Unit58>
       <Unit59>
         <Filename Value="/usr/lib/lazarus/0.9.29/lcl/dialogs.pp"/>
@@ -618,7 +622,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="346"/>
         <CursorPos X="33" Y="369"/>
-        <UsageCount Value="4"/>
+        <UsageCount Value="3"/>
       </Unit59>
       <Unit60>
         <Filename Value="backuprestore.pas"/>
@@ -638,7 +642,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="24"/>
+        <UsageCount Value="23"/>
       </Unit61>
       <Unit62>
         <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-db/src/sqldb/interbase/ibconnection.pp"/>
@@ -646,15 +650,15 @@
         <WindowIndex Value="0"/>
         <TopLine Value="435"/>
         <CursorPos X="19" Y="447"/>
-        <UsageCount Value="2"/>
+        <UsageCount Value="1"/>
       </Unit62>
       <Unit63>
         <Filename Value="ibconnection.pp"/>
         <UnitName Value="IBConnection"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="141"/>
-        <CursorPos X="71" Y="165"/>
-        <UsageCount Value="25"/>
+        <TopLine Value="639"/>
+        <CursorPos X="21" Y="745"/>
+        <UsageCount Value="24"/>
       </Unit63>
       <Unit64>
         <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-db/src/sqldb/sqldb.pp"/>
@@ -662,7 +666,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="44" Y="23"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit64>
       <Unit65>
         <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-db/src/base/db.pas"/>
@@ -670,7 +674,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1293"/>
         <CursorPos X="15" Y="1310"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit65>
       <Unit66>
         <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-db/src/base/sqlscript.pp"/>
@@ -678,14 +682,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="2"/>
+        <UsageCount Value="1"/>
       </Unit66>
       <Unit67>
         <Filename Value="/usr/share/fpcsrc/2.4.0/packages/fcl-db/src/base/dataset.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="21"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="2"/>
+        <UsageCount Value="1"/>
       </Unit67>
       <Unit68>
         <Filename Value="createuser.pas"/>
@@ -694,11 +698,11 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="CreateUser"/>
-        <EditorIndex Value="3"/>
+        <EditorIndex Value="4"/>
         <WindowIndex Value="0"/>
         <TopLine Value="12"/>
         <CursorPos X="24" Y="12"/>
-        <UsageCount Value="195"/>
+        <UsageCount Value="200"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
       </Unit68>
@@ -712,7 +716,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="3"/>
         <CursorPos X="88" Y="14"/>
-        <UsageCount Value="194"/>
+        <UsageCount Value="200"/>
       </Unit69>
       <Unit70>
         <Filename Value="permissionmanage.pas"/>
@@ -724,7 +728,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="432"/>
         <CursorPos X="25" Y="289"/>
-        <UsageCount Value="192"/>
+        <UsageCount Value="198"/>
       </Unit70>
       <Unit71>
         <Filename Value="sqlhistory.pas"/>
@@ -733,24 +737,27 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="SQLHistory"/>
+        <EditorIndex Value="2"/>
         <WindowIndex Value="0"/>
-        <TopLine Value="56"/>
-        <CursorPos X="20" Y="89"/>
-        <UsageCount Value="177"/>
+        <TopLine Value="51"/>
+        <CursorPos X="31" Y="63"/>
+        <UsageCount Value="183"/>
+        <Loaded Value="True"/>
+        <LoadedDesigner Value="True"/>
       </Unit71>
       <Unit72>
         <Filename Value="../../lazarus/lazarus/lcl/include/menuitem.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="57"/>
         <CursorPos X="1" Y="77"/>
-        <UsageCount Value="7"/>
+        <UsageCount Value="6"/>
       </Unit72>
       <Unit73>
         <Filename Value="../../lazarus/lazarus/lcl/include/menu.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="241"/>
         <CursorPos X="1" Y="273"/>
-        <UsageCount Value="7"/>
+        <UsageCount Value="6"/>
       </Unit73>
       <Unit74>
         <Filename Value="copytable.pas"/>
@@ -762,7 +769,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="51" Y="14"/>
-        <UsageCount Value="148"/>
+        <UsageCount Value="154"/>
       </Unit74>
       <Unit75>
         <Filename Value="/usr/lib/lazarus/0.9.30/lcl/comctrls.pp"/>
@@ -770,14 +777,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="2685"/>
         <CursorPos X="3" Y="2707"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit75>
       <Unit76>
         <Filename Value="/usr/lib/lazarus/0.9.30/lcl/include/menuitem.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="53"/>
         <CursorPos X="1" Y="75"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit76>
       <Unit77>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/lazconf.pp"/>
@@ -785,7 +792,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit77>
       <Unit78>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/definetemplates.pas"/>
@@ -793,7 +800,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit78>
       <Unit79>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/codetoolsstrconsts.pas"/>
@@ -801,7 +808,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit79>
       <Unit80>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/expreval.pas"/>
@@ -809,7 +816,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit80>
       <Unit81>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/buildlazdialog.pas"/>
@@ -817,7 +824,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit81>
       <Unit82>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/laz2_xmlread.pas"/>
@@ -825,7 +832,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit82>
       <Unit83>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/registersdf.pas"/>
@@ -833,7 +840,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit83>
       <Unit84>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/printer4lazarus.pas"/>
@@ -841,7 +848,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit84>
       <Unit85>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/printersdlgs.pp"/>
@@ -849,7 +856,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit85>
       <Unit86>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/osprinters.pas"/>
@@ -857,7 +864,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="29"/>
         <CursorPos X="8" Y="49"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit86>
       <Unit87>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/lazcontrols.pas"/>
@@ -865,7 +872,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit87>
       <Unit88>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/runtimetypeinfocontrols.pas"/>
@@ -873,7 +880,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit88>
       <Unit89>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/rttictrls.pas"/>
@@ -881,7 +888,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit89>
       <Unit90>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/rttigrids.pas"/>
@@ -889,7 +896,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit90>
       <Unit91>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/sourceprinter.pas"/>
@@ -897,7 +904,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit91>
       <Unit92>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/memdslaz.pas"/>
@@ -905,7 +912,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit92>
       <Unit93>
         <Filename Value="/usr/lib/lazarus/0.9.30/ide/frmselectdataset.pp"/>
@@ -913,7 +920,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="156"/>
         <CursorPos X="4" Y="193"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit93>
       <Unit94>
         <Filename Value="../../lazarus/lazarus/lcl/controls.pp"/>
@@ -921,14 +928,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="139"/>
         <CursorPos X="23" Y="163"/>
-        <UsageCount Value="5"/>
+        <UsageCount Value="4"/>
       </Unit94>
       <Unit95>
         <Filename Value="../../lazarus/lazarus/lcl/include/control.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="2262"/>
         <CursorPos X="1" Y="2286"/>
-        <UsageCount Value="10"/>
+        <UsageCount Value="9"/>
       </Unit95>
       <Unit96>
         <Filename Value="../../lazarus/lazarus/lcl/forms.pp"/>
@@ -936,14 +943,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="559"/>
         <CursorPos X="23" Y="600"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit96>
       <Unit97>
         <Filename Value="../../lazarus/lazarus/lcl/include/customform.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="359"/>
         <CursorPos X="3" Y="381"/>
-        <UsageCount Value="6"/>
+        <UsageCount Value="5"/>
       </Unit97>
       <Unit98>
         <Filename Value="dbinfo.pas"/>
@@ -955,7 +962,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="64"/>
         <CursorPos X="16" Y="66"/>
-        <UsageCount Value="116"/>
+        <UsageCount Value="122"/>
       </Unit98>
       <Unit99>
         <Filename Value="../../FromInternet/fpc2.4/fpc-2.4.4/packages/ibase/src/ibase60dyn.pp"/>
@@ -963,14 +970,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="8"/>
+        <UsageCount Value="7"/>
       </Unit99>
       <Unit100>
         <Filename Value="../../FromInternet/fpc2.4/fpc-2.4.4/packages/ibase/src/ibase60.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="50" Y="6"/>
-        <UsageCount Value="8"/>
+        <UsageCount Value="7"/>
       </Unit100>
       <Unit101>
         <Filename Value="../FreeSpider/spiderutils.pas"/>
@@ -978,7 +985,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="11"/>
+        <UsageCount Value="10"/>
       </Unit101>
       <Unit102>
         <Filename Value="comparison.pas"/>
@@ -987,11 +994,11 @@
         <HasResources Value="True"/>
         <ResourceBaseClass Value="Form"/>
         <UnitName Value="Comparison"/>
-        <EditorIndex Value="5"/>
+        <EditorIndex Value="6"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="15" Y="255"/>
-        <UsageCount Value="103"/>
+        <UsageCount Value="109"/>
         <Loaded Value="True"/>
         <LoadedDesigner Value="True"/>
       </Unit102>
@@ -1000,14 +1007,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="815"/>
         <CursorPos X="11" Y="832"/>
-        <UsageCount Value="23"/>
+        <UsageCount Value="22"/>
       </Unit103>
       <Unit104>
         <Filename Value="/usr/share/fpcsrc/2.6.0/rtl/inc/sstrings.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="350"/>
         <CursorPos X="3" Y="352"/>
-        <UsageCount Value="10"/>
+        <UsageCount Value="9"/>
       </Unit104>
       <Unit105>
         <Filename Value="../../../lazarus/fpc/2.6.1/source/packages/fcl-base/src/custapp.pp"/>
@@ -1015,7 +1022,7 @@
         <WindowIndex Value="0"/>
         <TopLine Value="2"/>
         <CursorPos X="63" Y="24"/>
-        <UsageCount Value="10"/>
+        <UsageCount Value="9"/>
       </Unit105>
       <Unit106>
         <Filename Value="procmod.pas"/>
@@ -1027,14 +1034,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="1"/>
         <CursorPos X="1" Y="1"/>
-        <UsageCount Value="49"/>
+        <UsageCount Value="55"/>
       </Unit106>
       <Unit107>
         <Filename Value="../../../lazarus/lcl/interfaces/win32/win32object.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="361"/>
         <CursorPos X="23" Y="375"/>
-        <UsageCount Value="12"/>
+        <UsageCount Value="11"/>
       </Unit107>
       <Unit108>
         <Filename Value="../../../lazarus/fpc/2.6.0/source/packages/fcl-db/src/sqldb/sqldb.pp"/>
@@ -1042,14 +1049,14 @@
         <WindowIndex Value="0"/>
         <TopLine Value="342"/>
         <CursorPos X="14" Y="360"/>
-        <UsageCount Value="12"/>
+        <UsageCount Value="11"/>
       </Unit108>
       <Unit109>
         <Filename Value="../../../lazarus/fpc/2.6.0/source/rtl/objpas/classes/classesh.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="1510"/>
         <CursorPos X="15" Y="1527"/>
-        <UsageCount Value="12"/>
+        <UsageCount Value="11"/>
       </Unit109>
       <Unit110>
         <Filename Value="queryexecuter.pas"/>
@@ -1057,118 +1064,165 @@
         <WindowIndex Value="0"/>
         <TopLine Value="6"/>
         <CursorPos X="23" Y="23"/>
-        <UsageCount Value="23"/>
+        <UsageCount Value="22"/>
       </Unit110>
       <Unit111>
         <Filename Value="/usr/share/fpcsrc/2.6.0/packages/ibase/src/ibase60.inc"/>
         <WindowIndex Value="0"/>
         <TopLine Value="2388"/>
         <CursorPos X="3" Y="2406"/>
-        <UsageCount Value="12"/>
+        <UsageCount Value="11"/>
       </Unit111>
       <Unit112>
         <Filename Value="/usr/share/fpcsrc/2.6.0/rtl/unix/dynlibs.inc"/>
-        <EditorIndex Value="1"/>
         <WindowIndex Value="0"/>
         <TopLine Value="15"/>
         <CursorPos X="1" Y="28"/>
-        <UsageCount Value="12"/>
-        <Loaded Value="True"/>
+        <UsageCount Value="11"/>
       </Unit112>
+      <Unit113>
+        <Filename Value="/usr/share/fpcsrc/2.6.2/rtl/objpas/classes/classesh.inc"/>
+        <WindowIndex Value="0"/>
+        <TopLine Value="689"/>
+        <CursorPos X="14" Y="706"/>
+        <UsageCount Value="10"/>
+      </Unit113>
+      <Unit114>
+        <Filename Value="/usr/share/fpcsrc/2.6.2/rtl/objpas/sysutils/datih.inc"/>
+        <WindowIndex Value="0"/>
+        <TopLine Value="124"/>
+        <CursorPos X="11" Y="143"/>
+        <UsageCount Value="10"/>
+      </Unit114>
+      <Unit115>
+        <Filename Value="/usr/share/fpcsrc/2.6.2/rtl/objpas/sysutils/dati.inc"/>
+        <WindowIndex Value="0"/>
+        <TopLine Value="1026"/>
+        <CursorPos X="1" Y="1107"/>
+        <UsageCount Value="10"/>
+      </Unit115>
     </Units>
-    <JumpHistory Count="23" HistoryIndex="22">
+    <JumpHistory Count="30" HistoryIndex="29">
       <Position1>
-        <Filename Value="main.pas"/>
-        <Caret Line="436" Column="24" TopLine="408"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="324" Column="79" TopLine="305"/>
       </Position1>
       <Position2>
-        <Filename Value="main.pas"/>
-        <Caret Line="3504" Column="3" TopLine="3502"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="300" Column="50" TopLine="286"/>
       </Position2>
       <Position3>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1080" Column="61" TopLine="1074"/>
+        <Caret Line="328" Column="29" TopLine="304"/>
       </Position3>
       <Position4>
-        <Filename Value="TurboBird.lpr"/>
-        <Caret Line="27" Column="1" TopLine="10"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="355" Column="37" TopLine="323"/>
       </Position4>
       <Position5>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1083" Column="52" TopLine="1072"/>
+        <Caret Line="172" Column="50" TopLine="159"/>
       </Position5>
       <Position6>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="419" Column="3" TopLine="417"/>
+        <Caret Line="363" Column="44" TopLine="343"/>
       </Position6>
       <Position7>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="788" Column="22" TopLine="762"/>
+        <Caret Line="337" Column="30" TopLine="313"/>
       </Position7>
       <Position8>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="830" Column="38" TopLine="786"/>
+        <Caret Line="424" Column="24" TopLine="407"/>
       </Position8>
       <Position9>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="823" Column="58" TopLine="635"/>
+        <Caret Line="330" Column="18" TopLine="249"/>
       </Position9>
       <Position10>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1087" Column="11" TopLine="1058"/>
+        <Caret Line="372" Column="3" TopLine="366"/>
       </Position10>
       <Position11>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="419" Column="3" TopLine="416"/>
+        <Caret Line="386" Column="100" TopLine="366"/>
       </Position11>
       <Position12>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1438" Column="3" TopLine="1435"/>
+        <Caret Line="862" Column="31" TopLine="837"/>
       </Position12>
       <Position13>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="628" Column="3" TopLine="621"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
       </Position13>
       <Position14>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1086" Column="1" TopLine="1068"/>
+        <Caret Line="165" Column="31" TopLine="134"/>
       </Position14>
       <Position15>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="419" Column="3" TopLine="416"/>
+        <Caret Line="168" Column="49" TopLine="138"/>
       </Position15>
       <Position16>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1438" Column="3" TopLine="1435"/>
+        <Caret Line="209" Column="60" TopLine="177"/>
       </Position16>
       <Position17>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="1438" Column="3" TopLine="1435"/>
+        <Caret Line="226" Column="40" TopLine="192"/>
       </Position17>
       <Position18>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="649" Column="15" TopLine="633"/>
+        <Caret Line="230" Column="45" TopLine="198"/>
       </Position18>
       <Position19>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="648" Column="1" TopLine="633"/>
+        <Caret Line="231" Column="30" TopLine="199"/>
       </Position19>
       <Position20>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="629" Column="9" TopLine="584"/>
+        <Caret Line="251" Column="37" TopLine="213"/>
       </Position20>
       <Position21>
         <Filename Value="querywindow.pas"/>
-        <Caret Line="147" Column="10" TopLine="138"/>
+        <Caret Line="261" Column="11" TopLine="229"/>
       </Position21>
       <Position22>
-        <Filename Value="TurboBird.lpr"/>
-        <Caret Line="29" Column="28" TopLine="10"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="270" Column="54" TopLine="233"/>
       </Position22>
       <Position23>
-        <Filename Value="main.pas"/>
-        <Caret Line="3504" Column="3" TopLine="3479"/>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="290" Column="51" TopLine="256"/>
       </Position23>
+      <Position24>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="346" Column="31" TopLine="315"/>
+      </Position24>
+      <Position25>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="419" Column="100" TopLine="387"/>
+      </Position25>
+      <Position26>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="433" Column="41" TopLine="406"/>
+      </Position26>
+      <Position27>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="385" Column="32" TopLine="366"/>
+      </Position27>
+      <Position28>
+        <Filename Value="querywindow.pas"/>
+        <Caret Line="1" Column="1" TopLine="1"/>
+      </Position28>
+      <Position29>
+        <Filename Value="sqlhistory.pas"/>
+        <Caret Line="89" Column="20" TopLine="56"/>
+      </Position29>
+      <Position30>
+        <Filename Value="sqlhistory.pas"/>
+        <Caret Line="70" Column="51" TopLine="51"/>
+      </Position30>
     </JumpHistory>
   </ProjectOptions>
   <CompilerOptions>

+ 3 - 3
TurboBird.lpr

@@ -2,7 +2,7 @@
 {  TurboBird: FireBird database administration and management tool          }
 {  Developed by: Motaz Abdel Azeem http://code.sd/                          }
 {  Start development :  5.Dec.2009                                          }
-{  Last updated      : 17.Mar.2013                                          }
+{  Last updated      : 12.Apr.2013                                          }
 {  License           : GPL for GUI, LGPL for Units                          }
 {***************************************************************************}
 
@@ -25,8 +25,8 @@ uses
   sysutils, Comparison;
 
 const
-  Version = '0.9.9';
-  VersionDate = '2010 - March 2013';
+  Version = '0.9.10';
+  VersionDate = '2010 - Apr 2013';
 {$IFDEF Unix}
 {$DEFINE extdecl:=cdecl}
     fbclib = 'libfbclient.' + sharedsuffix;

BIN
TurboBird.res


+ 3 - 1
querywindow.lfm

@@ -13,7 +13,7 @@ object fmQueryWindow: TfmQueryWindow
   OnShow = FormShow
   PopupMenu = pmTab
   Position = poScreenCenter
-  LCLVersion = '1.0.6.0'
+  LCLVersion = '1.0.8.0'
   object Panel1: TPanel
     Left = 0
     Height = 60
@@ -781,6 +781,8 @@ object fmQueryWindow: TfmQueryWindow
       object TSynGutterSeparator
         Width = 2
         MouseActions = <>
+        MarkupInfo.Background = clWhite
+        MarkupInfo.Foreground = clGray
       end
       object TSynGutterCodeFolding
         MouseActions = <        

+ 138 - 137
querywindow.lrs

@@ -6,7 +6,7 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'fmQueryWindow'#12'ClientHeight'#3'Y'#2#11'ClientWidth'#3#208#2#5'Color'#7#6
   +'clForm'#4'Menu'#7#9'MainMenu1'#7'OnClose'#7#9'FormClose'#6'OnShow'#7#8'Form'
   +'Show'#9'PopupMenu'#7#5'pmTab'#8'Position'#7#14'poScreenCenter'#10'LCLVersio'
-  +'n'#6#7'1.0.6.0'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'<'#3'Top'#2#0
+  +'n'#6#7'1.0.8.0'#0#6'TPanel'#6'Panel1'#4'Left'#2#0#6'Height'#2'<'#3'Top'#2#0
   +#5'Width'#3#208#2#5'Align'#7#5'alTop'#12'ClientHeight'#2'<'#11'ClientWidth'#3
   +#208#2#5'Color'#7#6'clForm'#11'ParentColor'#8#8'TabOrder'#2#1#0#7'TBitBtn'#7
   +'bbClose'#4'Left'#3#180#2#6'Height'#2#24#3'Top'#2#253#5'Width'#2#27#7'Anchor'
@@ -174,68 +174,69 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'sMultiplesOf'#2#1#9'ZeroStart'#8#12'LeadingZeros'#8#0#0#17'TSynGutterChange'
   +'s'#0#5'Width'#2#4#12'MouseActions'#14#0#13'ModifiedColor'#4#252#233#0#0#10
   +'SavedColor'#7#7'clGreen'#0#0#19'TSynGutterSeparator'#0#5'Width'#2#2#12'Mous'
-  +'eActions'#14#0#0#0#21'TSynGutterCodeFolding'#0#12'MouseActions'#14#1#6'Butt'
-  +'on'#7#7'mbRight'#7'Command'#7#22'emcCodeFoldContextMenu'#0#1#9'ShiftMask'#11
-  +#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7
-  +#6'cdDown'#7'Command'#7#18'emcCodeFoldCollaps'#0#1#5'Shift'#11#7'ssShift'#0#9
-  +'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'
-  +#8'ClickDir'#7#6'cdDown'#7'Command'#7#18'emcCodeFoldCollaps'#6'Option'#2#1#0
-  +#1#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#7#7'emcNone'
-  +#0#0#21'MarkupInfo.Background'#7#6'clNone'#21'MarkupInfo.Foreground'#7#6'clG'
-  +'ray'#20'MouseActionsExpanded'#14#1#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6
-  +'cdDown'#7'Command'#7#18'emcCodeFoldCollaps'#0#0#21'MouseActionsCollapsed'#14
-  +#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#6'ssCtrl'#0#10'ClickCount'#7#5'cc'
-  +'Any'#8'ClickDir'#7#6'cdDown'#7'Command'#7#17'emcCodeFoldExpand'#0#1#9'Shift'
-  +'Mask'#11#6'ssCtrl'#0#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Co'
-  +'mmand'#7#17'emcCodeFoldExpand'#6'Option'#2#1#0#0#0#0#0#0#11'TOpenDialog'#11
-  +'OpenDialog1'#5'Width'#3#139#3#6'Height'#3#128#2#10'DefaultExt'#6#4'.sql'#6
-  +'Filter'#6#29'SQL Files|*.sql|All Files|*.*'#4'left'#3#222#0#3'top'#3#134#0#0
-  +#0#11'TSaveDialog'#11'SaveDialog1'#7'Options'#11#17'ofOverwritePrompt'#14'of'
-  +'EnableSizing'#12'ofViewDetail'#0#4'left'#3#222#0#3'top'#3#208#0#0#0#10'TSyn'
-  +'SQLSyn'#10'SynSQLSyn1'#13'DefaultFilter'#6#23'SQL Files (*.sql)|*.sql'#7'En'
-  ,'abled'#8#23'CommentAttri.Foreground'#7#6'clTeal'#23'CommentAttri.FrameEdges'
-  +#7#9'sfeAround'#24'DataTypeAttri.FrameEdges'#7#9'sfeAround'#30'DefaultPackag'
-  +'eAttri.FrameEdges'#7#9'sfeAround'#25'ExceptionAttri.FrameEdges'#7#9'sfeArou'
-  +'nd'#24'FunctionAttri.FrameEdges'#7#9'sfeAround'#26'IdentifierAttri.Foregrou'
-  +'nd'#4'1'#26#255#0#26'IdentifierAttri.FrameEdges'#7#9'sfeAround'#19'KeyAttri'
-  +'.FrameEdges'#7#9'sfeAround'#22'NumberAttri.Foreground'#4'644'#0#22'NumberAt'
-  +'tri.FrameEdges'#7#9'sfeAround'#21'PLSQLAttri.FrameEdges'#7#9'sfeAround'#21
-  +'SpaceAttri.FrameEdges'#7#9'sfeAround'#23'SQLPlusAttri.FrameEdges'#7#9'sfeAr'
-  +'ound'#22'StringAttri.Foreground'#4#161#16#16#0#22'StringAttri.FrameEdges'#7
-  +#9'sfeAround'#22'SymbolAttri.Foreground'#4'b'#8#8#0#22'SymbolAttri.FrameEdge'
-  +'s'#7#9'sfeAround'#25'TableNameAttri.Foreground'#7#6'clNavy'#25'TableNameAtt'
-  +'ri.FrameEdges'#7#9'sfeAround'#20'TableNameAttri.Style'#11#6'fsBold'#0#24'Va'
-  +'riableAttri.FrameEdges'#7#9'sfeAround'#10'SQLDialect'#7#9'sqlSybase'#4'left'
-  +#3#176#1#3'top'#2#8#0#0#10'TPopupMenu'#6'pmMemo'#4'left'#2'i'#3'top'#3#173#0
-  +#0#9'TMenuItem'#6'lmUndo'#7'Caption'#6#4'Undo'#7'OnClick'#7#11'lmUndoClick'#0
-  +#0#9'TMenuItem'#6'lmRedo'#7'Caption'#6#4'Redo'#7'OnClick'#7#11'lmRedoClick'#0
-  +#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6'lmCopy'#7
-  +'Caption'#6#4'Copy'#8'ShortCut'#3'C@'#7'OnClick'#7#11'lmCopyClick'#0#0#9'TMe'
-  +'nuItem'#5'lmCut'#7'Caption'#6#3'Cut'#8'ShortCut'#3'X@'#7'OnClick'#7#10'lmCu'
-  +'tClick'#0#0#9'TMenuItem'#7'lmPaste'#7'Caption'#6#5'Paste'#8'ShortCut'#3'V@'
-  +#7'OnClick'#7#12'lmPasteClick'#0#0#9'TMenuItem'#11'lmSelectAll'#7'Caption'#6
-  +#10'Select All'#8'ShortCut'#3'A@'#7'OnClick'#7#16'lmSelectAllClick'#0#0#9'TM'
-  +'enuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6'lmFind'#7'Captio'
-  +'n'#6#4'Find'#7'OnClick'#7#11'lmFindClick'#0#0#9'TMenuItem'#11'lmFindAgain'#7
-  +'Caption'#6#10'Find Again'#7'OnClick'#7#16'lmFindAgainClick'#0#0#0#11'TFindD'
-  +'ialog'#11'FindDialog1'#6'OnFind'#7#15'FindDialog1Find'#4'left'#3#29#1#3'top'
-  +#2'M'#0#0#10'TPopupMenu'#5'pmTab'#4'left'#3#154#1#3'top'#3#238#0#0#9'TMenuIt'
-  +'em'#8'lmExport'#7'Caption'#6#16'Export Result as'#0#9'TMenuItem'#16'lmComma'
-  +'Delemited'#7'Caption'#6#15'Comma Delemited'#7'OnClick'#7#21'lmCommaDelemite'
-  +'dClick'#0#0#9'TMenuItem'#6'lmHTML'#7'Caption'#6#10'HTML Table'#7'OnClick'#7
-  +#11'lmHTMLClick'#0#0#0#9'TMenuItem'#9'MenuItem5'#7'Caption'#6#1'-'#0#0#9'TMe'
-  +'nuItem'#5'lmRun'#7'Caption'#6#16'Run Query (Auto)'#8'ShortCut'#2't'#7'OnCli'
-  +'ck'#7#10'lmRunClick'#0#0#9'TMenuItem'#11'lmRunSelect'#7'Caption'#6#21'Run Q'
-  +'uery (As Select)'#7'OnClick'#7#16'lmRunSelectClick'#0#0#9'TMenuItem'#9'lmRu'
-  +'nExec'#7'Caption'#6#22'Run Query (As Execute)'#7'OnClick'#7#14'lmRunExecCli'
-  +'ck'#0#0#9'TMenuItem'#11'lmRunScript'#7'Caption'#6#21'Run Query (As Script)'
-  +#7'OnClick'#7#16'lmRunScriptClick'#0#0#9'TMenuItem'#10'MenuItem10'#7'Caption'
-  +#6#1'-'#0#0#9'TMenuItem'#10'lmCloseTab'#7'Caption'#6#9'Close Tab'#7'OnClick'
-  +#7#15'lmCloseTabClick'#0#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#2'{'#3'top'#2
-  +'L'#0#9'TMenuItem'#9'MenuItem3'#7'Caption'#6#3'Run'#8'ShortCut'#2't'#7'Visib'
-  +'le'#8#7'OnClick'#7#10'bbRunClick'#0#0#0#10'TImageList'#6'imTabs'#4'left'#3
-  +#212#0#3'top'#3#244#1#6'Bitmap'#10#14#28#0#0'Li'#7#0#0#0#16#0#0#0#16#0#0#0
-  +#240#247#255#255#253#255#255#0#255#255#242#255#255#255#242#255#255#255#249
+  +'eActions'#14#0#21'MarkupInfo.Background'#7#7'clWhite'#21'MarkupInfo.Foregro'
+  +'und'#7#6'clGray'#0#0#21'TSynGutterCodeFolding'#0#12'MouseActions'#14#1#6'Bu'
+  +'tton'#7#7'mbRight'#7'Command'#7#22'emcCodeFoldContextMenu'#0#1#9'ShiftMask'
+  +#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5'ccAny'#8'ClickDi'
+  +'r'#7#6'cdDown'#7'Command'#7#18'emcCodeFoldCollaps'#0#1#5'Shift'#11#7'ssShif'
+  +'t'#0#9'ShiftMask'#11#7'ssShift'#0#6'Button'#7#8'mbMiddle'#10'ClickCount'#7#5
+  +'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#7#18'emcCodeFoldCollaps'#6'Option'
+  +#2#1#0#1#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#7#7'em'
+  +'cNone'#0#0#21'MarkupInfo.Background'#7#6'clNone'#21'MarkupInfo.Foreground'#7
+  +#6'clGray'#20'MouseActionsExpanded'#14#1#10'ClickCount'#7#5'ccAny'#8'ClickDi'
+  +'r'#7#6'cdDown'#7'Command'#7#18'emcCodeFoldCollaps'#0#0#21'MouseActionsColla'
+  +'psed'#14#1#5'Shift'#11#6'ssCtrl'#0#9'ShiftMask'#11#6'ssCtrl'#0#10'ClickCoun'
+  +'t'#7#5'ccAny'#8'ClickDir'#7#6'cdDown'#7'Command'#7#17'emcCodeFoldExpand'#0#1
+  +#9'ShiftMask'#11#6'ssCtrl'#0#10'ClickCount'#7#5'ccAny'#8'ClickDir'#7#6'cdDow'
+  +'n'#7'Command'#7#17'emcCodeFoldExpand'#6'Option'#2#1#0#0#0#0#0#0#11'TOpenDia'
+  +'log'#11'OpenDialog1'#5'Width'#3#139#3#6'Height'#3#128#2#10'DefaultExt'#6#4
+  +'.sql'#6'Filter'#6#29'SQL Files|*.sql|All Files|*.*'#4'left'#3#222#0#3'top'#3
+  +#134#0#0#0#11'TSaveDialog'#11'SaveDialog1'#7'Options'#11#17'ofOverwritePromp'
+  +'t'#14'ofEnableSizing'#12'ofViewDetail'#0#4'left'#3#222#0#3'top'#3#208#0#0#0
+  ,#10'TSynSQLSyn'#10'SynSQLSyn1'#13'DefaultFilter'#6#23'SQL Files (*.sql)|*.sq'
+  +'l'#7'Enabled'#8#23'CommentAttri.Foreground'#7#6'clTeal'#23'CommentAttri.Fra'
+  +'meEdges'#7#9'sfeAround'#24'DataTypeAttri.FrameEdges'#7#9'sfeAround'#30'Defa'
+  +'ultPackageAttri.FrameEdges'#7#9'sfeAround'#25'ExceptionAttri.FrameEdges'#7#9
+  +'sfeAround'#24'FunctionAttri.FrameEdges'#7#9'sfeAround'#26'IdentifierAttri.F'
+  +'oreground'#4'1'#26#255#0#26'IdentifierAttri.FrameEdges'#7#9'sfeAround'#19'K'
+  +'eyAttri.FrameEdges'#7#9'sfeAround'#22'NumberAttri.Foreground'#4'644'#0#22'N'
+  +'umberAttri.FrameEdges'#7#9'sfeAround'#21'PLSQLAttri.FrameEdges'#7#9'sfeArou'
+  +'nd'#21'SpaceAttri.FrameEdges'#7#9'sfeAround'#23'SQLPlusAttri.FrameEdges'#7#9
+  +'sfeAround'#22'StringAttri.Foreground'#4#161#16#16#0#22'StringAttri.FrameEdg'
+  +'es'#7#9'sfeAround'#22'SymbolAttri.Foreground'#4'b'#8#8#0#22'SymbolAttri.Fra'
+  +'meEdges'#7#9'sfeAround'#25'TableNameAttri.Foreground'#7#6'clNavy'#25'TableN'
+  +'ameAttri.FrameEdges'#7#9'sfeAround'#20'TableNameAttri.Style'#11#6'fsBold'#0
+  +#24'VariableAttri.FrameEdges'#7#9'sfeAround'#10'SQLDialect'#7#9'sqlSybase'#4
+  +'left'#3#176#1#3'top'#2#8#0#0#10'TPopupMenu'#6'pmMemo'#4'left'#2'i'#3'top'#3
+  +#173#0#0#9'TMenuItem'#6'lmUndo'#7'Caption'#6#4'Undo'#7'OnClick'#7#11'lmUndoC'
+  +'lick'#0#0#9'TMenuItem'#6'lmRedo'#7'Caption'#6#4'Redo'#7'OnClick'#7#11'lmRed'
+  +'oClick'#0#0#9'TMenuItem'#9'MenuItem1'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6
+  +'lmCopy'#7'Caption'#6#4'Copy'#8'ShortCut'#3'C@'#7'OnClick'#7#11'lmCopyClick'
+  +#0#0#9'TMenuItem'#5'lmCut'#7'Caption'#6#3'Cut'#8'ShortCut'#3'X@'#7'OnClick'#7
+  +#10'lmCutClick'#0#0#9'TMenuItem'#7'lmPaste'#7'Caption'#6#5'Paste'#8'ShortCut'
+  +#3'V@'#7'OnClick'#7#12'lmPasteClick'#0#0#9'TMenuItem'#11'lmSelectAll'#7'Capt'
+  +'ion'#6#10'Select All'#8'ShortCut'#3'A@'#7'OnClick'#7#16'lmSelectAllClick'#0
+  +#0#9'TMenuItem'#9'MenuItem2'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#6'lmFind'#7
+  +'Caption'#6#4'Find'#7'OnClick'#7#11'lmFindClick'#0#0#9'TMenuItem'#11'lmFindA'
+  +'gain'#7'Caption'#6#10'Find Again'#7'OnClick'#7#16'lmFindAgainClick'#0#0#0#11
+  +'TFindDialog'#11'FindDialog1'#6'OnFind'#7#15'FindDialog1Find'#4'left'#3#29#1
+  +#3'top'#2'M'#0#0#10'TPopupMenu'#5'pmTab'#4'left'#3#154#1#3'top'#3#238#0#0#9
+  +'TMenuItem'#8'lmExport'#7'Caption'#6#16'Export Result as'#0#9'TMenuItem'#16
+  +'lmCommaDelemited'#7'Caption'#6#15'Comma Delemited'#7'OnClick'#7#21'lmCommaD'
+  +'elemitedClick'#0#0#9'TMenuItem'#6'lmHTML'#7'Caption'#6#10'HTML Table'#7'OnC'
+  +'lick'#7#11'lmHTMLClick'#0#0#0#9'TMenuItem'#9'MenuItem5'#7'Caption'#6#1'-'#0
+  +#0#9'TMenuItem'#5'lmRun'#7'Caption'#6#16'Run Query (Auto)'#8'ShortCut'#2't'#7
+  +'OnClick'#7#10'lmRunClick'#0#0#9'TMenuItem'#11'lmRunSelect'#7'Caption'#6#21
+  +'Run Query (As Select)'#7'OnClick'#7#16'lmRunSelectClick'#0#0#9'TMenuItem'#9
+  +'lmRunExec'#7'Caption'#6#22'Run Query (As Execute)'#7'OnClick'#7#14'lmRunExe'
+  +'cClick'#0#0#9'TMenuItem'#11'lmRunScript'#7'Caption'#6#21'Run Query (As Scri'
+  +'pt)'#7'OnClick'#7#16'lmRunScriptClick'#0#0#9'TMenuItem'#10'MenuItem10'#7'Ca'
+  +'ption'#6#1'-'#0#0#9'TMenuItem'#10'lmCloseTab'#7'Caption'#6#9'Close Tab'#7'O'
+  +'nClick'#7#15'lmCloseTabClick'#0#0#0#9'TMainMenu'#9'MainMenu1'#4'left'#2'{'#3
+  +'top'#2'L'#0#9'TMenuItem'#9'MenuItem3'#7'Caption'#6#3'Run'#8'ShortCut'#2't'#7
+  +'Visible'#8#7'OnClick'#7#10'bbRunClick'#0#0#0#10'TImageList'#6'imTabs'#4'lef'
+  +'t'#3#212#0#3'top'#3#244#1#6'Bitmap'#10#14#28#0#0'Li'#7#0#0#0#16#0#0#0#16#0#0
+  +#0#240#247#255#255#253#255#255#0#255#255#242#255#255#255#242#255#255#255#249
   +#255#251#244#241#255#255#255#252#255#255#255#252#255#255#255#252#255#255#255
   +#252#255#255#255#252#255#255#251#244#255#255#255#242#255#255#255#245#255#251
   +#253#254#255#246#253#255#255#248#254#255#255#250#250#250#255#255#248#234#255
@@ -256,8 +257,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#255#234#255'~iS'#255#255#255#248#255#254#252#251#255#255#255#254#255#255
   +#255#248#255'{fP'#255#255#255#234#255#168#149#128#255#173#155#138#255#164#144
   +#127#255#255#255#240#255#167#147#129#255#169#152#133#255#255#255#241#255#171
-  +#152#131#255#255#255#233#255#131'nX'#255#255#248#239#255#255#255#254#255#255
-  ,#255#255#255#255#249#242#255#130'oZ'#255#255#255#234#255#255#254#236#255#255
+  ,#152#131#255#255#255#233#255#131'nX'#255#255#248#239#255#255#255#254#255#255
+  +#255#255#255#255#249#242#255#130'oZ'#255#255#255#234#255#255#254#236#255#255
   +#255#241#255#255#255#241#255#255#255#237#255#255#255#240#255#255#255#241#255
   +#255#255#240#255#255#255#238#255#255#255#234#255#129'nY'#255#255#255#249#255
   +#249#249#249#255#253#255#255#0#252#248#243#255#132's`'#255#255#255#235#255
@@ -320,8 +321,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#253#254#255#255#253#254#255#255#255#255#254#255#250#252#246#255#254#255
   +#251#255#255#255#254#255#253#254#255#255#253#254#255#255#247#252#251#255#251
   +#255#251#255#251#255#244#255'o|d'#255'r'#127'g'#255'R\K'#255#248#255#248#255
-  +#251#255#255#255#236#237#241#255#253#254#255#255#250#251#249#255#255#255#252
-  ,#0#255#255#252#0#238#239#237#255#253#254#255#255#245#246#250#255#251#255#255
+  ,#251#255#255#255#236#237#241#255#253#254#255#255#250#251#249#255#255#255#252
+  +#0#255#255#252#0#238#239#237#255#253#254#255#255#245#246#250#255#251#255#255
   +#255#251#255#249#255#242#253#233#255'w'#132'l'#255'o|d'#255'alX'#255#251#255
   +#249#255#251#255#255#255#253#254#255#255#251#252#255#255#252#253#251#255#252
   +#253#249#255#250#251#247#255#255#255#254#255#253#254#255#255#249#250#254#255
@@ -384,8 +385,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#250#248#255#253#255#255#255#249#251#251#255#250#254#255#255#251#255#255#255
   +#255#251#255#255#255#244#250#255#250#254#255#255#246#255#255#255#250#255#248
   +#255#251#255#249#255#253#252#255#255#248#247#255#255#251#250#255#255#244#246
-  +#254#255#255#255#251#255#244#252#242#255#246#255#255#255#250#254#255#255#250
-  ,#238#244#255#255#251#255#255#255#245#245#255#255#249#255#255#236#234#255#255
+  ,#254#255#255#255#251#255#244#252#242#255#246#255#255#255#250#254#255#255#250
+  +#238#244#255#255#251#255#255#255#245#245#255#255#249#255#255#236#234#255#255
   +#241#241#255#255#245#245#255#255#250#246#255#255#248#243#255#255#243#239#255
   +#255#248#241#255#255#248#243#255#255#243#239#255#255#246#246#255#255#235#235
   +#255#255#243#241#255#255#255#249#255#255#255#245#245#255#253#255#249#255#237
@@ -448,8 +449,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#214#177#255#152#191#159#255#166#195#172#255#0#22#7#255#243#255#248#255#250
   +#255#254#255#255#253#255#255#252#246#255#255#255#249#255#255#255#244#254#255
   +#255#254#255#255#11#28#15#255#171#207#171#255#153#204#154#255#164#225#169#255
-  +#134#202#143#255#134#202#143#255#162#225#169#255#153#204#154#255#171#207#171
-  ,#255#11#28#15#255#253#254#255#255#255#244#254#255#255#249#255#255#255#250#255
+  ,#134#202#143#255#134#202#143#255#162#225#169#255#153#204#154#255#171#207#171
+  +#255#11#28#15#255#253#254#255#255#255#244#254#255#255#249#255#255#255#250#255
   +#255#255#250#255#255#21#23#23#255#7#24#11#255#168#203#169#255#153#202#156#255
   +#154#212#158#255#145#210#154#255#147#210#154#255#152#212#158#255#155#202#156
   +#255#168#203#169#255#7#24#11#255#21#23#23#255#255#250#255#255#255#250#255#255
@@ -512,8 +513,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#202#255#176#177#191#255'FFR'#255#251#253#255#255#248#247#255#255#253#253#255
   +#255#246#246#252#255#253#253#255#255#243#245#253#255'EFP'#255#177#177#191#255
   +#170#170#186#255#193#193#211#255#180#181#201#255#180#181#201#255#191#193#211
-  +#255#170#170#186#255#176#177#191#255'EEQ'#255#243#245#253#255#253#253#255#255
-  ,#246#246#252#255#253#254#255#255#244#244#250#255#253#252#255#255'LMW'#255#181
+  ,#255#170#170#186#255#176#177#191#255'EEQ'#255#243#245#253#255#253#253#255#255
+  +#246#246#252#255#253#254#255#255#244#244#250#255#253#252#255#255'LMW'#255#181
   +#181#195#255#185#185#201#255#175#175#193#255#172#172#190#255#172#172#190#255
   +#175#175#193#255#186#185#201#255#181#181#193#255'NMW'#255#253#252#255#255#244
   +#244#250#255#253#254#255#255#243#244#248#255#253#254#255#255#253#253#255#255
@@ -576,8 +577,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+  ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@@ -640,8 +641,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#237#237#255#236#237#236#255#237#236#237#255#237#237#237#255#236#237#237#255
   +#237#237#237#255#237#237#237#255#237#237#237#255#237#237#237#255#234#234#234
   +#255#220#220#220#255#218#218#218#255#221#221#221#255#223#223#223#255#222#222
-  +#222#255#160#160#160#255#171#171#171#9#171#171#171#0#255#255#255#0#255#255
-  ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+  ,#222#255#160#160#160#255#171#171#171#9#171#171#171#0#255#255#255#0#255#255
+  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#160#160#160#255#235#235#235#255#235#235#235#255#235#234#234
   +#255#234#235#234#255#234#234#234#255#235#235#235#255#235#235#235#255#235#235
   +#234#255#235#234#234#255#235#234#234#255#235#234#234#255#235#235#234#255#235
@@ -704,8 +705,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#213#255#211#211#211#255#210#210#210#255#210#210#210#255#210#210#210#255#210
   +#210#210#255#210#210#210#255#210#210#210#255#210#210#210#255#210#210#210#255
   +#210#210#210#255#210#210#210#255#210#210#210#255#210#210#210#255#210#210#210
-  +#255#210#210#210#255#210#210#210#255#210#210#210#255#210#210#210#255#212#212
-  ,#212#255#140#140#141#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  ,#255#210#210#210#255#210#210#210#255#210#210#210#255#210#210#210#255#212#212
+  +#212#255#140#140#141#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#138#138#139#255#211#211#211#255#209#209#209#255#209#209#209
   +#255#209#209#209#255#209#209#209#255#209#209#209#255#209#209#209#255#209#209
@@ -768,8 +769,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+  ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@@ -832,8 +833,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#235#237#255#236#234#237#255#235#230#235#255#233#228#233#255#232#231#234#255
   +#231#234#237#255#230#234#236#255#230#234#236#255#230#234#236#255#231#234#235
   +#255#232#235#235#255#234#235#236#255#235#235#236#255#239#238#239#255#236#235
-  +#235#255#170#170#170#255#163#163#163'6'#163#163#163#0#163#163#163#0#163#163
-  ,#163#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#161#161#161#0
+  ,#235#255#170#170#170#255#163#163#163'6'#163#163#163#0#163#163#163#0#163#163
+  +#163#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#161#161#161#0
   +#161#161#161#159#203#202#203#255#237#236#237#255#235#234#235#255#234#234#235
   +#255#233#234#235#255#232#234#235#255#232#233#235#255#233#233#237#255#234#230
   +#235#255#231#228#233#255#229#229#234#255#228#232#236#255#227#232#235#255#227
@@ -896,8 +897,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'x'#174#173#174#255#212#207#210#255#206#202#205#255#204#201#205#255#201#201
   +#205#255#197#200#205#255#194#200#204#255#194#202#208#255#199#210#216#255#177
   +#188#193#255#163#163#163#255#237#237#237#255#201#201#201#255'r'#202#250#255
-  +'{'#205#250#255'y'#205#250#255'v'#203#250#255'u'#203#250#255's'#203#250#255
-  ,'r'#202#249#255'q'#201#249#255'j'#199#249#255'M'#188#248#255#201#201#201#255
+  ,'{'#205#250#255'y'#205#250#255'v'#203#250#255'u'#203#250#255's'#203#250#255
+  +'r'#202#249#255'q'#201#249#255'j'#199#249#255'M'#188#248#255#201#201#201#255
   +#237#237#237#255#163#163#163#255'222'#18#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#139#139#140#27#147#146#147#255#211#207#209#255#208#203
   +#206#255#203#200#203#255#200#199#203#255#197#199#203#255#194#198#202#255#192
@@ -960,8 +961,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#128#128#128#2#128#128#128#2#128#128#128#2'UUU'#3'@@@'#4'VVV'#7'III'#11'<<<'
   +#19':::'#24'999'#26';;;'#25'>>>'#24'666'#23'888'#22'888'#22'888'#22'000'#21
   +'000'#21'222'#20'222'#18'222'#13'222'#6'222'#2#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
-  ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  ,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@@ -1024,8 +1025,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#163#163#163#156#171#171#171#1#171#171#171#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#164#164#164#255#239#239#239#255#238#238#238#255#238#238#238#255
-  +#172#172#172#255'}}~'#255'}}~'#255'}}~'#255#172#172#172#255#238#238#239#255
-  ,#238#238#238#255#238#238#238#255#239#238#238#255#172#172#172#255'}}~'#255'zz'
+  ,#172#172#172#255'}}~'#255'}}~'#255'}}~'#255#172#172#172#255#238#238#239#255
+  +#238#238#238#255#238#238#238#255#239#238#238#255#172#172#172#255'}}~'#255'zz'
   +'{'#255#134#134#135#255#168#168#169#255#180#180#180#255#183#183#183#255#183
   +#183#183#255#157#157#157#255#171#171#171#7#171#171#171#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@@ -1088,8 +1089,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'HI'#255'sst'#255#151#151#151#255']]]'#255#171#171#171#255#171#171#171#255
   +#171#171#171#255#171#171#171#255#171#171#171#255#171#171#171#255']]]'#255#151
   +#151#151#255'sst'#255'HHI'#255#210#210#210#255#210#210#210#255#212#212#212
-  +#255#142#142#143#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  ,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+  ,#255#142#142#143#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#140#140#141#255#213#213#213#255#211#211#211#255#210#210#210#255'C'
   +'CC'#255'rrr'#255'\\\'#255'eef'#255'QQR'#255'LLM'#255'LLM'#255'LLM'#255'LLM'
   +#255'QQR'#255'eef'#255'\\\'#255'rrr'#255'CCC'#255#210#210#210#255#210#210#210
@@ -1152,8 +1153,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
-  ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  ,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@@ -1216,8 +1217,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#140'g'#174'&SED222'#27'222'#9'222'#1'g'#233#216#0'g'#233#216#0'222'#0'222'#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  +#255#0#255#255#255#0'222-'#6#168'v'#255'U'#222#198#255'R'#221#196#255'R'#221
-  ,#196#255'R'#221#196#255'R'#221#196#255'U'#221#198#255'd'#225#203#255'z'#230
+  ,#255#0#255#255#255#0'222-'#6#168'v'#255'U'#222#198#255'R'#221#196#255'R'#221
+  +#196#255'R'#221#196#255'R'#221#196#255'U'#221#198#255'd'#225#203#255'z'#230
   +#211#255#131#230#212#255'V'#206#176#255#17#173'~'#255#16#140'f'#184' cNW222'
   +#29'222'#11'222'#2'222'#0'222'#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
@@ -1280,8 +1281,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +'222'#15#24'a=|'#16'o@'#212#26'^<'#133'222%222'#14'222'#4'222'#0'222'#0'222'
-  ,#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0#255
+  ,'222'#15#24'a=|'#16'o@'#212#26'^<'#133'222%222'#14'222'#4'222'#0'222'#0'222'
+  +#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0'222'#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0'222'#4'222'#15'222'#24'222'#15'222'#4'222'#0'222'#0'222'#0'22'
@@ -1344,8 +1345,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#4#182#132#0#4#182#132#0#4#182#132#0#4#182#132#0#4#182#132#0#4#182#132#0#4
   +#182#132'3'#4#182#132#156#21#188#142#255'K'#206#172#255'}'#223#200#255#139
   +#228#208#255#171#238#226#255#171#238#226#255#139#228#208#255'}'#223#200#255
-  +'K'#206#172#255#21#188#142#255#4#182#132#156#4#182#132'3'#4#182#132#0#4#182
-  ,#132#0#4#182#132#0#4#182#132#0#4#182#132#0#4#182#132#0#255#255#255#0#255#255
+  ,'K'#206#172#255#21#188#142#255#4#182#132#156#4#182#132'3'#4#182#132#0#4#182
+  +#132#0#4#182#132#0#4#182#132#0#4#182#132#0#4#182#132#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#4#180#131#0#4
   +#180#131#0'g'#233#216#0'g'#233#216#0'g'#233#216#0#4#180#131#138#20#186#140
   +#255'g'#215#189#255#155#235#222#255#134#232#216#255'q'#229#211#255'c'#227#206
@@ -1408,8 +1409,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#217#191#255'N'#217#191#255'S'#219#192#255'<'#204#171#255#7#155'h'#228#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#8#152'e'#249'@'#209#175#255'O'#217#190#255'L'#217#189#255'M'#217#189
-  +#255't'#222#201#255'k'#194#177#255'k'#194#177#255'k'#194#177#255't'#224#202
-  ,#255'V'#219#193#255'L'#217#189#255'V'#219#193#255't'#222#201#255'Qnh'#255'CC'
+  ,#255't'#222#201#255'k'#194#177#255'k'#194#177#255'k'#194#177#255't'#224#202
+  +#255'V'#219#193#255'L'#217#189#255'V'#219#193#255't'#222#201#255'Qnh'#255'CC'
   +'C'#255'U{s'#255'g'#223#199#255'L'#217#189#255'L'#217#189#255'L'#217#189#255
   +'L'#217#189#255'L'#217#189#255'O'#217#190#255'@'#209#175#255#8#152'e'#249#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@@ -1472,8 +1473,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#153#255'3'#198#159#255'?'#206#171#255'G'#209#176#255#29#148'f'#255#13'yF'
   +#152'III'#7'UUU'#3#0#0#0#1#11'zF'#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#12'xC'#0#128#128#128#2'mmm'#7'UUU'
-  +#18'UUU!'#23'sF'#157#16'~K'#255'4'#177#138#255'J'#212#181#255'C'#208#175#255
-  ,':'#202#165#255'3'#198#158#255'0'#196#155#255'0'#196#155#255'3'#198#158#255
+  ,#18'UUU!'#23'sF'#157#16'~K'#255'4'#177#138#255'J'#212#181#255'C'#208#175#255
+  +':'#202#165#255'3'#198#158#255'0'#196#155#255'0'#196#155#255'3'#198#158#255
   +':'#202#165#255'C'#208#175#255'J'#212#181#255'4'#177#138#255#16'~K'#255#24't'
   +'F'#159'WWW&UUU'#24']]]'#11'@@@'#4#0#0#0#1#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#12'vB'#0'UUU'#3']]]'#11
@@ -1536,8 +1537,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#213#0#11'?'#213#0#11'?'#213#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#11'?'#212#0#11'?'#212#0#11'?'#212#0#11
   +'?'#212#0#11'?'#212#0#11'?'#212#0#11'?'#212'3'#11'?'#212#156#25'K'#215#255'I'
-  +'q'#223#255'u'#148#231#255#129#157#234#255#157#180#239#255#157#180#239#255
-  ,#129#157#234#255'u'#148#231#255'Iq'#223#255#25'K'#215#255#11'?'#212#156#11'?'
+  ,'q'#223#255'u'#148#231#255#129#157#234#255#157#180#239#255#157#180#239#255
+  +#129#157#234#255'u'#148#231#255'Iq'#223#255#25'K'#215#255#11'?'#212#156#11'?'
   +#212'3'#11'?'#212#0#11'?'#212#0#11'?'#212#0#11'?'#212#0#11'?'#212#0#11'?'#212
   +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#11'>'#211#0#11'>'#211#0#255#255#255#0#255#255#255#0#255#255#255#0
@@ -1600,8 +1601,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'@j'#223#255'@j'#223#255'@j'#223#255'Bl'#223#255#31'R'#217#255#9'9'#194#249
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#9'8'#191#249#31'S'#218#255#30'P'#217#255#29'O'#217#255#29'O'#217
-  +#255#29'O'#217#255'Qw'#226#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255
-  ,'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'Qw'#226#255
+  ,#255#29'O'#217#255'Qw'#226#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255
+  +'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'EEE'#255'Qw'#226#255
   +#29'O'#217#255#29'O'#217#255#29'O'#217#255#30'P'#217#255#31'S'#218#255#9'8'
   +#191#249#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
   +#0#255#255#255#0#9'8'#189#228#30'O'#217#255#29'O'#218#255#27'L'#217#255#27'L'
@@ -1664,8 +1665,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#189#9'6'#178#255#19'E'#195#255#27'U'#213#255#30'Y'#218#255'"`'#226#255'"`'
   +#226#255#30'Y'#218#255#27'U'#213#255#19'E'#195#255#9'6'#178#255#24':'#155#190
   +':JxyXXXQVVV>WWW&UUU'#18'UUU'#6#0#0#0#1#255#255#255#0#255#255#255#0#255#255
-  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#7'2'#172#0#128#128#128#2'mm'
-  ,'m'#7'UUU'#18'UUU!WWW/WWW8YYY<@MqR'#30'='#147#144#16'6'#163#202#13'5'#166#220
+  ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#7'2'#172#0#128#128#128#2'mm'
+  +'m'#7'UUU'#18'UUU!WWW/WWW8YYY<@MqR'#30'='#147#144#16'6'#163#202#13'5'#166#220
   +#9'3'#170#245#9'3'#170#245#13'5'#166#220#16'6'#163#203#31'='#146#146'BNrSXXX'
   +'=YYY9ZZZ3WWW&UUU'#24']]]'#11'@@@'#4#0#0#0#1#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#7'2'#172#0#0#0#0#1#128
@@ -1728,8 +1729,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#152#255#176#158#142#255#192#167#138#255#229#208#158#255#248#231#185#255#248
   +#230#179#255#221#166'm'#255#201'w;'#150#255#255#255#0#201'w;'#0#201'w;'#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  +#255#0'ddd'#0'ddd'#0#198't:'#139#204#142'V'#255#220#207#175#255#237#237#236
-  ,#255#217#207#198#255#185#160#138#255#173#163#155#255#178#178#178#255#188#188
+  ,#255#0'ddd'#0'ddd'#0#198't:'#139#204#142'V'#255#220#207#175#255#237#237#236
+  +#255#217#207#198#255#185#160#138#255#173#163#155#255#178#178#178#255#188#188
   +#188#255#195#195#195#255#199#199#199#255#199#199#199#255#195#195#195#255#188
   +#188#188#255#178#178#178#255#173#162#153#255#182#147'f'#255#226#200#149#255
   +#248#229#182#255#247#225#173#255#214#149'Z'#255#200'u:'#138#200'u:'#0#200'u:'
@@ -1792,8 +1793,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#167'f'#255#186'c2'#228#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
   +#0#255#255#255#0#255#255#255#0#184'a1'#186#218#159']'#255#231#187'y'#255#196
   +#147'`'#255#215#200#191#255#246#246#246#255#247#247#247#255#247#247#247#255
-  +#247#247#247#255#247#247#247#255#247#247#247#255#247#247#247#255#247#247#247
-  ,#255#247#247#247#255#204#204#238#255#201#201#237#255#247#247#247#255#247#247
+  ,#247#247#247#255#247#247#247#255#247#247#247#255#247#247#247#255#247#247#247
+  +#255#247#247#247#255#204#204#238#255#201#201#237#255#247#247#247#255#247#247
   +#247#255#247#247#247#255#247#247#247#255#246#246#246#255#217#204#196#255#196
   +#171#158#255#207#198#184#255#205#150'X'#255#184'a1'#186#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#183'_0x'#205
@@ -1856,8 +1857,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'fff'#5'MMM'#10'[[['#14'ZZZ'#17'UUU'#18'YYY'#20'UUU'#24'RRR'#28'XXX'#29'UUU'
   +#30'UUU'#30'UUU'#30'XXX'#29'XXX'#26'UUU'#21'QQQ'#19'ZZZ'#17'UUU'#15'UUU'#12
   +'III'#7'UUU'#3#0#0#0#1'ddd'#0#255#255#255#0#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0#172'Q*'#0#172'Q*'#0'ddd'#0#0#0#0#1#0#0
-  ,#0#1#128#128#128#2#128#128#128#2#128#128#128#2'UUU'#3'@@@'#4'fff'#5'fff'#5'U'
+  ,#255#255#0#255#255#255#0#255#255#255#0#172'Q*'#0#172'Q*'#0'ddd'#0#0#0#0#1#0#0
+  +#0#1#128#128#128#2#128#128#128#2#128#128#128#2'UUU'#3'@@@'#4'fff'#5'fff'#5'U'
   +'UU'#6'UUU'#6'UUU'#6'fff'#5#128#128#128#4'UUU'#3#128#128#128#2#128#128#128#2
   +#128#128#128#2#0#0#0#1#0#0#0#1'ddd'#0'ddd'#0'ddd'#0#255#255#255#0#255#255#255
   +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#220#152','#150#220
@@ -1920,8 +1921,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#164#255#174#174#174#255#142#142#142#255#175#175#175#255#175#175#175#255#142
   +#142#142#255#175#175#175#255#251#251#251#255#251#251#251#255#251#251#251#255
   +#251#251#251#255#251#251#251#255#251#251#251#255#251#251#251#255#250#250#250
-  +#255#250#250#250#255#250#250#250#255#250#250#250#255#249#249#249#255#249#249
-  ,#249#255#165#165#166#255'XXX'#19#255#255#255#0#255#255#255#0#255#255#255#0
+  ,#255#250#250#250#255#250#250#250#255#250#250#250#255#249#249#249#255#249#249
+  +#249#255#165#165#166#255'XXX'#19#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0'XXX'#21#164#164#164#255#247#247#247#255#247#247
   +#247#255#173#173#173#255#227#227#227#255#141#141#141#255#141#141#141#255#163
   +#163#163#255#173#173#173#255#152#152#152#255#185#185#185#255#206#206#206#255
@@ -1984,8 +1985,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#151#255#170#170#170#255#225#225#225#255#226#226#226#255#226#226#226#255#227
   +#227#227#255#227#227#227#255#228#228#228#255#228#228#228#255#228#228#228#255
   +#228#228#228#255#228#228#228#255#227#227#227#255#227#227#227#255#226#226#226
-  +#255#226#226#226#255#225#225#225#255#224#224#224#255#224#224#224#255#223#223
-  ,#223#255#231#231#231#255#143#143#144#255'XXX'#21#255#255#255#0#255#255#255#0
+  ,#255#226#226#226#255#225#225#225#255#224#224#224#255#224#224#224#255#223#223
+  +#223#255#231#231#231#255#143#143#144#255'XXX'#21#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0'XXX'#21#141#141#142#255#230#230
   +#230#255#220#220#220#255#141#141#141#255#177#177#177#255#160#160#160#255#142
   +#142#142#255#161#161#161#255#197#197#197#255#161#161#161#255#134#134#134#255
@@ -2048,8 +2049,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#14#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'XX'
   +'X'#7'XXX'#21'XXX+XXX9XXX@XXX@XXX@XXX@XXX@XXX@XXX@XXX@XXX@XXX@XXX@XXX@XXX@XX'
   +'X@XXX@XXX@XXX@XXX@XXX@XXX9XXX+XXX'#21'XXX'#7#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0'XXX'#2'XXX'#7'XXX'#14'XXX'#19'XXX'#21
-  ,'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'
+  ,#255#255#0#255#255#255#0#255#255#255#0'XXX'#2'XXX'#7'XXX'#14'XXX'#19'XXX'#21
+  +'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'
   +#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#21'XXX'#19
   +'XXX'#14'XXX'#7'XXX'#2#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
   +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
@@ -2112,8 +2113,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0'XXX'#0'XXX'#1'XXX'#1'XXX'#3'XXX'#4'XXX'#6'XXX'#6
-  ,'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7
+  ,#255#255#255#0#255#255#255#0'XXX'#0'XXX'#1'XXX'#1'XXX'#3'XXX'#4'XXX'#6'XXX'#6
+  +'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7'XXX'#7
   +'XXX'#7'XXX'#6'XXX'#6'XXX'#4'XXX'#3'XXX'#1'XXX'#1'XXX'#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0'XXX'#1'XX'
   +'X'#3'XXX'#5'XXX'#8'XXX'#13'XXX'#16'XXX'#19'XXX'#20'XXX'#22'XXX'#22'XXX'#22
@@ -2176,8 +2177,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +'XXX'#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  ,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+  ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
@@ -2240,8 +2241,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#128'U+'#6
   +#135'I'#31#198#170'|['#173#171'|['#201#156'fA'#225#160'kD'#239#178#131'b'#253
   +#205#171#144#255#207#173#147#255#204#167#140#255#203#166#138#255#207#173#148
-  +#255#193#153'|'#255#138'M!'#233#133'G'#31#25#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
-  ,#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+  ,#255#193#153'|'#255#138'M!'#233#133'G'#31#25#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
+  +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
   +#0#0#0#0#0#0#0#0#0#0#0#0#0#0#134'J'#31'r'#145'Z2'#215#143'U-'#234#135'L'#31
   +#155#135'I'#31'B'#136'K G'#136'L!'#171#145'X1'#246#199#162#134#255#204#169
   +#141#255#200#161#132#255#198#159#128#255#205#171#144#255#179#135'e'#253#139
@@ -2304,8 +2305,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#210#210#210#255#212#212#212#255#214#214#214#255#222#222#222#255#212#212
   +#212#255#229#229#229#255#127#127#127#255'QQQH'#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0
   +#0'SSS'#179#216#216#216#255#231#231#231#255#220#220#220#255#227#227#227#255
-  +#223#223#223#255#214#214#214#255#213#213#213#255#213#213#213#255#212#212#212
-  ,#255#209#209#209#255#198#191#186#255#142'W/'#255#177#130'^'#255#202#165#137
+  ,#223#223#223#255#214#214#214#255#213#213#213#255#213#213#213#255#212#212#212
+  +#255#209#209#209#255#198#191#186#255#142'W/'#255#177#130'^'#255#202#165#137
   +#255#173'|Y'#255#147'`<'#255#197#195#193#255#202#202#202#255#204#204#204#255
   +#205#205#205#255#208#208#208#255#216#216#216#255#219#219#219#255#210#210#210
   +#255#219#219#219#255#189#189#189#255'TTT'#174#0#0#0#0#0#0#0#0#0#0#0#0'NNN'#26
@@ -2368,8 +2369,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#178#178#178#255'SSS'#255#0#0#0#0#0#0#0#0'SSS'#255#228#228#228#255#186
   +#186#186#255#184#184#184#255#184#184#184#255#181#181#181#255#185#185#185#255
   +#179#179#179#255#176#176#176#255#175#175#175#255#172#172#172#255#173#173#173
-  +#255#170#170#170#255#172#172#172#255#172#172#172#255#170#170#170#255#169#169
-  ,#169#255#151#151#151#255#196#196#196#255#149#149#149#255#195#195#195#255#147
+  ,#255#170#170#170#255#172#172#172#255#172#172#172#255#170#170#170#255#169#169
+  +#169#255#151#151#151#255#196#196#196#255#149#149#149#255#195#195#195#255#147
   +#147#147#255#193#193#193#255#144#144#144#255#191#191#191#255#143#143#143#255
   +#191#191#191#255#160#160#160#255#174#174#174#255'SSS'#253#0#0#0#0#0#0#0#0'RR'
   +'R'#223#197#197#197#255#225#225#225#255#224#224#224#255#222#222#222#255#220
@@ -2432,8 +2433,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0#0#159#199' '#2#163#198#219'l'#210#228#250#175
-  ,#240#248#255'{'#232#245#255'e'#229#244#255'_'#228#243#255#169#240#248#255#5
+  ,#255#255#255#0#255#255#255#0#0#159#199' '#2#163#198#219'l'#210#228#250#175
+  +#240#248#255'{'#232#245#255'e'#229#244#255'_'#228#243#255#169#240#248#255#5
   +#163#197#248#0#159#191#16#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
@@ -2496,8 +2497,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#255#0#255#255#255#0#255#255#255#0#0#255#255#1#0#162#198#135#16#170#203#246
   +'b'#222#239#255'D'#223#241#255#2#212#237#255'n'#230#244#255#4#163#197#248#0
   +#159#191#16#255#255#255#0#255#255#255#0#0#146#182#7#0#160#197#132#7#164#198
-  +#247'J'#218#237#255'-'#219#240#255#0#212#237#255#26#216#238#255'@'#210#231
-  ,#255#0#163#199#183#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+  ,#247'J'#218#237#255'-'#219#240#255#0#212#237#255#26#216#238#255'@'#210#231
+  +#255#0#163#199#183#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#161#197
   +'\'#5#163#200#245'I'#214#234#255'L'#224#242#255'c'#228#243#255#3#163#197#248
@@ -2560,8 +2561,8 @@ LazarusResources.Add('TfmQueryWindow','FORMDATA',[
   +#0#0#0#9#0#0#0#9#0#0#0#9#0#0#0#10#0#0#0#9#0#0#0#9#0#0#0#8#0#0#0#8#0#0#0#7#0#0
   +#0#5#0#0#0#3#0#0#0#1#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
   +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
-  +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  ,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1#0#0#0
+  ,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#1#0#0#0
   +#1#0#0#0#1#0#0#0#2#0#0#0#1#0#0#0#1#0#0#0#1#0#0#0#1#255#255#255#0#255#255#255
   +#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#10'TP'

+ 282 - 4
querywindow.pas

@@ -35,6 +35,7 @@ type
       constructor Create(aType: string);
   end;
 
+
   { TfmQueryWindow }
 
   TfmQueryWindow = class(TForm)
@@ -155,9 +156,21 @@ type
     faText: string;
     fModifyCount: Integer;
     fCnt: Integer;
+    ModifiedRecords: array of array of Integer;
 
+    procedure EnableCommitButton;
     procedure ExecuteQuery;
     function GetNewTabNum: string;
+    procedure FinishCellEditing(DataSet: TDataSet);
+    function GetRecordSet(TabIndex: Integer): TSQLQuery;
+    procedure StartEdit(Sender: TObject; const Field: TField;
+      var Value: string);
+    procedure InsertModifiedRecord(RecordNo, TabIndex: Integer);
+    procedure ApplyClick(Sender: TObject);
+    procedure EnableApplyButton;
+    function GetTableName(SQLText: string): string;
+    function GetCurrentSQLText: string;
+    procedure CommitResultClick(Sender: TObject);
   public
     OnCommit: TNotifyEvent;
     procedure Init(dbIndex: Integer);
@@ -191,6 +204,245 @@ uses main, SQLHistory;
 
 { TQueryThread }
 
+procedure TfmQueryWindow.FinishCellEditing(DataSet: TDataSet);
+begin
+  InsertModifiedRecord(Dataset.RecNo, PageControl1.TabIndex);
+end;
+
+procedure TfmQueryWindow.StartEdit(Sender: TObject; const Field: TField;
+  var Value: string);
+begin
+  ShowMessage('Editing started: ' + Value);
+end;
+
+procedure TfmQueryWindow.InsertModifiedRecord(RecordNo, TabIndex: Integer);
+var
+  i: Integer;
+  Exist: Boolean;
+begin
+  Exist:= False;
+  if TabIndex > High(ModifiedRecords) then // Insert new tab
+  begin
+    SetLength(ModifiedRecords, TabIndex + 1);
+  end;
+
+  // check if record already inserted
+  for i:= 0 to High(ModifiedRecords[TabIndex]) do
+  if ModifiedRecords[TabIndex][i] = RecordNo then
+  begin
+    Exist:= True;
+    Break;
+  end;
+
+  if not Exist then  // Insert record pointer
+  begin
+    setLength(ModifiedRecords[TabIndex], Length(ModifiedRecords[TabIndex]) + 1);
+    ModifiedRecords[TabIndex][High(ModifiedRecords[TabIndex])]:= RecordNo;
+  end;
+
+  // Enable apply/save button
+  if Length(ModifiedRecords[TabIndex]) = 1 then
+  begin
+    EnableApplyButton;
+  end;
+
+end;
+
+procedure TfmQueryWindow.ApplyClick(Sender: TObject);
+var
+  i, x: Integer;
+  aTableName: string;
+  aQuery: TSQLQuery;
+  PKName: string;
+  ConstraintName: string;
+  KeyList, FieldsList: TStringList;
+  WhereClause: string;
+  RecordSet: TSQLQuery;
+  TabIndex: Integer;
+  FieldsSQL: string;
+begin
+  try
+    TabIndex:= PageControl1.TabIndex;
+    aTableName:= GetTableName(GetCurrentSQLText);
+    RecordSet:= GetRecordSet(TabIndex);
+
+    // Get primary key name
+    PKName:= fmMain.GetPrimaryKeyIndexName(fdbIndex, ATableName, ConstraintName);
+    if PKName <> '' then
+    begin
+
+      aQuery:= TSQLQuery.Create(nil);
+      aQuery.DataBase:= ibConnection;
+      aQuery.Transaction:= SqlTrans;
+      KeyList:= TStringList.Create;
+      Fieldslist:= tstringList.Create;
+
+      // Get primary key fields
+      fmMain.GetIndexFields(ATableName, PKName, aQuery, KeyList);
+      fmMain.GetFields(fdbIndex, ATableName, FieldsList);
+      WhereClause:= 'where ';
+
+      RecordSet.DisableControls;
+      // Check modified fields
+      for i:= 0 to High(ModifiedRecords[TabIndex]) do
+      begin
+        FieldsSQL:= '';
+        RecordSet.RecNo:= ModifiedRecords[TabIndex][i];
+        for x:= 0 to RecordSet.Fields.Count - 1 do
+        if FieldsList.IndexOf(RecordSet.Fields[x].FieldName) <> -1 then // Field exist in origional table
+
+        if (RecordSet.Fields[x].NewValue <> RecordSet.Fields[x].OldValue) then // field data has been modified
+        begin
+         if FieldsSQL <> '' then
+             FieldsSQL += ',';
+           FieldsSQL += RecordSet.Fields[x].FieldName + '=';
+
+           // Typecast field values according to thier main type
+           case RecordSet.Fields[x].DataType of
+            ftInteger, ftSmallint: FieldsSQL += IntToStr(RecordSet.Fields[x].NewValue);
+            ftFloat: FieldsSQL += FloatToStr(RecordSet.Fields[x].NewValue);
+            ftTime, ftTimeStamp, ftDate, ftDateTime: FieldsSQL += '''' + FormatDateTime('yyyy-mm-dd HH:nn:ss:zz',
+              RecordSet.Fields[x].NewValue) + '''';
+
+           else // Other types like string
+              FieldsSQL += '''' + RecordSet.Fields[x].NewValue + '''';
+
+         end;
+        end;
+
+
+        // Update current record
+        if FieldsSQL <> '' then
+        begin
+          aQuery.Close;
+          aQuery.SQL.Text:= 'update ' + aTableName + ' set ' + FieldsSQL;
+
+          WhereClause:= 'where ';
+          // where clause
+          for x:= 0 to KeyList.Count - 1 do
+          if Trim(KeyList[x]) <> '' then
+          begin
+            WhereClause += KeyList[x] + ' = ';
+
+            // Typecase index values
+            case RecordSet.Fields[x].DataType of
+             ftInteger, ftSmallint: WhereClause += IntToStr(RecordSet.Fields[x].OldValue);
+             ftFloat: WhereClause += FloatToStr(RecordSet.Fields[x].OldValue);
+            else
+               WhereClause += '''' + RecordSet.Fields[x].OldValue + '''';
+            end;
+            if x < KeyList.Count - 1 then
+              WhereClause += ' and ';
+          end;
+
+          aQuery.SQL.Add(WhereClause);
+          aQuery.ExecSQL;
+          (Sender as TBitBtn).Visible:= False;
+          EnableCommitButton;
+        end;
+      end;
+
+      // Reset ModifedRecords pointer
+      ModifiedRecords[TabIndex]:= nil;
+
+      RecordSet.EnableControls;
+      FieldsList.Free;
+      KeyList.Free;
+      aQuery.Free;
+    end
+    else
+      ShowMessage('There is no primary key on the table: ' + aTableName);
+
+
+  except
+  on e: exception do
+  begin
+    ShowMessage('Error in save data: ' + e.Message);
+  end;
+
+  end;
+
+
+end;
+
+procedure TfmQueryWindow.EnableApplyButton;
+var
+  i: Integer;
+begin
+  for i:= 0 to High(ResultControls) do
+  if (ResultControls[i] is TBitBtn) and ((ResultControls[i] as TBitBtn).Tag = PageControl1.TabIndex) and
+    ((ResultControls[i] as TBitBtn).Caption = 'Apply') then
+  begin
+    (ResultControls[i] as TBitBtn).Visible:= True;
+    Break;
+  end;
+end;
+
+procedure TfmQueryWindow.EnableCommitButton;
+var
+  i: Integer;
+begin
+  for i:= 0 to High(ResultControls) do
+  if (ResultControls[i] is TBitBtn) and ((ResultControls[i] as TBitBtn).Tag = PageControl1.TabIndex)
+    and ((ResultControls[i] as TBitBtn).Caption = 'Commit') then
+  begin
+    (ResultControls[i] as TBitBtn).Visible:= True;
+    Break;
+  end;
+end;
+
+function TfmQueryWindow.GetTableName(SQLText: string): string;
+begin
+  SQLText:= Trim(Copy(SQLText, Pos('from', LowerCase(SQLText)) + 4, Length(SQLText)));
+  if Pos('"', SQLText) = 1 then
+  begin
+    Delete(SQLText, 1, 1);
+    Result:= Copy(SQLText, 1, Pos('"', SQLText) - 1);
+  end
+  else
+  begin
+    if Pos(' ', SQLText) > 0 then
+      Result:= Copy(SQLText, 1, Pos(' ', SQLText) - 1)
+    else
+      Result:= SQLText;
+  end;
+  if Pos(';', Result) > 0 then
+    Delete(Result, Pos(';', Result), 1);
+
+end;
+
+function TfmQueryWindow.GetCurrentSQLText: string;
+var
+  i: Integer;
+begin
+  for i:= 0 to High(ResultControls) do
+  if (ResultControls[i] is TDBGrid) and ((ResultControls[i] as TDBGrid).Tag = PageControl1.TabIndex) then
+  begin
+    Result:= ((ResultControls[i] as TDBGrid).DataSource.DataSet as TSQLQuery).SQL.Text;
+    Break;
+  end;
+
+end;
+
+procedure TfmQueryWindow.CommitResultClick(Sender: TObject);
+begin
+  SqlTrans.CommitRetaining;
+  (Sender as TBitBtn).Visible:= False;
+end;
+
+function TfmQueryWindow.GetRecordSet(TabIndex: Integer): TSQLQuery;
+var
+  i: Integer;
+begin
+  for i:= 0 to High(ResultControls) do
+  if (ResultControls[i] is TSQLQuery) and ((ResultControls[i] as TSQLQuery).Tag = TabIndex) then
+  begin
+    Result:= ResultControls[i] as TSQLQuery;
+    Break;
+  end;
+
+end;
+
 procedure TQueryThread.DoJob;
 begin
   try
@@ -528,6 +780,8 @@ var
   StatusBar: TStatusBar;
   Nav: TDBNavigator;
   Pan: TPanel;
+  Apply: TBitBtn;
+  Commit: TBitBtn;
 begin
   ATab:= TTabSheet.Create(nil);
   Result:= ATab;
@@ -541,6 +795,8 @@ begin
     aSqlQuery.Transaction:= SqlTrans;
     aSqlQuery.AfterScroll:= @QueryAfterScroll;
     AddResultControl(ATab, aSqlQuery);
+    aSqlQuery.AfterPost:= @FinishCellEditing;
+    aSqlQuery.Tag:= ATab.TabIndex;
 
 
     // Status Bar
@@ -566,13 +822,15 @@ begin
     DBGrid.DataSource:= DataSource;
     DBGrid.Align:= alClient;
     DBGrid.OnDblClick:= @DBGrid1DblClick;
+
+    DBGrid.OnFieldEditMask:= @StartEdit;
+    DBGrid.Tag:= ATab.TabIndex;
     DBGrid.ReadOnly:= False;
-    DBGrid.AutoEdit:= False;
+    DBGrid.AutoEdit:= True;
 
     DBGrid.PopupMenu:= pmGrid;
     DBGrid.TitleStyle:= tsNative;
-    DBGrid.Options:= DBGrid.Options + [dgAutoSizeColumns,dgHeaderHotTracking, dgHeaderPushedLook, dgAnyButtonCanSelect];
-    DBGrid.Options:= DBGrid.Options - [dgEditing];
+    DBGrid.Options:= DBGrid.Options + [dgAutoSizeColumns, dgHeaderHotTracking, dgHeaderPushedLook, dgAnyButtonCanSelect];
 
     DBGrid.OnTitleClick:= @DBGridTitleClick;
     AddResultControl(ATab, DBGrid);
@@ -580,10 +838,30 @@ begin
     // Navigator
     Nav:= TDBNavigator.Create(nil);
     Nav.Parent:= Pan;
-    Nav.VisibleButtons:= [nbFirst, nbNext, nbPrior, nbLast, nbRefresh];
+    Nav.VisibleButtons:= [nbFirst, nbNext, nbPrior, nbLast];
     Nav.DataSource:= DataSource;
     AddResultControl(ATab, Nav);
 
+    // Apply button
+    Apply:= TBitBtn.Create(nil);
+    Apply.Parent:= Pan;
+    Apply.Caption:= 'Apply';
+    Apply.Left:= 300;
+    Apply.Visible:= False;
+    Apply.OnClick:= @ApplyClick;
+    Apply.Tag:= ATab.TabIndex;
+    AddResultControl(ATab, Apply);
+
+    // Commit button
+    Commit:= TBitBtn.Create(nil);
+    Commit.Parent:= Pan;
+    Commit.Caption:= 'Commit';
+    Commit.Left:= 400;
+    Commit.Visible:= False;
+    Commit.OnClick:= @CommitResultClick;
+    Commit.Tag:= ATab.TabIndex;
+    AddResultControl(ATab, Commit);
+
   end
   else
   if QueryType in [2, 3] then

+ 5 - 5
sqlhistory.lfm

@@ -1,7 +1,7 @@
 object fmSQLHistory: TfmSQLHistory
-  Left = 565
+  Left = 463
   Height = 492
-  Top = 354
+  Top = 293
   Width = 873
   Caption = 'SQL History'
   ClientHeight = 492
@@ -9,9 +9,9 @@ object fmSQLHistory: TfmSQLHistory
   OnClose = FormClose
   OnCreate = FormCreate
   Position = poScreenCenter
-  LCLVersion = '1.0.2.0'
+  LCLVersion = '1.0.8.0'
   object DBGrid1: TDBGrid
-    Left = 8
+    Left = 0
     Height = 404
     Top = 8
     Width = 852
@@ -20,7 +20,7 @@ object fmSQLHistory: TfmSQLHistory
     Color = clWindow
     Columns = <>
     DataSource = Datasource1
-    Options = [dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
+    Options = [dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgMultiselect]
     ReadOnly = True
     TabOrder = 0
     OnDblClick = DBGrid1DblClick

+ 85 - 85
sqlhistory.lrs

@@ -1,97 +1,97 @@
 { This is an automatically generated lazarus resource file }
 
 LazarusResources.Add('TfmSQLHistory','FORMDATA',[
-  'TPF0'#13'TfmSQLHistory'#12'fmSQLHistory'#4'Left'#3'5'#2#6'Height'#3#236#1#3
-  +'Top'#3'b'#1#5'Width'#3'i'#3#7'Caption'#6#11'SQL History'#12'ClientHeight'#3
+  'TPF0'#13'TfmSQLHistory'#12'fmSQLHistory'#4'Left'#3#207#1#6'Height'#3#236#1#3
+  +'Top'#3'%'#1#5'Width'#3'i'#3#7'Caption'#6#11'SQL History'#12'ClientHeight'#3
   +#236#1#11'ClientWidth'#3'i'#3#7'OnClose'#7#9'FormClose'#8'OnCreate'#7#10'For'
-  +'mCreate'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#7'1.0.2.0'#0#7'T'
-  +'DBGrid'#7'DBGrid1'#4'Left'#2#8#6'Height'#3#148#1#3'Top'#2#8#5'Width'#3'T'#3
+  +'mCreate'#8'Position'#7#14'poScreenCenter'#10'LCLVersion'#6#7'1.0.8.0'#0#7'T'
+  +'DBGrid'#7'DBGrid1'#4'Left'#2#0#6'Height'#3#148#1#3'Top'#2#8#5'Width'#3'T'#3
   +#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'BorderStyle'#7
   +#6'bsNone'#5'Color'#7#8'clWindow'#7'Columns'#14#0#10'DataSource'#7#11'Dataso'
   +'urce1'#7'Options'#11#8'dgTitles'#11'dgIndicator'#14'dgColumnResize'#12'dgCo'
   +'lumnMove'#10'dgColLines'#10'dgRowLines'#6'dgTabs'#11'dgRowSelect'#21'dgAlwa'
-  +'ysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'#0#8'ReadOnly'#9#8'T'
-  +'abOrder'#2#0#10'OnDblClick'#7#15'DBGrid1DblClick'#0#0#7'TBitBtn'#8'bbInsert'
-  +#4'Left'#2#8#6'Height'#2#30#3'Top'#3#171#1#5'Width'#3#152#0#7'Anchors'#11#6
-  +'akLeft'#8'akBottom'#0#7'Caption'#6#19'Insert in SQL Query'#7'OnClick'#7#13
-  +'bbInsertClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'#8'bbDelete'#4'Left'#3#184#0#6
-  +'Height'#2#30#3'Top'#3#171#1#5'Width'#2'Q'#7'Anchors'#11#6'akLeft'#8'akBotto'
-  +'m'#0#6'Cancel'#9#7'Caption'#6#6'Delete'#4'Kind'#7#8'bkCancel'#7'OnClick'#7
-  +#13'bbDeleteClick'#8'TabOrder'#2#2#0#0#9'TGroupBox'#9'GroupBox1'#4'Left'#3#19
-  +#1#6'Height'#2'8'#3'Top'#3#166#1#5'Width'#3'I'#2#7'Anchors'#11#6'akLeft'#7'a'
-  +'kRight'#8'akBottom'#0#7'Caption'#6#19'Export to text file'#12'ClientHeight'
-  +#2'%'#11'ClientWidth'#3'E'#2#8'TabOrder'#2#3#0#9'TCheckBox'#11'cxAfterDate'#4
-  +'Left'#2#6#6'Height'#2#24#3'Top'#2#7#5'Width'#3#152#0#7'Caption'#6#19'Only a'
-  +'fter the date'#7'OnClick'#7#16'cxAfterDateClick'#8'TabOrder'#2#0#0#0#9'TDat'
-  +'eEdit'#9'DateEdit1'#4'Left'#3#163#0#6'Height'#2#27#3'Top'#2#2#5'Width'#2'h'
-  +#23'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsShowDayNames'#0#9'OK'
-  +'Caption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#9'DateOrder'#7#6'doNone'#11
-  +'ButtonWidth'#2#23#8'CharCase'#7#8'ecNormal'#10'Glyph.Data'#10':'#4#0#0'6'#4
-  +#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0#1#0' '#0#0#0#0#0
-  +#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255#255#255#0#255
+  +'ysShowSelection'#15'dgConfirmDelete'#14'dgCancelOnExit'#13'dgMultiselect'#0
+  +#8'ReadOnly'#9#8'TabOrder'#2#0#10'OnDblClick'#7#15'DBGrid1DblClick'#0#0#7'TB'
+  +'itBtn'#8'bbInsert'#4'Left'#2#8#6'Height'#2#30#3'Top'#3#171#1#5'Width'#3#152
+  +#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#19'Insert in SQL Query'
+  +#7'OnClick'#7#13'bbInsertClick'#8'TabOrder'#2#1#0#0#7'TBitBtn'#8'bbDelete'#4
+  +'Left'#3#184#0#6'Height'#2#30#3'Top'#3#171#1#5'Width'#2'Q'#7'Anchors'#11#6'a'
+  +'kLeft'#8'akBottom'#0#6'Cancel'#9#7'Caption'#6#6'Delete'#4'Kind'#7#8'bkCance'
+  +'l'#7'OnClick'#7#13'bbDeleteClick'#8'TabOrder'#2#2#0#0#9'TGroupBox'#9'GroupB'
+  +'ox1'#4'Left'#3#19#1#6'Height'#2'8'#3'Top'#3#166#1#5'Width'#3'I'#2#7'Anchors'
+  +#11#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#19'Export to text file'
+  +#12'ClientHeight'#2'%'#11'ClientWidth'#3'E'#2#8'TabOrder'#2#3#0#9'TCheckBox'
+  +#11'cxAfterDate'#4'Left'#2#6#6'Height'#2#24#3'Top'#2#7#5'Width'#3#152#0#7'Ca'
+  +'ption'#6#19'Only after the date'#7'OnClick'#7#16'cxAfterDateClick'#8'TabOrd'
+  +'er'#2#0#0#0#9'TDateEdit'#9'DateEdit1'#4'Left'#3#163#0#6'Height'#2#27#3'Top'
+  +#2#2#5'Width'#2'h'#23'CalendarDisplaySettings'#11#14'dsShowHeadings'#14'dsSh'
+  +'owDayNames'#0#9'OKCaption'#6#2'OK'#13'CancelCaption'#6#6'Cancel'#9'DateOrde'
+  +'r'#7#6'doNone'#11'ButtonWidth'#2#23#8'CharCase'#7#8'ecNormal'#10'Glyph.Data'
+  +#10':'#4#0#0'6'#4#0#0'BM6'#4#0#0#0#0#0#0'6'#0#0#0'('#0#0#0#16#0#0#0#16#0#0#0
+  +#1#0' '#0#0#0#0#0#0#4#0#0'd'#0#0#0'd'#0#0#0#0#0#0#0#0#0#0#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
   +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#214#158'r'#196#211
-  +#153'n'#244#209#150'h'#255#206#146'c'#255#203#142'^'#255#201#138'['#255#199
-  +#135'V'#255#195#132'R'#255#195#132'R'#255#195#132'R'#255#195#132'R'#255#195
-  +#132'R'#255#195#132'R'#255#187'wB'#176#255#255#255#0#255#255#255#0#215#161'u'
-  +#255#248#242#237#255#247#240#234#255#246#237#230#255#244#234#226#255#243#231
-  +#222#255#241#228#219#255#240#226#216#255#234#214#200#255#242#229#220#255#250
-  +#244#241#255#249#243#240#255#250#245#242#255#197#138']'#253#255#255#255#0#255
-  +#255#255#0#217#164'z'#255#249#243#238#255#235#210#190#255#255#255#255#255#235
-  +#211#191#255#255#255#255#255#235#211#192#255#255#255#255#255#234#199#173#255
-  +#236#217#205#255#241#228#219#255#249#243#240#255#249#242#239#255#198#140'_'
-  +#255#255#255#255#0#255#255#255#0#221#168'~'#255#249#243#239#255#235#208#186
-  +#255#235#208#187#255'u'#181'z'#255'u'#181'z'#255'u'#181'z'#255#235#209#189
-  +#255#234#205#181#255#250#244#240#255#235#217#204#255#241#228#219#255#250#244
-  +#241#255#198#138'\'#255#255#255#255#0#255#255#255#0#223#170#130#255#249#243
-  +#239#255#234#206#183#255#255#255#255#255'u'#181'z'#255#148#212#155#255't'#181
-  +'y'#255#255#255#255#255#234#207#186#255#251#246#242#255#250#243#240#255#235
-  +#216#203#255#242#230#221#255#200#141'_'#255#255#255#255#0#255#255#255#0#225
-  +#174#135#255#250#244#240#255#234#203#178#255#234#204#179#255'u'#181'z'#255't'
-  +#181'y'#255's'#180'x'#255#234#206#183#255'p'#179'u'#255'o'#178't'#255'n'#177
-  +'r'#255#232#200#174#255#234#215#201#255#196#134'T'#255#255#255#255#0#255#255
-  +#255#0#227#177#140#255#250#246#241#255#234#201#174#255#255#255#255#255#234
-  +#201#176#255#255#255#255#255#233#203#179#255#255#255#255#255'o'#177's'#255
-  +#142#210#149#255'k'#175'o'#255#255#255#255#255#241#229#219#255#198#134'U'#255
-  +#255#255#255#0#255#255#255#0#229#180#143#255#250#246#242#255#233#198#170#255
-  +#233#198#172#255#234#199#172#255#233#199#173#255#233#201#174#255#233#201#176
-  +#255'l'#176'q'#255'j'#175'n'#255'h'#173'm'#255#232#204#181#255#242#231#222
-  +#255#200#138'Y'#255#255#255#255#0#255#255#255#0#231#183#148#255#251#247#244
-  +#255#233#195#166#255#255#255#255#255#232#196#169#255#255#255#255#255#233#198
-  +#170#255#255#255#255#255#232#199#172#255#255#255#255#255#232#200#176#255#255
-  +#255#255#255#247#241#235#255#203#143'_'#255#255#255#255#0#255#255#255#0#233
-  +#186#152#255#251#247#244#255'e'#164#255#255'd'#163#255#255'b'#162#255#255'a'
-  +#161#255#255'_'#159#255#255'\'#157#255#255'Z'#154#255#255'W'#152#255#255'T'
-  +#149#255#255'R'#148#255#255#251#247#244#255#206#147'd'#255#255#255#255#0#255
-  +#255#255#0#235#189#155#255#251#247#244#255'd'#164#255#255'y'#189#255#255'u'
-  ,#187#255#255'q'#185#255#255'm'#184#255#255'h'#179#255#255'a'#176#255#255'Z'
-  +#171#255#255'T'#167#255#255';}'#255#255#251#247#244#255#209#151'j'#255#255
-  +#255#255#0#255#255#255#0#236#191#158#255#251#247#244#255'e'#164#255#255'd'
-  +#163#255#255'`'#160#255#255']'#158#255#255'X'#153#255#255'T'#150#255#255'M'
-  +#144#255#255'G'#139#255#255'B'#132#255#255'='#127#255#255#251#247#244#255#212
-  +#155'o'#255#255#255#255#0#255#255#255#0#238#193#161#235#251#247#244#255#251
-  +#247#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251#247#244#255
-  +#251#247#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251#247#244
-  +#255#251#247#244#255#215#160't'#248#255#255#255#0#255#255#255#0#239#194#163
-  +'~'#239#193#162#227#237#192#159#255#235#190#157#255#235#188#154#255#233#186
-  +#150#255#231#183#147#255#230#181#144#255#228#178#140#255#226#175#136#255#224
-  +#172#132#255#221#169#128#255#220#165'}'#255#218#163'z'#202#255#255#255#0#255
+  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#214
+  +#158'r'#196#211#153'n'#244#209#150'h'#255#206#146'c'#255#203#142'^'#255#201
+  +#138'['#255#199#135'V'#255#195#132'R'#255#195#132'R'#255#195#132'R'#255#195
+  +#132'R'#255#195#132'R'#255#195#132'R'#255#187'wB'#176#255#255#255#0#255#255
+  +#255#0#215#161'u'#255#248#242#237#255#247#240#234#255#246#237#230#255#244#234
+  +#226#255#243#231#222#255#241#228#219#255#240#226#216#255#234#214#200#255#242
+  +#229#220#255#250#244#241#255#249#243#240#255#250#245#242#255#197#138']'#253
+  +#255#255#255#0#255#255#255#0#217#164'z'#255#249#243#238#255#235#210#190#255
+  +#255#255#255#255#235#211#191#255#255#255#255#255#235#211#192#255#255#255#255
+  +#255#234#199#173#255#236#217#205#255#241#228#219#255#249#243#240#255#249#242
+  +#239#255#198#140'_'#255#255#255#255#0#255#255#255#0#221#168'~'#255#249#243
+  +#239#255#235#208#186#255#235#208#187#255'u'#181'z'#255'u'#181'z'#255'u'#181
+  +'z'#255#235#209#189#255#234#205#181#255#250#244#240#255#235#217#204#255#241
+  +#228#219#255#250#244#241#255#198#138'\'#255#255#255#255#0#255#255#255#0#223
+  +#170#130#255#249#243#239#255#234#206#183#255#255#255#255#255'u'#181'z'#255
+  +#148#212#155#255't'#181'y'#255#255#255#255#255#234#207#186#255#251#246#242
+  +#255#250#243#240#255#235#216#203#255#242#230#221#255#200#141'_'#255#255#255
+  +#255#0#255#255#255#0#225#174#135#255#250#244#240#255#234#203#178#255#234#204
+  +#179#255'u'#181'z'#255't'#181'y'#255's'#180'x'#255#234#206#183#255'p'#179'u'
+  +#255'o'#178't'#255'n'#177'r'#255#232#200#174#255#234#215#201#255#196#134'T'
+  +#255#255#255#255#0#255#255#255#0#227#177#140#255#250#246#241#255#234#201#174
+  +#255#255#255#255#255#234#201#176#255#255#255#255#255#233#203#179#255#255#255
+  +#255#255'o'#177's'#255#142#210#149#255'k'#175'o'#255#255#255#255#255#241#229
+  +#219#255#198#134'U'#255#255#255#255#0#255#255#255#0#229#180#143#255#250#246
+  +#242#255#233#198#170#255#233#198#172#255#234#199#172#255#233#199#173#255#233
+  +#201#174#255#233#201#176#255'l'#176'q'#255'j'#175'n'#255'h'#173'm'#255#232
+  +#204#181#255#242#231#222#255#200#138'Y'#255#255#255#255#0#255#255#255#0#231
+  +#183#148#255#251#247#244#255#233#195#166#255#255#255#255#255#232#196#169#255
+  +#255#255#255#255#233#198#170#255#255#255#255#255#232#199#172#255#255#255#255
+  +#255#232#200#176#255#255#255#255#255#247#241#235#255#203#143'_'#255#255#255
+  +#255#0#255#255#255#0#233#186#152#255#251#247#244#255'e'#164#255#255'd'#163
+  +#255#255'b'#162#255#255'a'#161#255#255'_'#159#255#255'\'#157#255#255'Z'#154
+  +#255#255'W'#152#255#255'T'#149#255#255'R'#148#255#255#251#247#244#255#206#147
+  +'d'#255#255#255#255#0#255#255#255#0#235#189#155#255#251#247#244#255'd'#164
+  ,#255#255'y'#189#255#255'u'#187#255#255'q'#185#255#255'm'#184#255#255'h'#179
+  +#255#255'a'#176#255#255'Z'#171#255#255'T'#167#255#255';}'#255#255#251#247#244
+  +#255#209#151'j'#255#255#255#255#0#255#255#255#0#236#191#158#255#251#247#244
+  +#255'e'#164#255#255'd'#163#255#255'`'#160#255#255']'#158#255#255'X'#153#255
+  +#255'T'#150#255#255'M'#144#255#255'G'#139#255#255'B'#132#255#255'='#127#255
+  +#255#251#247#244#255#212#155'o'#255#255#255#255#0#255#255#255#0#238#193#161
+  +#235#251#247#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251#247
+  +#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251#247#244#255#251
+  +#247#244#255#251#247#244#255#251#247#244#255#215#160't'#248#255#255#255#0#255
+  +#255#255#0#239#194#163'~'#239#193#162#227#237#192#159#255#235#190#157#255#235
+  +#188#154#255#233#186#150#255#231#183#147#255#230#181#144#255#228#178#140#255
+  +#226#175#136#255#224#172#132#255#221#169#128#255#220#165'}'#255#218#163'z'
+  +#202#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
   +#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
-  +#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
-  +#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#9'Num'
-  +'Glyphs'#2#0#9'MaxLength'#2#0#8'TabOrder'#2#1#7'Visible'#8#0#0#6'TLabel'#6'L'
-  +'abel1'#4'Left'#3'3'#1#6'Height'#2#18#3'Top'#2#5#5'Width'#2'?'#7'Caption'#6#8
-  +'SQL Type'#11'ParentColor'#8#0#0#9'TComboBox'#9'cbSQLType'#4'Left'#3'{'#1#6
-  +'Height'#2#27#3'Top'#2#254#5'Width'#2'd'#10'ItemHeight'#2#0#9'ItemIndex'#2#0
-  +#13'Items.Strings'#1#6#3'All'#6#7'DDL,DML'#6#3'DDL'#6#3'DML'#6#6'Select'#0#5
-  +'Style'#7#14'csDropDownList'#8'TabOrder'#2#2#4'Text'#6#3'All'#0#0#7'TBitBtn'
-  +#8'bbExport'#4'Left'#3#243#1#6'Height'#2#30#3'Top'#2#0#5'Width'#2'K'#7'Capti'
-  +'on'#6#6'Export'#7'OnClick'#7#13'bbExportClick'#8'TabOrder'#2#3#0#0#0#9'TChe'
-  +'ckBox'#11'cxOverwrite'#4'Left'#2#8#6'Height'#2#24#3'Top'#3#206#1#5'Width'#3
-  +#179#0#7'Caption'#6#22'Overwrite existing SQL'#8'TabOrder'#2#4#0#0#11'TDatas'
-  +'ource'#11'Datasource1'#4'left'#2#127#3'top'#2#12#0#0#11'TSaveDialog'#11'Sav'
-  +'eDialog1'#10'DefaultExt'#6#4'.sql'#6'Filter'#6#28'SQL File|*.sql|All files|'
-  +'*.*'#7'Options'#11#17'ofOverwritePrompt'#14'ofEnableSizing'#12'ofViewDetail'
-  +#0#4'left'#3#17#3#3'top'#2'z'#0#0#0
+  +#255#0#255#255#255#0#9'NumGlyphs'#2#0#9'MaxLength'#2#0#8'TabOrder'#2#1#7'Vis'
+  +'ible'#8#0#0#6'TLabel'#6'Label1'#4'Left'#3'3'#1#6'Height'#2#18#3'Top'#2#5#5
+  +'Width'#2'?'#7'Caption'#6#8'SQL Type'#11'ParentColor'#8#0#0#9'TComboBox'#9'c'
+  +'bSQLType'#4'Left'#3'{'#1#6'Height'#2#27#3'Top'#2#254#5'Width'#2'd'#10'ItemH'
+  +'eight'#2#0#9'ItemIndex'#2#0#13'Items.Strings'#1#6#3'All'#6#7'DDL,DML'#6#3'D'
+  +'DL'#6#3'DML'#6#6'Select'#0#5'Style'#7#14'csDropDownList'#8'TabOrder'#2#2#4
+  +'Text'#6#3'All'#0#0#7'TBitBtn'#8'bbExport'#4'Left'#3#243#1#6'Height'#2#30#3
+  +'Top'#2#0#5'Width'#2'K'#7'Caption'#6#6'Export'#7'OnClick'#7#13'bbExportClick'
+  +#8'TabOrder'#2#3#0#0#0#9'TCheckBox'#11'cxOverwrite'#4'Left'#2#8#6'Height'#2
+  +#24#3'Top'#3#206#1#5'Width'#3#179#0#7'Caption'#6#22'Overwrite existing SQL'#8
+  +'TabOrder'#2#4#0#0#11'TDatasource'#11'Datasource1'#4'left'#2#127#3'top'#2#12
+  +#0#0#11'TSaveDialog'#11'SaveDialog1'#10'DefaultExt'#6#4'.sql'#6'Filter'#6#28
+  +'SQL File|*.sql|All files|*.*'#7'Options'#11#17'ofOverwritePrompt'#14'ofEnab'
+  +'leSizing'#12'ofViewDetail'#0#4'left'#3#17#3#3'top'#2'z'#0#0#0
 ]);

+ 12 - 3
sqlhistory.pas

@@ -63,10 +63,19 @@ end;
 procedure TfmSQLHistory.bbInsertClick(Sender: TObject);
 var
   SQLStatement: string;
+  i: Integer;
+  aStatement: string;
 begin
-  SQLStatement:= (fmMain.mdsHistory.FieldByName('SQLStatement').AsString);
-  if Pos(';', SQLStatement) = 0 then
-    SQLStatement:= SQLStatement + ';';
+//  SQLStatement:= (fmMain.mdsHistory.FieldByName('SQLStatement').AsString);
+  for i:=0 to DBGrid1.SelectedRows.Count - 1 do
+  begin
+    Datasource1.DataSet.GotoBookmark(DBGrid1.SelectedRows.Items[i]);
+    aStatement := fmMain.mdsHistory.FieldByName('SQLStatement').AsString;
+    if Pos(';', aStatement) = 0 then
+      aStatement:= aStatement + ';';
+    SQLStatement += aStatement;
+
+  end;
 
   if cxOverwrite.Checked then
     (fQueryForm as TfmQueryWindow).meQuery.Lines.Clear;