diff --git a/source/bineditor.pas b/source/bineditor.pas index 3a3ad8ad..e390213e 100644 --- a/source/bineditor.pas +++ b/source/bineditor.pas @@ -3,7 +3,7 @@ unit bineditor; interface uses - Windows, Classes, Graphics, Forms, Controls, helpers, StdCtrls, TntStdCtrls, Registry, VirtualTrees, + Windows, Classes, Graphics, Forms, Controls, helpers, StdCtrls, TntStdCtrls, VirtualTrees, ComCtrls, ToolWin, Dialogs, SysUtils; {$I const.inc} @@ -78,24 +78,18 @@ end; procedure TfrmBinEditor.FormDestroy(Sender: TObject); -var - reg: TRegistry; begin - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_EDITOR_WIDTH, Width ); - reg.WriteInteger( REGNAME_EDITOR_HEIGHT, Height ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_EDITOR_WIDTH, Width ); + MainReg.WriteInteger( REGNAME_EDITOR_HEIGHT, Height ); end; procedure TfrmBinEditor.FormShow(Sender: TObject); begin // Restore form dimensions - Width := Mainform.GetRegValue(REGNAME_EDITOR_WIDTH, DEFAULT_EDITOR_WIDTH); - Height := Mainform.GetRegValue(REGNAME_EDITOR_HEIGHT, DEFAULT_EDITOR_HEIGHT); + Width := GetRegValue(REGNAME_EDITOR_WIDTH, DEFAULT_EDITOR_WIDTH); + Height := GetRegValue(REGNAME_EDITOR_HEIGHT, DEFAULT_EDITOR_HEIGHT); // Fix label position: lblTextLength.Top := tlbStandard.Top + (tlbStandard.Height-lblTextLength.Height) div 2; SetWindowSizeGrip(Handle, True); diff --git a/source/column_selection.pas b/source/column_selection.pas index 697122bd..035802bf 100644 --- a/source/column_selection.pas +++ b/source/column_selection.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, CheckLst, ExtCtrls, Registry, TntCheckLst, WideStrings; + Dialogs, StdCtrls, CheckLst, ExtCtrls, TntCheckLst, WideStrings; type TColumnSelectionForm = class(TForm) @@ -65,7 +65,7 @@ begin chklistColumnsClickCheck( Sender ); // Restore last used sorting state from registry - chkSort.Checked := Mainform.GetRegValue(REGNAME_SORTDISPLAYEDCOLUMNS, chkSort.Checked); + chkSort.Checked := GetRegValue(REGNAME_SORTDISPLAYEDCOLUMNS, chkSort.Checked); end; diff --git a/source/connections.pas b/source/connections.pas index 577ab690..3d0c12c5 100644 --- a/source/connections.pas +++ b/source/connections.pas @@ -10,7 +10,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, - StdCtrls, Registry, Buttons, ExtCtrls, ZPlainMySqlDriver, + StdCtrls, Buttons, ExtCtrls, ZPlainMySqlDriver, PngSpeedButton, TntStdCtrls, ComCtrls, ToolWin; type @@ -94,16 +94,12 @@ end; // Connect procedure Tconnform.ButtonConnectClick(Sender: TObject); var - reg : TRegistry; btn: TButton; begin Screen.Cursor := crHourglass; // Save last connection name to registry - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, true) then - reg.WriteString(REGNAME_LASTSESSION, ComboBoxDescription.Text); - reg.CloseKey; - reg.Free; + OpenRegistry; + MainReg.WriteString(REGNAME_LASTSESSION, ComboBoxDescription.Text); btn := Sender as TButton; btn.Enabled := false; @@ -140,20 +136,15 @@ var i : Integer; lastcon : String; AutoReconnect : Boolean; - reg : TRegistry; begin Screen.Cursor := crHourglass; ComboBoxDescription.Items.Clear; ComboBoxDescription.Text := ''; - reg := TRegistry.Create; - if reg.OpenKey(REGPATH + REGKEY_SESSIONS, true) then - begin - reg.GetKeyNames(ComboBoxDescription.Items); - reg.Free; - end; - lastcon := Mainform.GetRegValue(REGNAME_LASTSESSION, ''); - AutoReconnect := Mainform.GetRegValue(REGNAME_AUTORECONNECT, DEFAULT_AUTORECONNECT); + if MainReg.OpenKey(REGPATH + REGKEY_SESSIONS, true) then + MainReg.GetKeyNames(ComboBoxDescription.Items); + lastcon := GetRegValue(REGNAME_LASTSESSION, ''); + AutoReconnect := GetRegValue(REGNAME_AUTORECONNECT, DEFAULT_AUTORECONNECT); if ComboBoxDescription.Items.Count > 0 then begin @@ -206,22 +197,15 @@ procedure Tconnform.ButtonSaveClick(Sender: TObject); begin // save connection! Screen.Cursor := crHourglass; - with TRegistry.Create do - begin - if OpenKey(REGPATH + REGKEY_SESSIONS + ComboBoxDescription.Text, true) then - begin - WriteString(REGNAME_HOST, EditHost.Text); - WriteString(REGNAME_USER, EditUsername.Text); - WriteString(REGNAME_PASSWORD, encrypt(EditPassword.Text)); - WriteString(REGNAME_PORT, EditPort.Text); - WriteString(REGNAME_TIMEOUT, EditTimeout.Text); - WriteBool(REGNAME_COMPRESSED, CheckBoxCompressed.Checked); - WriteString(REGNAME_ONLYDBS, Utf8Encode(EditOnlyDBs.Text)); - WriteBool(REGNAME_ONLYDBSSORTED, CheckBoxSorted.Checked); - CloseKey; - end; - Free; - end; + OpenRegistry(ComboBoxDescription.Text); + MainReg.WriteString(REGNAME_HOST, EditHost.Text); + MainReg.WriteString(REGNAME_USER, EditUsername.Text); + MainReg.WriteString(REGNAME_PASSWORD, encrypt(EditPassword.Text)); + MainReg.WriteString(REGNAME_PORT, EditPort.Text); + MainReg.WriteString(REGNAME_TIMEOUT, EditTimeout.Text); + MainReg.WriteBool(REGNAME_COMPRESSED, CheckBoxCompressed.Checked); + MainReg.WriteString(REGNAME_ONLYDBS, Utf8Encode(EditOnlyDBs.Text)); + MainReg.WriteBool(REGNAME_ONLYDBSSORTED, CheckBoxSorted.Checked); ComboBoxDescriptionClick(self); Screen.Cursor := crDefault; end; @@ -233,41 +217,33 @@ var description : String; begin // save new connection! - with TRegistry.Create do - begin - i := 0; - description := 'New Connection'; - while KeyExists(REGPATH + REGKEY_SESSIONS + description) do - begin - inc(i); - description := 'New Connection' + ' (' + inttostr(i) + ')'; - end; - if not InputQuery('New Connection...', 'Description:', description) then - exit; - if KeyExists(REGPATH + REGKEY_SESSIONS + description) then - begin - MessageDlg('Entry "' + description + '" already exists!', mtError, [mbOK], 0); - exit; - end; - - Screen.Cursor := crHourglass; - ComboBoxDescription.Items.Add(description); - ComboBoxDescription.ItemIndex := ComboBoxDescription.Items.Count - 1; - - if OpenKey(REGPATH + REGKEY_SESSIONS + ComboBoxDescription.Text, true) then - begin - WriteString(REGNAME_HOST, DEFAULT_HOST); - WriteString(REGNAME_USER, DEFAULT_USER); - WriteString(REGNAME_PASSWORD, encrypt(DEFAULT_PASSWORD)); - WriteString(REGNAME_PORT, inttostr(DEFAULT_PORT)); - WriteString(REGNAME_TIMEOUT, inttostr(DEFAULT_TIMEOUT)); - WriteBool(REGNAME_COMPRESSED, DEFAULT_COMPRESSED); - WriteString(REGNAME_ONLYDBS, ''); - WriteBool(REGNAME_ONLYDBSSORTED, DEFAULT_ONLYDBSSORTED); - CloseKey; - end; - Free; + i := 0; + description := 'New Connection'; + while MainReg.KeyExists(REGPATH + REGKEY_SESSIONS + description) do begin + inc(i); + description := 'New Connection' + ' (' + inttostr(i) + ')'; end; + if not InputQuery('New Connection...', 'Description:', description) then + exit; + if MainReg.KeyExists(REGPATH + REGKEY_SESSIONS + description) then + begin + MessageDlg('Entry "' + description + '" already exists!', mtError, [mbOK], 0); + exit; + end; + + Screen.Cursor := crHourglass; + ComboBoxDescription.Items.Add(description); + ComboBoxDescription.ItemIndex := ComboBoxDescription.Items.Count - 1; + + OpenRegistry(ComboBoxDescription.Text); + MainReg.WriteString(REGNAME_HOST, DEFAULT_HOST); + MainReg.WriteString(REGNAME_USER, DEFAULT_USER); + MainReg.WriteString(REGNAME_PASSWORD, encrypt(DEFAULT_PASSWORD)); + MainReg.WriteString(REGNAME_PORT, inttostr(DEFAULT_PORT)); + MainReg.WriteString(REGNAME_TIMEOUT, inttostr(DEFAULT_TIMEOUT)); + MainReg.WriteBool(REGNAME_COMPRESSED, DEFAULT_COMPRESSED); + MainReg.WriteString(REGNAME_ONLYDBS, ''); + MainReg.WriteBool(REGNAME_ONLYDBSSORTED, DEFAULT_ONLYDBSSORTED); EnableDisable(true); @@ -281,12 +257,8 @@ procedure Tconnform.ButtonDeleteClick(Sender: TObject); begin if MessageDlg('Delete Entry "' + ComboBoxDescription.Text + '" ?', mtConfirmation, [mbYes, mbCancel], 0) = mrYes then begin - with TRegistry.Create do - begin - if not DeleteKey(REGPATH + REGKEY_SESSIONS + ComboBoxDescription.Text) then - MessageDlg('Error while deleting Key from Registry!', mtError, [mbOK], 0); - Free; - end; + if not MainReg.DeleteKey(REGPATH + REGKEY_SESSIONS + ComboBoxDescription.Text) then + MessageDlg('Error while deleting Key from Registry!', mtError, [mbOK], 0); FormShow(self); end; end; @@ -299,14 +271,14 @@ begin // select one connection! Screen.Cursor := crHourglass; sessname := ComboBoxDescription.Text; - EditHost.Text := Mainform.GetRegValue(REGNAME_HOST, '', sessname); - EditUsername.Text := Mainform.GetRegValue(REGNAME_USER, '', sessname); - EditPassword.Text := decrypt(Mainform.GetRegValue(REGNAME_PASSWORD, '', sessname)); - EditPort.Text := Mainform.GetRegValue(REGNAME_PORT, '', sessname); - EditTimeout.Text := Mainform.GetRegValue(REGNAME_TIMEOUT, '', sessname);; - CheckBoxCompressed.Checked := Mainform.GetRegValue(REGNAME_COMPRESSED, DEFAULT_COMPRESSED, sessname); - EditOnlyDBs.Text := Utf8Decode(Mainform.GetRegValue(REGNAME_ONLYDBS, '', sessname)); - CheckBoxSorted.Checked := Mainform.GetRegValue(REGNAME_ONLYDBSSORTED, DEFAULT_ONLYDBSSORTED, sessname); + EditHost.Text := GetRegValue(REGNAME_HOST, '', sessname); + EditUsername.Text := GetRegValue(REGNAME_USER, '', sessname); + EditPassword.Text := decrypt(GetRegValue(REGNAME_PASSWORD, '', sessname)); + EditPort.Text := GetRegValue(REGNAME_PORT, '', sessname); + EditTimeout.Text := GetRegValue(REGNAME_TIMEOUT, '', sessname);; + CheckBoxCompressed.Checked := GetRegValue(REGNAME_COMPRESSED, DEFAULT_COMPRESSED, sessname); + EditOnlyDBs.Text := Utf8Decode(GetRegValue(REGNAME_ONLYDBS, '', sessname)); + CheckBoxSorted.Checked := GetRegValue(REGNAME_ONLYDBSSORTED, DEFAULT_ONLYDBSSORTED, sessname); btnSave.Enabled := false; ButtonSaveAndConnect.Enabled := btnSave.Enabled; btnEditDesc.Enabled := ComboBoxDescription.ItemIndex > -1; @@ -373,17 +345,14 @@ begin exit; end; - with TRegistry.Create do begin - idx := ComboBoxDescription.ItemIndex; - try - MoveKey(REGPATH + REGKEY_SESSIONS + olddesc, REGPATH + REGKEY_SESSIONS + newdesc, true); - ComboBoxDescription.Items[ComboBoxDescription.ItemIndex] := newdesc; - ComboBoxDescription.ItemIndex := idx; - ComboBoxDescriptionClick(self); - except - MessageDLG('Error on renaming.', mtError, [mbCancel], 0); - end; - Free; + idx := ComboBoxDescription.ItemIndex; + try + MainReg.MoveKey(REGPATH + REGKEY_SESSIONS + olddesc, REGPATH + REGKEY_SESSIONS + newdesc, true); + ComboBoxDescription.Items[ComboBoxDescription.ItemIndex] := newdesc; + ComboBoxDescription.ItemIndex := idx; + ComboBoxDescriptionClick(self); + except + MessageDLG('Error on renaming.', mtError, [mbCancel], 0); end; end; diff --git a/source/copytable.pas b/source/copytable.pas index 28fa8785..88c26479 100644 --- a/source/copytable.pas +++ b/source/copytable.pas @@ -10,7 +10,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, - StdCtrls, Buttons, CheckLst, ZDataSet, ComCtrls, Registry, WideStrings, + StdCtrls, Buttons, CheckLst, ZDataSet, ComCtrls, WideStrings, TntStdCtrls, TntCheckLst; type @@ -146,15 +146,15 @@ begin restore last settings @see feature #1647058 } - struc_data := mainform.GetRegValue( REGNAME_COPYTABLE_STRUCDATA, DEFAULT_COPYTABLE_STRUCDATA ); + struc_data := GetRegValue( REGNAME_COPYTABLE_STRUCDATA, DEFAULT_COPYTABLE_STRUCDATA ); case struc_data of REGVAL_COPYTABLE_STRUCTURE: radioStructure.Checked := true; REGVAL_COPYTABLE_STRUCTURE_AND_DATA: radioStructureAndData.Checked := true; end; - CheckBoxWithIndexes.Checked := mainform.GetRegValue( REGNAME_COPYTABLE_INDEXES, CheckBoxWithIndexes.Checked ); - CheckBoxWithAllFields.Checked := mainform.GetRegValue( REGNAME_COPYTABLE_ALLFIELDS, CheckBoxWithAllFields.Checked ); + CheckBoxWithIndexes.Checked := GetRegValue( REGNAME_COPYTABLE_INDEXES, CheckBoxWithIndexes.Checked ); + CheckBoxWithAllFields.Checked := GetRegValue( REGNAME_COPYTABLE_ALLFIELDS, CheckBoxWithAllFields.Checked ); // Ensure CheckListBoxFields + chkSelectAll are en/disabled CheckBoxWithAllFieldsClick(Sender); // Ensure chkSelectAll shows its correct state @@ -172,7 +172,6 @@ var zq : TDataSet; isFulltext : Boolean; struc_data : Byte; - reg : TRegistry; begin // copy table! @@ -180,14 +179,10 @@ begin if radioStructure.Checked then struc_data := REGVAL_COPYTABLE_STRUCTURE else struc_data := REGVAL_COPYTABLE_STRUCTURE_AND_DATA; - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_COPYTABLE_STRUCDATA, struc_data ); - reg.WriteBool( REGNAME_COPYTABLE_INDEXES, CheckBoxWithIndexes.Checked ); - reg.WriteBool( REGNAME_COPYTABLE_ALLFIELDS, CheckBoxWithAllFields.Checked ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_COPYTABLE_STRUCDATA, struc_data ); + MainReg.WriteBool( REGNAME_COPYTABLE_INDEXES, CheckBoxWithIndexes.Checked ); + MainReg.WriteBool( REGNAME_COPYTABLE_ALLFIELDS, CheckBoxWithAllFields.Checked ); strquery := 'CREATE TABLE ' + mainform.mask(ComboSelectDatabase.Text) + '.' + mainform.mask(editNewTablename.Text) + ' '; diff --git a/source/createdatabase.pas b/source/createdatabase.pas index 2f949954..858a47d7 100644 --- a/source/createdatabase.pas +++ b/source/createdatabase.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, db, Registry, SynEdit, SynMemo, TntStdCtrls; + Dialogs, StdCtrls, db, SynEdit, SynMemo, TntStdCtrls; type TCreateDatabaseForm = class(TForm) diff --git a/source/createtable.pas b/source/createtable.pas index f6511ad4..956f1ef0 100644 --- a/source/createtable.pas +++ b/source/createtable.pas @@ -119,8 +119,8 @@ begin InheritFont(Font); - Width := Mainform.GetRegValue(REGNAME_CRTABLEWINWIDTH, Width); - Height := Mainform.GetRegValue(REGNAME_CRTABLEWINHEIGHT, Height); + Width := GetRegValue(REGNAME_CRTABLEWINWIDTH, Width); + Height := GetRegValue(REGNAME_CRTABLEWINHEIGHT, Height); SetWindowSizeGrip(Handle, True); try @@ -160,9 +160,9 @@ end; procedure TCreateTableForm.FormDestroy(Sender: TObject); begin // Save window layout - Mainform.OpenRegistry; - Mainform.regmain.WriteInteger( REGNAME_CRTABLEWINWIDTH, Width ); - Mainform.regmain.WriteInteger( REGNAME_CRTABLEWINHEIGHT, Height ); + OpenRegistry; + MainReg.WriteInteger( REGNAME_CRTABLEWINWIDTH, Width ); + MainReg.WriteInteger( REGNAME_CRTABLEWINHEIGHT, Height ); end; diff --git a/source/data_sorting.pas b/source/data_sorting.pas index 89a359f4..998dbfc6 100644 --- a/source/data_sorting.pas +++ b/source/data_sorting.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, ExtCtrls, ComCtrls, Buttons, Registry, + Dialogs, StdCtrls, ExtCtrls, ComCtrls, Buttons, WideStrings, TntStdCtrls, helpers; diff --git a/source/dataviewsave.pas b/source/dataviewsave.pas index d4aa55c4..1296e1c6 100644 --- a/source/dataviewsave.pas +++ b/source/dataviewsave.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, Registry; + Dialogs, StdCtrls; type TFrmDataViewSave = class(TForm) @@ -28,7 +28,7 @@ implementation {$R *.dfm} -uses main; +uses main, helpers; procedure TFrmDataViewSave.FormCreate(Sender: TObject); @@ -52,27 +52,23 @@ end; procedure TFrmDataViewSave.btnOKClick(Sender: TObject); var viewName, basekey, Sort: String; - reg: TRegistry; i: Integer; begin // Save current view stuff to registry Screen.Cursor := crHourglass; viewName := comboSave.Text; - reg := TRegistry.Create; basekey := Mainform.GetRegKeyTable + '\' + REGPREFIX_DATAVIEW + viewName; - if reg.OpenKey(basekey, True) then begin - reg.WriteString(REGNAME_DISPLAYEDCOLUMNS, Utf8Encode(Mainform.FDataGridSelect.DelimitedText)); - reg.WriteString(REGNAME_FILTER, Utf8Encode(Mainform.SynMemoFilter.Text)); + if MainReg.OpenKey(basekey, True) then begin + MainReg.WriteString(REGNAME_DISPLAYEDCOLUMNS, Utf8Encode(Mainform.FDataGridSelect.DelimitedText)); + MainReg.WriteString(REGNAME_FILTER, Utf8Encode(Mainform.SynMemoFilter.Text)); for i := 0 to High(Mainform.FDataGridSort) do Sort := Sort + IntToStr(Mainform.FDataGridSort[i].SortDirection) + '_' + Mainform.FDataGridSort[i].ColumnName + REGDELIM; - reg.WriteString(REGNAME_SORT, Utf8Encode(Sort)); + MainReg.WriteString(REGNAME_SORT, Utf8Encode(Sort)); if chkDefault.Checked then begin - reg.OpenKey(Mainform.GetRegKeyTable, False); - reg.WriteString(REGNAME_DEFAULTVIEW, viewName); + MainReg.OpenKey(Mainform.GetRegKeyTable, False); + MainReg.WriteString(REGNAME_DEFAULTVIEW, viewName); end; - reg.CloseKey; end; - FreeAndNil(reg); Screen.Cursor := crDefault; end; diff --git a/source/exportsql.pas b/source/exportsql.pas index 758633a7..1533a9d4 100644 --- a/source/exportsql.pas +++ b/source/exportsql.pas @@ -23,7 +23,6 @@ uses CheckLst, Buttons, comctrls, - Registry, ToolWin, DB, SynEdit, @@ -234,17 +233,17 @@ begin // Read options // WithUseDB, UseBackticks, CompleteInserts: deprecated (hardcoded true now) - cbxStructure.Checked := Mainform.GetRegValue(REGNAME_EXP_STRUCTURE, cbxStructure.Checked); - cbxDatabase.Checked := Mainform.GetRegValue(REGNAME_EXP_CREATEDB, cbxDatabase.Checked); - cbxTables.Checked := Mainform.GetRegValue(REGNAME_EXP_CREATETABLE, cbxTables.Checked); - cbxData.Checked := Mainform.GetRegValue(REGNAME_EXP_DATA, cbxData.Checked); - comboDatabase.ItemIndex := Mainform.GetRegValue(REGNAME_EXP_DBHOW, comboDatabase.ItemIndex); - comboTables.ItemIndex := Mainform.GetRegValue(REGNAME_EXP_TABLESHOW, comboTables.ItemIndex); - comboData.ItemIndex := Mainform.GetRegValue(REGNAME_EXP_DATAHOW, comboData.ItemIndex); - comboTargetCompat.ItemIndex := Mainform.GetRegValue(REGNAME_EXP_COMPAT, comboTargetCompat.ItemIndex); - editFileName.Text := Mainform.GetRegValue(REGNAME_EXP_OUTFILE, ''); - editDirectory.Text := Mainform.GetRegValue(REGNAME_EXP_OUTDIR, ''); - OutputTo := Mainform.GetRegValue(REGNAME_EXP_TARGET, -1); + cbxStructure.Checked := GetRegValue(REGNAME_EXP_STRUCTURE, cbxStructure.Checked); + cbxDatabase.Checked := GetRegValue(REGNAME_EXP_CREATEDB, cbxDatabase.Checked); + cbxTables.Checked := GetRegValue(REGNAME_EXP_CREATETABLE, cbxTables.Checked); + cbxData.Checked := GetRegValue(REGNAME_EXP_DATA, cbxData.Checked); + comboDatabase.ItemIndex := GetRegValue(REGNAME_EXP_DBHOW, comboDatabase.ItemIndex); + comboTables.ItemIndex := GetRegValue(REGNAME_EXP_TABLESHOW, comboTables.ItemIndex); + comboData.ItemIndex := GetRegValue(REGNAME_EXP_DATAHOW, comboData.ItemIndex); + comboTargetCompat.ItemIndex := GetRegValue(REGNAME_EXP_COMPAT, comboTargetCompat.ItemIndex); + editFileName.Text := GetRegValue(REGNAME_EXP_OUTFILE, ''); + editDirectory.Text := GetRegValue(REGNAME_EXP_OUTDIR, ''); + OutputTo := GetRegValue(REGNAME_EXP_TARGET, -1); if OutputTo > -1 then begin @@ -274,8 +273,8 @@ begin OUTPUT_HOST : radioOtherHost.Checked := true; end; end; - Width := Mainform.GetRegValue(REGNAME_EXP_WINWIDTH, Width); - Height := Mainform.GetRegValue(REGNAME_EXP_WINHEIGHT, Height); + Width := GetRegValue(REGNAME_EXP_WINWIDTH, Width); + Height := GetRegValue(REGNAME_EXP_WINHEIGHT, Height); if EditFileName.Text = '' then EditFileName.Text := ExtractFilePath(paramstr(0)) + 'export.sql'; @@ -1251,7 +1250,7 @@ begin comboOtherDatabase.Items := comboSelectDatabase.Items; comboOtherDatabase.Items.delete(comboSelectDatabase.ItemIndex); if comboOtherDatabase.ItemIndex = -1 then begin - lastdb := Utf8Decode(Mainform.GetRegValue(REGNAME_EXP_DESTDB, '')); + lastdb := Utf8Decode(GetRegValue(REGNAME_EXP_DESTDB, '')); comboOtherDatabase.ItemIndex := comboOtherDatabase.Items.IndexOf(lastdb); end; if (comboOtherDatabase.ItemIndex = -1) and (comboOtherDatabase.Items.Count > 0) then @@ -1534,9 +1533,8 @@ procedure TExportSQLForm.SaveSettings; var OutputTo : Byte; begin - with TRegistry.Create do - begin - OpenKey(REGPATH, true); + OpenRegistry; + with MainReg do begin // WithUseDB, UseBackticks, CompleteInserts, WithDropTable: deprecated (currently not automagically removed) WriteBool(REGNAME_EXP_STRUCTURE, cbxStructure.Checked); WriteBool(REGNAME_EXP_CREATEDB, cbxDatabase.Checked); @@ -1559,8 +1557,6 @@ begin WriteString(REGNAME_EXP_DESTDB, Utf8Encode(comboOtherDatabase.Text)); WriteInteger(REGNAME_EXP_WINWIDTH, Width ); WriteInteger(REGNAME_EXP_WINHEIGHT, Height ); - CloseKey(); - Free; end; end; diff --git a/source/helpers.pas b/source/helpers.pas index 9839d7e8..0d27b69b 100644 --- a/source/helpers.pas +++ b/source/helpers.pas @@ -11,7 +11,7 @@ interface uses Classes, SysUtils, Graphics, db, clipbrd, dialogs, forms, controls, ShellApi, checklst, windows, ZDataset, ZAbstractDataset, shlobj, ActiveX, WideStrUtils, VirtualTrees, SynRegExpr, Messages, WideStrings, - TntCheckLst; + TntCheckLst, Registry; type @@ -179,9 +179,14 @@ type procedure FixVT(VT: TVirtualStringTree); function ColorAdjustBrightness(Col: TColor; ShiftPercent: ShortInt): TColor; function ComposeOrderClause(Cols: TOrderColArray): WideString; + procedure OpenRegistry(Session: String = ''); + function GetRegValue( valueName: String; defaultValue: Integer; Session: String = '' ) : Integer; Overload; + function GetRegValue( valueName: String; defaultValue: Boolean; Session: String = '' ) : Boolean; Overload; + function GetRegValue( valueName: String; defaultValue: String; Session: String = '' ) : String; Overload; var MYSQL_KEYWORDS : TStringList; + MainReg : TRegistry; implementation @@ -2785,6 +2790,65 @@ begin end; +{** + Init main registry object and open desired key + Outsoureced from GetRegValue() to avoid redundant code + in these 3 overloaded methods. +} +procedure OpenRegistry(Session: String = ''); +var + folder : String; +begin + if MainReg = nil then + MainReg := TRegistry.Create; + folder := REGPATH; + if Session <> '' then + folder := folder + REGKEY_SESSIONS + Session; + if MainReg.CurrentPath <> folder then + MainReg.OpenKey(folder, true); +end; + + +{** + Read a numeric preference value from registry +} +function GetRegValue( valueName: String; defaultValue: Integer; Session: String = '' ) : Integer; +begin + result := defaultValue; + OpenRegistry(Session); + if MainReg.ValueExists( valueName ) then + result := MainReg.ReadInteger( valueName ); +end; + + +{*** + Read a boolean preference value from registry + @param string Name of the value + @param boolean Default-value to return if valueName was not found + @param string Subkey of REGPATH where to search for the value +} +function GetRegValue( valueName: String; defaultValue: Boolean; Session: String = '' ) : Boolean; +begin + result := defaultValue; + OpenRegistry(Session); + if MainReg.ValueExists( valueName ) then + result := MainReg.ReadBool( valueName ); +end; + + + +{*** + Read a text preference value from registry +} +function GetRegValue( valueName: String; defaultValue: String; Session: String = '' ) : String; +begin + result := defaultValue; + OpenRegistry(Session); + if MainReg.ValueExists( valueName ) then + result := MainReg.ReadString( valueName ); +end; + + initialization diff --git a/source/loaddata.pas b/source/loaddata.pas index 06f171c1..ce40a998 100644 --- a/source/loaddata.pas +++ b/source/loaddata.pas @@ -10,7 +10,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, - StdCtrls, ExtCtrls, comctrls, Buttons, CheckLst, Registry, PngSpeedButton, + StdCtrls, ExtCtrls, comctrls, Buttons, CheckLst, PngSpeedButton, WideStrings, TntCheckLst, TntStdCtrls, db, SynRegExpr; type @@ -120,18 +120,18 @@ begin comboDatabaseChange(self); // filename - editFilename.Text := Mainform.GetRegValue(REGNAME_CSV_FILENAME, ''); + editFilename.Text := GetRegValue(REGNAME_CSV_FILENAME, ''); // Use options from CSV export - editFieldTerminator.Text := Mainform.GetRegValue(REGNAME_CSV_SEPARATOR, DEFAULT_CSV_SEPARATOR); - editFieldEncloser.Text := Mainform.GetRegValue(REGNAME_CSV_ENCLOSER, DEFAULT_CSV_ENCLOSER); - editLineTerminator.Text := Mainform.GetRegValue(REGNAME_CSV_TERMINATOR, DEFAULT_CSV_TERMINATOR); + editFieldTerminator.Text := GetRegValue(REGNAME_CSV_SEPARATOR, DEFAULT_CSV_SEPARATOR); + editFieldEncloser.Text := GetRegValue(REGNAME_CSV_ENCLOSER, DEFAULT_CSV_ENCLOSER); + editLineTerminator.Text := GetRegValue(REGNAME_CSV_TERMINATOR, DEFAULT_CSV_TERMINATOR); // Other options - chkFieldsEnclosedOptionally.Checked := Mainform.GetRegValue(REGNAME_CSV_ENCLOPTION, chkFieldsEnclosedOptionally.Checked); - editFieldEscaper.Text := Mainform.GetRegValue(REGNAME_CSV_ESCAPER, editFieldEscaper.Text); - updownIgnoreLines.Position := Mainform.GetRegValue(REGNAME_CSV_IGNORELINES, updownIgnoreLines.Position); - chkLowPriority.Checked := Mainform.GetRegValue(REGNAME_CSV_LOWPRIO, chkLowPriority.Checked); - chkReplace.Checked := Mainform.GetRegValue(REGNAME_CSV_REPLACE, chkReplace.Checked); - chkIgnore.Checked := Mainform.GetRegValue(REGNAME_CSV_IGNORE, chkIgnore.Checked); + chkFieldsEnclosedOptionally.Checked := GetRegValue(REGNAME_CSV_ENCLOPTION, chkFieldsEnclosedOptionally.Checked); + editFieldEscaper.Text := GetRegValue(REGNAME_CSV_ESCAPER, editFieldEscaper.Text); + updownIgnoreLines.Position := GetRegValue(REGNAME_CSV_IGNORELINES, updownIgnoreLines.Position); + chkLowPriority.Checked := GetRegValue(REGNAME_CSV_LOWPRIO, chkLowPriority.Checked); + chkReplace.Checked := GetRegValue(REGNAME_CSV_REPLACE, chkReplace.Checked); + chkIgnore.Checked := GetRegValue(REGNAME_CSV_IGNORE, chkIgnore.Checked); end; @@ -226,7 +226,6 @@ var query : WideString; col : TWideStringList; i : Integer; - reg : TRegistry; // Correctly escape field-terminator, line-terminator or encloser // and take care of already escaped characters like \t @@ -238,24 +237,20 @@ var begin // Save settings - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, true) then - begin - // filename - reg.WriteString( REGNAME_CSV_FILENAME, editFilename.Text ); - // Use options from CSV export - reg.WriteString( REGNAME_CSV_SEPARATOR, editFieldTerminator.Text ); - reg.WriteString( REGNAME_CSV_ENCLOSER, editFieldEncloser.Text ); - reg.WriteString( REGNAME_CSV_TERMINATOR, editLineTerminator.Text ); - // Other options - reg.WriteBool( REGNAME_CSV_ENCLOPTION, chkFieldsEnclosedOptionally.Checked ); - reg.WriteString( REGNAME_CSV_ESCAPER, editFieldEscaper.Text ); - reg.WriteInteger( REGNAME_CSV_IGNORELINES, updownIgnoreLines.Position ); - reg.WriteBool( REGNAME_CSV_LOWPRIO, chkLowPriority.Checked ); - reg.WriteBool( REGNAME_CSV_REPLACE, chkReplace.Checked ); - reg.WriteBool( REGNAME_CSV_IGNORE, chkIgnore.Checked ); - end; - FreeAndNil(reg); + OpenRegistry; + // filename + MainReg.WriteString( REGNAME_CSV_FILENAME, editFilename.Text ); + // Use options from CSV export + MainReg.WriteString( REGNAME_CSV_SEPARATOR, editFieldTerminator.Text ); + MainReg.WriteString( REGNAME_CSV_ENCLOSER, editFieldEncloser.Text ); + MainReg.WriteString( REGNAME_CSV_TERMINATOR, editLineTerminator.Text ); + // Other options + MainReg.WriteBool( REGNAME_CSV_ENCLOPTION, chkFieldsEnclosedOptionally.Checked ); + MainReg.WriteString( REGNAME_CSV_ESCAPER, editFieldEscaper.Text ); + MainReg.WriteInteger( REGNAME_CSV_IGNORELINES, updownIgnoreLines.Position ); + MainReg.WriteBool( REGNAME_CSV_LOWPRIO, chkLowPriority.Checked ); + MainReg.WriteBool( REGNAME_CSV_REPLACE, chkReplace.Checked ); + MainReg.WriteBool( REGNAME_CSV_IGNORE, chkIgnore.Checked ); query := 'LOAD DATA '; diff --git a/source/main.pas b/source/main.pas index 07dbdad5..895a3851 100644 --- a/source/main.pas +++ b/source/main.pas @@ -14,7 +14,7 @@ uses Communication, Windows, SysUtils, Classes, Graphics, Forms, Controls, Menus, StdCtrls, Dialogs, Buttons, Messages, ExtCtrls, ComCtrls, StdActns, - ActnList, ImgList, Registry, ShellApi, ToolWin, Clipbrd, db, + ActnList, ImgList, ShellApi, ToolWin, Clipbrd, db, SynMemo, synedit, SynEditTypes, ZDataSet, ZSqlProcessor, HeidiComp, sqlhelp, MysqlQueryThread, VirtualTrees, DateUtils, PngImageList, OptimizeTables, View, Usermanager, @@ -780,7 +780,6 @@ type procedure FocusGridCol(Grid: TBaseVirtualTree; Column: TColumnIndex); public virtualDesktopName: string; - regMain : TRegistry; MaintenanceForm: TOptimize; ViewForm: TfrmView; UserManagerForm: TUserManagerForm; @@ -843,16 +842,12 @@ type DataGridCurrentSort : WideString; property Delimiter: String read FDelimiter write SetDelimiter; - procedure OpenRegistry(Session: String = ''); procedure CallSQLHelpWithKeyword( keyword: String ); procedure AddOrRemoveFromQueryLoadHistory( filename: String; AddIt: Boolean = true; CheckIfFileExists: Boolean = true ); procedure popupQueryLoadClick( sender: TObject ); procedure FillPopupQueryLoad; procedure PopupQueryLoadRemoveAbsentFiles( sender: TObject ); - function GetRegValue( valueName: String; defaultValue: Integer; Session: String = '' ) : Integer; Overload; - function GetRegValue( valueName: String; defaultValue: Boolean; Session: String = '' ) : Boolean; Overload; - function GetRegValue( valueName: String; defaultValue: String; Session: String = '' ) : String; Overload; function InitConnection(parHost, parPort, parUser, parPass, parDatabase, parTimeout, parCompress, parSortDatabases, parDescription: WideString): Boolean; //procedure HandleQueryNotification(ASender : TMysqlQuery; AEvent : Integer); function GetVisualDataset: PGridResult; @@ -1057,7 +1052,8 @@ procedure TMainForm.saveWindowConfig; var ws: String; begin - with TRegistry.Create do begin + OpenRegistry; + with MainReg do begin if OpenKey(REGPATH + virtualDesktopName + '\', True) then begin // Convert set to string. if WindowState = wsNormal then ws := 'Normal' else @@ -1073,8 +1069,6 @@ begin WriteInteger(REGNAME_WINDOWWIDTH, Width); WriteInteger(REGNAME_WINDOWHEIGHT, Height); end; - CloseKey; - Free; end; end; @@ -1083,7 +1077,8 @@ var ws: String; begin // Called on application start or when monitor configuration has changed. - with TRegistry.Create do begin + OpenRegistry; + with MainReg do begin if not OpenKey(REGPATH + virtualDesktopName + '\', False) then begin // Switch to default configuration if nothing was stored. setDefaultWindowConfig; @@ -1158,7 +1153,6 @@ procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction); var filename : String; buffer : array[0..MAX_PATH] of char; - reg: TRegistry; begin // Post pending UPDATE if DataGridHasChanges then @@ -1184,41 +1178,37 @@ begin FreeAndNil(SqlMessages); LeaveCriticalSection(SqlMessagesLock); - reg := TRegistry.Create(); - if reg.OpenKey( REGPATH, true ) then - begin - // Position of Toolbars - reg.WriteInteger(REGNAME_TOOLBAR2LEFT, ToolBarStandard.Left); - reg.WriteInteger(REGNAME_TOOLBAR2TOP, ToolBarStandard.Top); - reg.WriteInteger(REGNAME_TOOLBARDBLEFT, ToolBarDatabase.Left); - reg.WriteInteger(REGNAME_TOOLBARDBTOP, ToolBarDatabase.Top); - reg.WriteInteger(REGNAME_TOOLBARDATALEFT, ToolBarData.Left); - reg.WriteInteger(REGNAME_TOOLBARDATATOP, ToolBarData.Top); - reg.WriteInteger(REGNAME_TOOLBARQUERYLEFT, ToolBarQuery.Left); - reg.WriteInteger(REGNAME_TOOLBARQUERYTOP, ToolBarQuery.Top); + OpenRegistry; + // Position of Toolbars + MainReg.WriteInteger(REGNAME_TOOLBAR2LEFT, ToolBarStandard.Left); + MainReg.WriteInteger(REGNAME_TOOLBAR2TOP, ToolBarStandard.Top); + MainReg.WriteInteger(REGNAME_TOOLBARDBLEFT, ToolBarDatabase.Left); + MainReg.WriteInteger(REGNAME_TOOLBARDBTOP, ToolBarDatabase.Top); + MainReg.WriteInteger(REGNAME_TOOLBARDATALEFT, ToolBarData.Left); + MainReg.WriteInteger(REGNAME_TOOLBARDATATOP, ToolBarData.Top); + MainReg.WriteInteger(REGNAME_TOOLBARQUERYLEFT, ToolBarQuery.Left); + MainReg.WriteInteger(REGNAME_TOOLBARQUERYTOP, ToolBarQuery.Top); - // Save delimiter - reg.WriteString( REGNAME_DELIMITER, Delimiter ); + // Save delimiter + MainReg.WriteString( REGNAME_DELIMITER, Delimiter ); - reg.WriteInteger( REGNAME_QUERYMEMOHEIGHT, pnlQueryMemo.Height ); - reg.WriteInteger( REGNAME_QUERYHELPERSWIDTH, pnlQueryHelpers.Width ); - reg.WriteInteger( REGNAME_DBTREEWIDTH, DBtree.width ); - reg.WriteInteger( REGNAME_SQLOUTHEIGHT, SynMemoSQLLog.Height ); + MainReg.WriteInteger( REGNAME_QUERYMEMOHEIGHT, pnlQueryMemo.Height ); + MainReg.WriteInteger( REGNAME_QUERYHELPERSWIDTH, pnlQueryHelpers.Width ); + MainReg.WriteInteger( REGNAME_DBTREEWIDTH, DBtree.width ); + MainReg.WriteInteger( REGNAME_SQLOUTHEIGHT, SynMemoSQLLog.Height ); - // Save width of probably resized columns of all VirtualTrees - SaveListSetup(ListVariables); - SaveListSetup(ListStatus); - SaveListSetup(ListProcesses); - SaveListSetup(ListCommandStats); - SaveListSetup(ListTables); - SaveListSetup(ListColumns); + // Save width of probably resized columns of all VirtualTrees + SaveListSetup(ListVariables); + SaveListSetup(ListStatus); + SaveListSetup(ListProcesses); + SaveListSetup(ListCommandStats); + SaveListSetup(ListTables); + SaveListSetup(ListColumns); - // Open server-specific registry-folder. - // relative from already opened folder! - reg.OpenKey( REGKEY_SESSIONS + FConn.Description, true ); - reg.WriteString( REGNAME_LASTUSEDDB, Utf8Encode(ActiveDatabase) ); - end; - FreeAndNil(reg); + // Open server-specific registry-folder. + // relative from already opened folder! + OpenRegistry(FConn.Description); + MainReg.WriteString( REGNAME_LASTUSEDDB, Utf8Encode(ActiveDatabase) ); // Clear database and table lists DBtree.Clear; @@ -1252,9 +1242,9 @@ begin deletefile(filename+'gif'); if FileExists(filename+'bmp') then deletefile(filename+'bmp'); - if regMain <> nil then begin - regMain.CloseKey; - regMain.Free; + if MainReg <> nil then begin + MainReg.CloseKey; + MainReg.Free; end; end; @@ -1365,7 +1355,6 @@ var sValue, parHost, parPort, parUser, parPass, parDatabase, parTimeout, parCompress, parSortDatabases, parDescription : String; - reg : TRegistry; LastUpdatecheck : TDateTime; UpdatecheckInterval : Integer; DefaultLastrunDate : String; @@ -1438,19 +1427,16 @@ begin parDescription) then begin // Save session parameters to registry - reg := TRegistry.Create; - if reg.OpenKey(REGPATH + REGKEY_SESSIONS + parDescription, true) then + if MainReg.OpenKey(REGPATH + REGKEY_SESSIONS + parDescription, true) then begin - reg.WriteString(REGNAME_HOST, parHost); - reg.WriteString(REGNAME_USER, parUser); - reg.WriteString(REGNAME_PASSWORD, encrypt(parPass)); - reg.WriteString(REGNAME_PORT, parPort); - reg.WriteString(REGNAME_TIMEOUT, parTimeout); - reg.WriteBool(REGNAME_COMPRESSED, Boolean(StrToIntDef(parCompress, 0)) ); - reg.WriteString(REGNAME_ONLYDBS, parDatabase); - reg.WriteBool(REGNAME_ONLYDBSSORTED, Boolean(StrToIntDef(parSortDatabases, 0)) ); - reg.CloseKey; - reg.Free; + MainReg.WriteString(REGNAME_HOST, parHost); + MainReg.WriteString(REGNAME_USER, parUser); + MainReg.WriteString(REGNAME_PASSWORD, encrypt(parPass)); + MainReg.WriteString(REGNAME_PORT, parPort); + MainReg.WriteString(REGNAME_TIMEOUT, parTimeout); + MainReg.WriteBool(REGNAME_COMPRESSED, Boolean(StrToIntDef(parCompress, 0)) ); + MainReg.WriteString(REGNAME_ONLYDBS, parDatabase); + MainReg.WriteBool(REGNAME_ONLYDBSSORTED, Boolean(StrToIntDef(parSortDatabases, 0)) ); end; DataGridHasChanges := False; @@ -1493,15 +1479,8 @@ begin if DatabasesWanted.Count > 0 then begin DatabasesWanted.Add( newdb ); - with TRegistry.Create do - begin - if OpenKey(REGPATH + REGKEY_SESSIONS + Conn.Description, false) then - begin - WriteString( 'OnlyDBs', ImplodeStr( ';', DatabasesWanted ) ); - CloseKey; - end; - Free; - end; + OpenRegistry(Conn.Description); + MainReg.WriteString( 'OnlyDBs', ImplodeStr( ';', DatabasesWanted ) ); end; // reload db nodes and switch to new one RefreshTree(False, newdb); @@ -2056,65 +2035,6 @@ begin end; -{** - Init main registry object and open desired key - Outsoureced from GetRegValue() to avoid redundant code - in these 3 overloaded methods. -} -procedure TMainForm.OpenRegistry(Session: String = ''); -var - folder : String; -begin - if regMain = nil then - regMain := TRegistry.Create; - folder := REGPATH; - if Session <> '' then - folder := folder + REGKEY_SESSIONS + Session; - if regMain.CurrentPath <> folder then - regMain.OpenKey(folder, false); -end; - - -{** - Read a numeric preference value from registry -} -function TMainForm.GetRegValue( valueName: String; defaultValue: Integer; Session: String = '' ) : Integer; -begin - result := defaultValue; - OpenRegistry(Session); - if regMain.ValueExists( valueName ) then - result := regMain.ReadInteger( valueName ); -end; - - -{*** - Read a boolean preference value from registry - @param string Name of the value - @param boolean Default-value to return if valueName was not found - @param string Subkey of REGPATH where to search for the value -} -function TMainForm.GetRegValue( valueName: String; defaultValue: Boolean; Session: String = '' ) : Boolean; -begin - result := defaultValue; - OpenRegistry(Session); - if regMain.ValueExists( valueName ) then - result := regMain.ReadBool( valueName ); -end; - - - -{*** - Read a text preference value from registry -} -function TMainForm.GetRegValue( valueName: String; defaultValue: String; Session: String = '' ) : String; -begin - result := defaultValue; - OpenRegistry(Session); - if regMain.ValueExists( valueName ) then - result := regMain.ReadString( valueName ); -end; - - {** Parse commandline for a specific name=value pair @@ -2175,7 +2095,6 @@ var miFunction, miFilterFunction : TMenuItem; functioncats : TStringList; - reg : TRegistry; begin // fill structure ZeroMemory (@FConn,SizeOf(FConn)); @@ -2228,11 +2147,8 @@ begin // in case of unexpected application-termination AutoReconnect := GetRegValue(REGNAME_AUTORECONNECT, DEFAULT_AUTORECONNECT); if AutoReconnect then begin - reg := TRegistry.Create(); - reg.OpenKey( REGPATH, true ); - reg.WriteBool( REGNAME_AUTORECONNECT, False ); - reg.CloseKey; - FreeAndNil(reg); + OpenRegistry; + MainReg.WriteBool( REGNAME_AUTORECONNECT, False ); end; ReadWindowOptions(); @@ -2262,11 +2178,8 @@ begin // Re-enable AutoReconnect in Registry! if AutoReconnect then begin - reg := TRegistry.Create; - reg.OpenKey( REGPATH, true ); - reg.WriteBool( REGNAME_AUTORECONNECT, true ); - reg.CloseKey; - FreeAndNil(reg); + OpenRegistry; + MainReg.WriteBool( REGNAME_AUTORECONNECT, true ); end; // Define window properties @@ -2541,13 +2454,8 @@ begin ClearDbTableList(db); if DatabasesWanted.IndexOf(db) > -1 then begin DatabasesWanted.Delete( DatabasesWanted.IndexOf(db) ); - with TRegistry.Create do begin - if OpenKey(REGPATH + REGKEY_SESSIONS + Conn.Description, false) then begin - WriteString( 'OnlyDBs', ImplodeStr( ';', DatabasesWanted ) ); - CloseKey; - end; - Free; - end; + OpenRegistry(Conn.Description); + MainReg.WriteString( 'OnlyDBs', ImplodeStr( ';', DatabasesWanted ) ); end; DBtree.Selected[DBtree.GetFirst] := true; RefreshTree(False); @@ -2887,16 +2795,14 @@ procedure TMainform.AddOrRemoveFromQueryLoadHistory( filename: String; AddIt: Bo var i : Integer; Values, newfilelist : TStringList; - reg : TRegistry; savedfilename : String; begin // Add or remove filename to/from history, avoiding duplicates - reg := TRegistry.Create; - reg.openkey(REGPATH, true); newfilelist := TStringList.create; Values := TStringList.create; - reg.GetValueNames( Values ); + OpenRegistry; + MainReg.GetValueNames( Values ); // Add new filename if AddIt then @@ -2907,7 +2813,7 @@ begin if Pos( 'SQLFile', Values[i] ) <> 1 then continue; savedfilename := GetRegValue( Values[i], '' ); - reg.DeleteValue( Values[i] ); + MainReg.DeleteValue( Values[i] ); if CheckIfFileExists and (not FileExists( savedfilename )) then continue; if (savedfilename <> filename) and (newfilelist.IndexOf(savedfilename)=-1) then @@ -2918,10 +2824,8 @@ begin for i := 0 to newfilelist.Count-1 do begin if i >= 20 then break; - reg.WriteString( 'SQLFile'+IntToStr(i), newfilelist[i] ); + MainReg.WriteString( 'SQLFile'+IntToStr(i), newfilelist[i] ); end; - - reg.Free; end; @@ -3057,7 +2961,7 @@ begin if cs.Execute then begin DBtree.Color := cs.Dialog.Color; OpenRegistry(SessionName); - regmain.WriteInteger(REGNAME_TREEBACKGROUND, cs.Dialog.Color); + MainReg.WriteInteger(REGNAME_TREEBACKGROUND, cs.Dialog.Color); end; end; @@ -3430,7 +3334,6 @@ var rx : TRegExpr; ColType : String; ColExists, ShowIt : Boolean; - reg : TRegistry; procedure InitColumn(name: WideString; ColType: String; Visible: Boolean); var @@ -3552,22 +3455,20 @@ begin SynMemoFilter.Clear; SetLength(FDataGridSort, 0); // Load default view settings - reg := TRegistry.Create; - if reg.OpenKey(GetRegKeyTable, False) then begin - if reg.ValueExists(REGNAME_DEFAULTVIEW) then begin + OpenRegistry; + if MainReg.OpenKey(GetRegKeyTable, False) then begin + if MainReg.ValueExists(REGNAME_DEFAULTVIEW) then begin // Disable default if crash indicator on current table is found - if reg.ValueExists(REGPREFIX_CRASH_IN_DATA) then begin - reg.DeleteValue(REGNAME_DEFAULTVIEW); + if MainReg.ValueExists(REGPREFIX_CRASH_IN_DATA) then begin + MainReg.DeleteValue(REGNAME_DEFAULTVIEW); LogSQL('A crash in the previous data loading for this table ('+SelectedTable+') was detected. Filtering was automatically reset to avoid the same crash for now.'); // Reset crash indicator. - reg.DeleteValue(REGPREFIX_CRASH_IN_DATA); + MainReg.DeleteValue(REGPREFIX_CRASH_IN_DATA); end else begin - LoadDataView(reg.ReadString(REGNAME_DEFAULTVIEW)); + LoadDataView(MainReg.ReadString(REGNAME_DEFAULTVIEW)); end; end; end; - reg.CloseKey; - reg.Free; end; FillDataViewPopup; @@ -6701,11 +6602,7 @@ procedure TMainForm.SaveListSetup( List: TVirtualStringTree ); var i : Byte; ColWidths, ColsVisible, ColPos : String; - reg : TRegistry; begin - reg := TRegistry.Create; - reg.OpenKey( REGPATH, true ); - ColWidths := ''; ColsVisible := ''; ColPos := ''; @@ -6730,10 +6627,10 @@ begin ColPos := ColPos + IntToStr(List.Header.Columns[i].Position); end; - reg.WriteString( REGPREFIX_COLWIDTHS + List.Name, ColWidths ); - reg.WriteString( REGPREFIX_COLSVISIBLE + List.Name, ColsVisible ); - reg.WriteString( REGPREFIX_COLPOS + List.Name, ColPos ); - FreeAndNil(reg); + OpenRegistry; + MainReg.WriteString( REGPREFIX_COLWIDTHS + List.Name, ColWidths ); + MainReg.WriteString( REGPREFIX_COLSVISIBLE + List.Name, ColsVisible ); + MainReg.WriteString( REGPREFIX_COLPOS + List.Name, ColPos ); end; @@ -6900,7 +6797,6 @@ end; } procedure TMainForm.menuLogToFileClick(Sender: TObject); var - reg : TRegistry; OldprefLogToFile: Boolean; begin OldprefLogToFile := prefLogToFile; @@ -6912,10 +6808,8 @@ begin // Save option if prefLogToFile <> OldprefLogToFile then begin - reg := TRegistry.Create; - reg.OpenKey(REGPATH, true); - reg.WriteBool('LogToFile', prefLogToFile); - reg.Free; + OpenRegistry; + MainReg.WriteBool('LogToFile', prefLogToFile); end; end; @@ -7734,7 +7628,6 @@ var query: WideString; ds: TDataSet; i, j: LongInt; - reg: TRegistry; regCrashIndicName: String; begin if Sender = DataGrid then res := @FDataGridResult @@ -7749,10 +7642,9 @@ begin query := query + WideFormat(' LIMIT %d, %d', [start, limit]); // Set indicator for possibly crashing query - reg := TRegistry.Create; - reg.OpenKey( REGPATH + REGKEY_SESSIONS + FConn.Description, true ); + OpenRegistry(FConn.Description); regCrashIndicName := Utf8Encode(REGPREFIX_CRASH_IN_DATA + ActiveDatabase + '.' + SelectedTable); - reg.WriteBool(regCrashIndicName, True); + MainReg.WriteBool(regCrashIndicName, True); // start query ShowStatus('Retrieving data...'); @@ -7766,9 +7658,7 @@ begin debug(Format('mem: loaded data chunk from row %d to %d', [start, limit])); // Query was completed successfully. Reset crash indicator. - reg.DeleteValue(regCrashIndicName); - reg.CloseKey; - reg.Free; + MainReg.DeleteValue(regCrashIndicName); // fill in data ShowStatus('Filling grid with record-data...'); @@ -8549,7 +8439,6 @@ end; procedure TMainForm.menuShowSizeColumnClick(Sender: TObject); var - reg: TRegistry; NewVal: Boolean; begin NewVal := not TMenuItem(Sender).Checked; @@ -8558,11 +8447,8 @@ begin DBtree.Header.Columns[1].Options := DBtree.Header.Columns[1].Options + [coVisible] else DBtree.Header.Columns[1].Options := DBtree.Header.Columns[1].Options - [coVisible]; - reg := TRegistry.Create; - reg.OpenKey(REGPATH, true); - reg.WriteBool(REGNAME_SIZECOL_TREE, NewVal); - reg.CloseKey; - FreeAndNil(reg); + OpenRegistry; + MainReg.WriteBool(REGNAME_SIZECOL_TREE, NewVal); end; @@ -8666,7 +8552,6 @@ var i: Integer; DataViews: TStringList; mi: TMenuItem; - reg: TRegistry; begin // Load all view names into popupmenu for i := popupDataView.Items.Count-1 downto 0 do begin @@ -8676,15 +8561,13 @@ begin end; // Unhide "Load xyz by default" item if default is set menuViewDefault.Visible := False; - reg := TRegistry.Create; - if reg.OpenKey(GetRegKeyTable, False) then begin - if reg.ValueExists(REGNAME_DEFAULTVIEW) then begin - menuViewDefault.Caption := 'Load view "'+reg.ReadString(REGNAME_DEFAULTVIEW)+'" by default'; + OpenRegistry; + if MainReg.OpenKey(GetRegKeyTable, False) then begin + if MainReg.ValueExists(REGNAME_DEFAULTVIEW) then begin + menuViewDefault.Caption := 'Load view "'+MainReg.ReadString(REGNAME_DEFAULTVIEW)+'" by default'; menuViewDefault.Visible := True; end; end; - reg.CloseKey; - reg.Free; // Add views DataViews := TStringList.Create; GetDataViews(DataViews); @@ -8712,18 +8595,15 @@ end; procedure TMainForm.GetDataViews(List: TStrings); var - reg: TRegistry; i: Integer; begin // Load all view names into popupmenu - reg := TRegistry.Create; - if reg.OpenKey(GetRegKeyTable, False) then begin - reg.GetKeyNames(List); + OpenRegistry; + if MainReg.OpenKey(GetRegKeyTable, False) then begin + MainReg.GetKeyNames(List); for i := 0 to List.Count - 1 do List[i] := Copy(List[i], Length(REGPREFIX_DATAVIEW)+1, Length(List[i])); - reg.CloseKey; end; - FreeAndNil(reg); end; @@ -8739,17 +8619,13 @@ end; procedure TMainForm.menuViewDefaultClick(Sender: TObject); -var - reg: TRegistry; begin menuViewDefault.Visible := False; - reg := TRegistry.Create; - if reg.OpenKey(GetRegKeyTable, False) then begin - if reg.ValueExists(REGNAME_DEFAULTVIEW) then - reg.DeleteValue(REGNAME_DEFAULTVIEW) + OpenRegistry; + if MainReg.OpenKey(GetRegKeyTable, False) then begin + if MainReg.ValueExists(REGNAME_DEFAULTVIEW) then + MainReg.DeleteValue(REGNAME_DEFAULTVIEW) end; - reg.CloseKey; - reg.Free; end; @@ -8762,16 +8638,15 @@ end; procedure TMainForm.LoadDataView(ViewName: String); var - reg: TRegistry; rx: TRegExpr; idx: Integer; begin - reg := TRegistry.Create; - if reg.OpenKey(GetRegKeyTable + '\' + REGPREFIX_DATAVIEW + ViewName, False) then begin + OpenRegistry; + if MainReg.OpenKey(GetRegKeyTable + '\' + REGPREFIX_DATAVIEW + ViewName, False) then begin // Columns - FDataGridSelect.DelimitedText := Utf8Decode(reg.ReadString(REGNAME_DISPLAYEDCOLUMNS)); + FDataGridSelect.DelimitedText := Utf8Decode(MainReg.ReadString(REGNAME_DISPLAYEDCOLUMNS)); // Filter - SynMemoFilter.Text := Utf8Decode(reg.ReadString(REGNAME_FILTER)); + SynMemoFilter.Text := Utf8Decode(MainReg.ReadString(REGNAME_FILTER)); if SynMemoFilter.GetTextLen > 0 then ToggleFilterPanel(True); // Sort @@ -8779,7 +8654,7 @@ begin rx := TRegExpr.Create; rx.Expression := '\b(\d)_(.+)\'+REGDELIM; rx.ModifierG := False; - if rx.Exec(Utf8Decode(reg.ReadString(REGNAME_SORT))) then while true do begin + if rx.Exec(Utf8Decode(MainReg.ReadString(REGNAME_SORT))) then while true do begin idx := Length(FDataGridSort); SetLength(FDataGridSort, idx+1); FDataGridSort[idx] := TOrderCol.Create; diff --git a/source/optimizetables.pas b/source/optimizetables.pas index f0be32b7..df12dcdf 100644 --- a/source/optimizetables.pas +++ b/source/optimizetables.pas @@ -10,7 +10,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, - ExtCtrls, StdCtrls, CheckLst, comctrls, Buttons, ToolWin, Db, Registry, + ExtCtrls, StdCtrls, CheckLst, comctrls, Buttons, ToolWin, Db, WideStrings, TntCheckLst, TntStdCtrls, WideStrUtils; type @@ -67,8 +67,8 @@ uses helpers, main; } procedure Toptimize.FormCreate(Sender: TObject); begin - Width := Mainform.GetRegValue(REGNAME_MAINTWINWIDTH, Width); - Height := Mainform.GetRegValue(REGNAME_MAINTWINHEIGHT, Height); + Width := GetRegValue(REGNAME_MAINTWINWIDTH, Width); + Height := GetRegValue(REGNAME_MAINTWINHEIGHT, Height); SetWindowSizeGrip( Self.Handle, True ); InheritFont(Font); end; @@ -78,16 +78,10 @@ end; FormDestroy: Save GUI setup } procedure Toptimize.FormDestroy(Sender: TObject); -var - reg : TRegistry; begin - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_MAINTWINWIDTH, Width ); - reg.WriteInteger( REGNAME_MAINTWINHEIGHT, Height ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_MAINTWINWIDTH, Width ); + MainReg.WriteInteger( REGNAME_MAINTWINHEIGHT, Height ); Close; end; diff --git a/source/options.pas b/source/options.pas index 672bfee8..407a99d5 100644 --- a/source/options.pas +++ b/source/options.pas @@ -10,7 +10,7 @@ interface uses Windows, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, - StdCtrls, ComCtrls, Registry, ExtCtrls, SynEditHighlighter, SynHighlighterSQL, + StdCtrls, ComCtrls, ExtCtrls, SynEditHighlighter, SynHighlighterSQL, SynEdit, SynMemo; type @@ -164,63 +164,56 @@ end; Apply settings to registry and mainform } procedure Toptionsform.Apply(Sender: TObject); -var - reg : TRegistry; begin Screen.Cursor := crHourGlass; // Open registry key - reg := TRegistry.Create; - reg.OpenKey(REGPATH, true); + OpenRegistry; // Save values - reg.WriteBool(REGNAME_AUTORECONNECT, chkAutoReconnect.Checked); - reg.WriteBool(REGNAME_RESTORELASTUSEDDB, chkRestoreLastDB.Checked); - reg.WriteString(REGNAME_FONTNAME, comboSQLFontName.Text); - reg.WriteInteger(REGNAME_FONTSIZE, updownSQLFontSize.Position); - reg.WriteInteger(REGNAME_LOGSQLNUM, updownLogLines.Position); - reg.WriteInteger(REGNAME_LOGSQLWIDTH, updownLogSnip.Position); - reg.WriteString(REGNAME_SQLCOLKEYATTRI, colortostring(SynSQLSynSQLSample.KeyAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLFUNCTIONATTRI, colortostring(SynSQLSynSQLSample.FunctionAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLDATATYPEATTRI, colortostring(SynSQLSynSQLSample.DataTypeAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLNUMBERATTRI, colortostring(SynSQLSynSQLSample.NumberAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLSTRINGATTRI, colortostring(SynSQLSynSQLSample.StringAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLCOMMENTATTRI, colortostring(SynSQLSynSQLSample.CommentAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLCONDCOMMATTRI, colortostring(SynSQLSynSQLSample.ConditionalCommentAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLTABLENAMEATTRI, colortostring(SynSQLSynSQLSample.TableNameAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLSYMBOLATTRI, colortostring(SynSQLSynSQLSample.SymbolAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLIDENTATTRI, colortostring(SynSQLSynSQLSample.IdentifierAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLDELIMIDENTATTRI, colortostring(SynSQLSynSQLSample.DelimitedIdentifierAttri.Foreground)); - reg.WriteString(REGNAME_SQLCOLACTIVELINE, ColorToString(SynMemoSQLSample.ActiveLineColor)); - reg.WriteString(REGNAME_CSV_SEPARATOR, editCSVSeparator.Text); - reg.WriteString(REGNAME_CSV_ENCLOSER, editCSVEncloser.Text); - reg.WriteString(REGNAME_CSV_TERMINATOR, editCSVTerminator.Text); - reg.WriteInteger(REGNAME_MAXCOLWIDTH, updownMaxColWidth.Position); - reg.WriteString(REGNAME_DATAFONTNAME, comboDataFontName.Text); - reg.WriteInteger(REGNAME_DATAFONTSIZE, updownDataFontSize.Position); - reg.WriteBool(REGNAME_LOGTOFILE, chkLogToFile.Checked); - reg.WriteBool(REGNAME_DO_UPDATECHECK, chkUpdatecheck.Checked); - reg.WriteBool(REGNAME_DO_UPDATECHECK_BUILDS, chkUpdatecheckBuilds.Checked); - reg.WriteInteger(REGNAME_UPDATECHECK_INTERVAL, updownUpdatecheckInterval.Position); - reg.WriteBool(REGNAME_PREFER_SHOWTABLES, chkPreferShowTables.Checked); + MainReg.WriteBool(REGNAME_AUTORECONNECT, chkAutoReconnect.Checked); + MainReg.WriteBool(REGNAME_RESTORELASTUSEDDB, chkRestoreLastDB.Checked); + MainReg.WriteString(REGNAME_FONTNAME, comboSQLFontName.Text); + MainReg.WriteInteger(REGNAME_FONTSIZE, updownSQLFontSize.Position); + MainReg.WriteInteger(REGNAME_LOGSQLNUM, updownLogLines.Position); + MainReg.WriteInteger(REGNAME_LOGSQLWIDTH, updownLogSnip.Position); + MainReg.WriteString(REGNAME_SQLCOLKEYATTRI, colortostring(SynSQLSynSQLSample.KeyAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLFUNCTIONATTRI, colortostring(SynSQLSynSQLSample.FunctionAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLDATATYPEATTRI, colortostring(SynSQLSynSQLSample.DataTypeAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLNUMBERATTRI, colortostring(SynSQLSynSQLSample.NumberAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLSTRINGATTRI, colortostring(SynSQLSynSQLSample.StringAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLCOMMENTATTRI, colortostring(SynSQLSynSQLSample.CommentAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLCONDCOMMATTRI, colortostring(SynSQLSynSQLSample.ConditionalCommentAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLTABLENAMEATTRI, colortostring(SynSQLSynSQLSample.TableNameAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLSYMBOLATTRI, colortostring(SynSQLSynSQLSample.SymbolAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLIDENTATTRI, colortostring(SynSQLSynSQLSample.IdentifierAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLDELIMIDENTATTRI, colortostring(SynSQLSynSQLSample.DelimitedIdentifierAttri.Foreground)); + MainReg.WriteString(REGNAME_SQLCOLACTIVELINE, ColorToString(SynMemoSQLSample.ActiveLineColor)); + MainReg.WriteString(REGNAME_CSV_SEPARATOR, editCSVSeparator.Text); + MainReg.WriteString(REGNAME_CSV_ENCLOSER, editCSVEncloser.Text); + MainReg.WriteString(REGNAME_CSV_TERMINATOR, editCSVTerminator.Text); + MainReg.WriteInteger(REGNAME_MAXCOLWIDTH, updownMaxColWidth.Position); + MainReg.WriteString(REGNAME_DATAFONTNAME, comboDataFontName.Text); + MainReg.WriteInteger(REGNAME_DATAFONTSIZE, updownDataFontSize.Position); + MainReg.WriteBool(REGNAME_LOGTOFILE, chkLogToFile.Checked); + MainReg.WriteBool(REGNAME_DO_UPDATECHECK, chkUpdatecheck.Checked); + MainReg.WriteBool(REGNAME_DO_UPDATECHECK_BUILDS, chkUpdatecheckBuilds.Checked); + MainReg.WriteInteger(REGNAME_UPDATECHECK_INTERVAL, updownUpdatecheckInterval.Position); + MainReg.WriteBool(REGNAME_PREFER_SHOWTABLES, chkPreferShowTables.Checked); // Save color settings - reg.WriteInteger(REGNAME_FIELDCOLOR_NUMERIC, cboxNumeric.Selected); - reg.WriteInteger(REGNAME_FIELDCOLOR_TEXT, cboxText.Selected); - reg.WriteInteger(REGNAME_FIELDCOLOR_BINARY, cboxBinary.Selected); - reg.WriteInteger(REGNAME_FIELDCOLOR_DATETIME, cboxDatetime.Selected); - reg.WriteInteger(REGNAME_FIELDCOLOR_ENUM, cboxEnum.Selected); - reg.WriteInteger(REGNAME_FIELDCOLOR_SET, cboxSet.Selected); - reg.WriteInteger(REGNAME_BG_NULL, cboxNullBg.Selected); + MainReg.WriteInteger(REGNAME_FIELDCOLOR_NUMERIC, cboxNumeric.Selected); + MainReg.WriteInteger(REGNAME_FIELDCOLOR_TEXT, cboxText.Selected); + MainReg.WriteInteger(REGNAME_FIELDCOLOR_BINARY, cboxBinary.Selected); + MainReg.WriteInteger(REGNAME_FIELDCOLOR_DATETIME, cboxDatetime.Selected); + MainReg.WriteInteger(REGNAME_FIELDCOLOR_ENUM, cboxEnum.Selected); + MainReg.WriteInteger(REGNAME_FIELDCOLOR_SET, cboxSet.Selected); + MainReg.WriteInteger(REGNAME_BG_NULL, cboxNullBg.Selected); // Editor enablings - reg.WriteBool(REGNAME_FIELDEDITOR_BINARY, chkEditorBinary.Checked); - reg.WriteBool(REGNAME_FIELDEDITOR_DATETIME, chkEditorDatetime.Checked); - reg.WriteBool(REGNAME_FIELDEDITOR_ENUM, chkEditorEnum.Checked); - reg.WriteBool(REGNAME_FIELDEDITOR_SET, chkEditorSet.Checked); - reg.WriteBool(REGNAME_BG_NULL_ENABLED, chkNullBg.Checked); - - // Close registry key - reg.CloseKey; - reg.Free; + MainReg.WriteBool(REGNAME_FIELDEDITOR_BINARY, chkEditorBinary.Checked); + MainReg.WriteBool(REGNAME_FIELDEDITOR_DATETIME, chkEditorDatetime.Checked); + MainReg.WriteBool(REGNAME_FIELDEDITOR_ENUM, chkEditorEnum.Checked); + MainReg.WriteBool(REGNAME_FIELDEDITOR_SET, chkEditorSet.Checked); + MainReg.WriteBool(REGNAME_BG_NULL_ENABLED, chkNullBg.Checked); // Set relevant properties in mainform Mainform.SynMemoQuery.Font := SynMemoSQLSample.Font; @@ -313,28 +306,28 @@ begin screen.Cursor := crHourGlass; // Read and display values - sqlfontname := Mainform.GetRegValue(REGNAME_FONTNAME, DEFAULT_FONTNAME); - sqlfontsize := Mainform.GetRegValue(REGNAME_FONTSIZE, DEFAULT_FONTSIZE); - datafontname := Mainform.GetRegValue(REGNAME_DATAFONTNAME, DEFAULT_DATAFONTNAME); - datafontsize := Mainform.GetRegValue(REGNAME_DATAFONTSIZE, DEFAULT_DATAFONTSIZE); - chkAutoReconnect.Checked := Mainform.GetRegValue(REGNAME_AUTORECONNECT, DEFAULT_AUTORECONNECT); - chkRestoreLastDB.Checked := Mainform.GetRegValue(REGNAME_RESTORELASTUSEDDB, DEFAULT_RESTORELASTUSEDDB); - updownLogLines.Position := Mainform.GetRegValue(REGNAME_LOGSQLNUM, DEFAULT_LOGSQLNUM); - updownLogSnip.Position := Mainform.GetRegValue(REGNAME_LOGSQLWIDTH, DEFAULT_LOGSQLWIDTH); - chkUpdatecheck.Checked := Mainform.GetRegValue(REGNAME_DO_UPDATECHECK, DEFAULT_DO_UPDATECHECK); - chkUpdatecheckBuilds.Checked := Mainform.GetRegValue(REGNAME_DO_UPDATECHECK_BUILDS, DEFAULT_DO_UPDATECHECK_BUILDS); - updownUpdatecheckInterval.Position := Mainform.GetRegValue(REGNAME_UPDATECHECK_INTERVAL, DEFAULT_UPDATECHECK_INTERVAL); + sqlfontname := GetRegValue(REGNAME_FONTNAME, DEFAULT_FONTNAME); + sqlfontsize := GetRegValue(REGNAME_FONTSIZE, DEFAULT_FONTSIZE); + datafontname := GetRegValue(REGNAME_DATAFONTNAME, DEFAULT_DATAFONTNAME); + datafontsize := GetRegValue(REGNAME_DATAFONTSIZE, DEFAULT_DATAFONTSIZE); + chkAutoReconnect.Checked := GetRegValue(REGNAME_AUTORECONNECT, DEFAULT_AUTORECONNECT); + chkRestoreLastDB.Checked := GetRegValue(REGNAME_RESTORELASTUSEDDB, DEFAULT_RESTORELASTUSEDDB); + updownLogLines.Position := GetRegValue(REGNAME_LOGSQLNUM, DEFAULT_LOGSQLNUM); + updownLogSnip.Position := GetRegValue(REGNAME_LOGSQLWIDTH, DEFAULT_LOGSQLWIDTH); + chkUpdatecheck.Checked := GetRegValue(REGNAME_DO_UPDATECHECK, DEFAULT_DO_UPDATECHECK); + chkUpdatecheckBuilds.Checked := GetRegValue(REGNAME_DO_UPDATECHECK_BUILDS, DEFAULT_DO_UPDATECHECK_BUILDS); + updownUpdatecheckInterval.Position := GetRegValue(REGNAME_UPDATECHECK_INTERVAL, DEFAULT_UPDATECHECK_INTERVAL); chkUpdatecheckClick(Sender); - chkPreferShowTables.Checked := Mainform.GetRegValue(REGNAME_PREFER_SHOWTABLES, DEFAULT_PREFER_SHOWTABLES); + chkPreferShowTables.Checked := GetRegValue(REGNAME_PREFER_SHOWTABLES, DEFAULT_PREFER_SHOWTABLES); // Default Column-Width in DBGrids: - updownMaxColWidth.Position := Mainform.GetRegValue(REGNAME_MAXCOLWIDTH, DEFAULT_MAXCOLWIDTH); + updownMaxColWidth.Position := GetRegValue(REGNAME_MAXCOLWIDTH, DEFAULT_MAXCOLWIDTH); // CSV-Options: - editCSVSeparator.Text := Mainform.GetRegValue(REGNAME_CSV_SEPARATOR, DEFAULT_CSV_SEPARATOR); - editCSVEncloser.Text := Mainform.GetRegValue(REGNAME_CSV_ENCLOSER, DEFAULT_CSV_ENCLOSER); - editCSVTerminator.Text := Mainform.GetRegValue(REGNAME_CSV_TERMINATOR, DEFAULT_CSV_TERMINATOR); + editCSVSeparator.Text := GetRegValue(REGNAME_CSV_SEPARATOR, DEFAULT_CSV_SEPARATOR); + editCSVEncloser.Text := GetRegValue(REGNAME_CSV_ENCLOSER, DEFAULT_CSV_ENCLOSER); + editCSVTerminator.Text := GetRegValue(REGNAME_CSV_TERMINATOR, DEFAULT_CSV_TERMINATOR); // Log to file - chkLogToFile.Checked := Mainform.GetRegValue(REGNAME_LOGTOFILE, DEFAULT_LOGTOFILE); + chkLogToFile.Checked := GetRegValue(REGNAME_LOGTOFILE, DEFAULT_LOGTOFILE); btnOpenLogFolder.Enabled := DirectoryExists(DirnameSessionLogs); // SQL-Appearance: @@ -344,18 +337,18 @@ begin LPARAM(Pointer(comboSQLFontName.Items))); // customized data // Color-coding: - SynSQLSynSQLSample.KeyAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLKEYATTRI, ColorToString(DEFAULT_SQLCOLKEYATTRI))); - SynSQLSynSQLSample.FunctionAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLFUNCTIONATTRI, ColorToString(DEFAULT_SQLCOLFUNCTIONATTRI))); - SynSQLSynSQLSample.DataTypeAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLDATATYPEATTRI, ColorToString(DEFAULT_SQLCOLDATATYPEATTRI))); - SynSQLSynSQLSample.NumberAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLNUMBERATTRI, ColorToString(DEFAULT_SQLCOLNUMBERATTRI))); - SynSQLSynSQLSample.StringAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLSTRINGATTRI, ColorToString(DEFAULT_SQLCOLSTRINGATTRI))); - SynSQLSynSQLSample.CommentAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLCOMMENTATTRI, ColorToString(DEFAULT_SQLCOLCOMMENTATTRI))); - SynSQLSynSQLSample.ConditionalCommentAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLCONDCOMMATTRI, ColorToString(DEFAULT_SQLCOLCONDCOMMATTRI))); - SynSQLSynSQLSample.TableNameAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLTABLENAMEATTRI, ColorToString(DEFAULT_SQLCOLTABLENAMEATTRI))); - SynSQLSynSQLSample.SymbolAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLSYMBOLATTRI, ColorToString(DEFAULT_SQLCOLSYMBOLATTRI))); - SynSQLSynSQLSample.IdentifierAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLIDENTATTRI, ColorToString(DEFAULT_SQLCOLIDENTATTRI))); - SynSQLSynSQLSample.DelimitedIdentifierAttri.Foreground := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLDELIMIDENTATTRI, ColorToString(DEFAULT_SQLCOLDELIMIDENTATTRI))); - SynMemoSQLSample.ActiveLineColor := StringToColor(Mainform.GetRegValue(REGNAME_SQLCOLACTIVELINE, ColorToString(DEFAULT_SQLCOLACTIVELINE))); + SynSQLSynSQLSample.KeyAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLKEYATTRI, ColorToString(DEFAULT_SQLCOLKEYATTRI))); + SynSQLSynSQLSample.FunctionAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLFUNCTIONATTRI, ColorToString(DEFAULT_SQLCOLFUNCTIONATTRI))); + SynSQLSynSQLSample.DataTypeAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLDATATYPEATTRI, ColorToString(DEFAULT_SQLCOLDATATYPEATTRI))); + SynSQLSynSQLSample.NumberAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLNUMBERATTRI, ColorToString(DEFAULT_SQLCOLNUMBERATTRI))); + SynSQLSynSQLSample.StringAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLSTRINGATTRI, ColorToString(DEFAULT_SQLCOLSTRINGATTRI))); + SynSQLSynSQLSample.CommentAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLCOMMENTATTRI, ColorToString(DEFAULT_SQLCOLCOMMENTATTRI))); + SynSQLSynSQLSample.ConditionalCommentAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLCONDCOMMATTRI, ColorToString(DEFAULT_SQLCOLCONDCOMMATTRI))); + SynSQLSynSQLSample.TableNameAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLTABLENAMEATTRI, ColorToString(DEFAULT_SQLCOLTABLENAMEATTRI))); + SynSQLSynSQLSample.SymbolAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLSYMBOLATTRI, ColorToString(DEFAULT_SQLCOLSYMBOLATTRI))); + SynSQLSynSQLSample.IdentifierAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLIDENTATTRI, ColorToString(DEFAULT_SQLCOLIDENTATTRI))); + SynSQLSynSQLSample.DelimitedIdentifierAttri.Foreground := StringToColor(GetRegValue(REGNAME_SQLCOLDELIMIDENTATTRI, ColorToString(DEFAULT_SQLCOLDELIMIDENTATTRI))); + SynMemoSQLSample.ActiveLineColor := StringToColor(GetRegValue(REGNAME_SQLCOLACTIVELINE, ColorToString(DEFAULT_SQLCOLACTIVELINE))); comboSQLFontName.ItemIndex := comboSQLFontName.Items.IndexOf(sqlfontname); updownSQLFontSize.Position := sqlfontsize; SynMemoSQLSample.Text := 'SELECT DATE_SUB(NOW(), INTERVAL 1 DAY),' + CRLF + @@ -381,19 +374,19 @@ begin comboDataFontName.ItemIndex := comboDataFontName.Items.IndexOf(datafontname); updownDataFontSize.Position := datafontsize; // Load color settings - cboxNumeric.Selected := Mainform.GetRegValue(REGNAME_FIELDCOLOR_NUMERIC, DEFAULT_FIELDCOLOR_NUMERIC); - cboxText.Selected := Mainform.GetRegValue(REGNAME_FIELDCOLOR_TEXT, DEFAULT_FIELDCOLOR_TEXT); - cboxBinary.Selected := Mainform.GetRegValue(REGNAME_FIELDCOLOR_BINARY, DEFAULT_FIELDCOLOR_BINARY); - cboxDatetime.Selected := Mainform.GetRegValue(REGNAME_FIELDCOLOR_DATETIME, DEFAULT_FIELDCOLOR_DATETIME); - cboxEnum.Selected := Mainform.GetRegValue(REGNAME_FIELDCOLOR_ENUM, DEFAULT_FIELDCOLOR_ENUM); - cboxSet.Selected := Mainform.GetRegValue(REGNAME_FIELDCOLOR_SET, DEFAULT_FIELDCOLOR_SET); - cboxNullBG.Selected := Mainform.GetRegValue(REGNAME_BG_NULL, DEFAULT_BG_NULL); + cboxNumeric.Selected := GetRegValue(REGNAME_FIELDCOLOR_NUMERIC, DEFAULT_FIELDCOLOR_NUMERIC); + cboxText.Selected := GetRegValue(REGNAME_FIELDCOLOR_TEXT, DEFAULT_FIELDCOLOR_TEXT); + cboxBinary.Selected := GetRegValue(REGNAME_FIELDCOLOR_BINARY, DEFAULT_FIELDCOLOR_BINARY); + cboxDatetime.Selected := GetRegValue(REGNAME_FIELDCOLOR_DATETIME, DEFAULT_FIELDCOLOR_DATETIME); + cboxEnum.Selected := GetRegValue(REGNAME_FIELDCOLOR_ENUM, DEFAULT_FIELDCOLOR_ENUM); + cboxSet.Selected := GetRegValue(REGNAME_FIELDCOLOR_SET, DEFAULT_FIELDCOLOR_SET); + cboxNullBG.Selected := GetRegValue(REGNAME_BG_NULL, DEFAULT_BG_NULL); // Editor enablings - chkEditorBinary.Checked := Mainform.GetRegValue(REGNAME_FIELDEDITOR_BINARY, DEFAULT_FIELDEDITOR_BINARY); - chkEditorDatetime.Checked := Mainform.GetRegValue(REGNAME_FIELDEDITOR_DATETIME, DEFAULT_FIELDEDITOR_DATETIME); - chkEditorEnum.Checked := Mainform.GetRegValue(REGNAME_FIELDEDITOR_ENUM, DEFAULT_FIELDEDITOR_ENUM); - chkEditorSet.Checked := Mainform.GetRegValue(REGNAME_FIELDEDITOR_SET, DEFAULT_FIELDEDITOR_SET); - chkNullBG.Checked := Mainform.GetRegValue(REGNAME_BG_NULL_ENABLED, DEFAULT_BG_NULL_ENABLED); + chkEditorBinary.Checked := GetRegValue(REGNAME_FIELDEDITOR_BINARY, DEFAULT_FIELDEDITOR_BINARY); + chkEditorDatetime.Checked := GetRegValue(REGNAME_FIELDEDITOR_DATETIME, DEFAULT_FIELDEDITOR_DATETIME); + chkEditorEnum.Checked := GetRegValue(REGNAME_FIELDEDITOR_ENUM, DEFAULT_FIELDEDITOR_ENUM); + chkEditorSet.Checked := GetRegValue(REGNAME_FIELDEDITOR_SET, DEFAULT_FIELDEDITOR_SET); + chkNullBG.Checked := GetRegValue(REGNAME_BG_NULL_ENABLED, DEFAULT_BG_NULL_ENABLED); btnOK.Enabled := False; btnApply.Enabled := False; diff --git a/source/selectdbobject.pas b/source/selectdbobject.pas index d994410b..33fa7c90 100644 --- a/source/selectdbobject.pas +++ b/source/selectdbobject.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, VirtualTrees, DB, Registry, WideStrings, + Dialogs, StdCtrls, VirtualTrees, DB, WideStrings, TntStdCtrls; type @@ -67,24 +67,18 @@ end; procedure TfrmSelectDBObject.FormCreate(Sender: TObject); begin - Width := Mainform.GetRegValue(REGNAME_SELECTDBO_WINWIDTH, Width); - Height := Mainform.GetRegValue(REGNAME_SELECTDBO_WINHEIGHT, Height); + Width := GetRegValue(REGNAME_SELECTDBO_WINWIDTH, Width); + Height := GetRegValue(REGNAME_SELECTDBO_WINHEIGHT, Height); SetWindowSizeGrip( Self.Handle, True ); InheritFont(Font); FixVT(TreeDBO); end; procedure TfrmSelectDBObject.FormDestroy(Sender: TObject); -var - reg: TRegistry; begin - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_SELECTDBO_WINWIDTH, Width ); - reg.WriteInteger( REGNAME_SELECTDBO_WINHEIGHT, Height ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_SELECTDBO_WINWIDTH, Width ); + MainReg.WriteInteger( REGNAME_SELECTDBO_WINHEIGHT, Height ); end; procedure TfrmSelectDBObject.FormResize(Sender: TObject); diff --git a/source/sqlhelp.pas b/source/sqlhelp.pas index be2aa4ba..f4925daa 100644 --- a/source/sqlhelp.pas +++ b/source/sqlhelp.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, ComCtrls, ExtCtrls, ShellApi, Buttons, Registry, + Dialogs, StdCtrls, ComCtrls, ExtCtrls, ShellApi, Buttons, PngSpeedButton, SynMemo, SynEditHighlighter, SynHighlighterURI, SynURIOpener, SynEdit; @@ -81,12 +81,12 @@ end; procedure TfrmSQLhelp.FormShow(Sender: TObject); begin // Set window-layout - Top := Mainform.GetRegValue( REGNAME_SQLHELPWINTOP, Top ); - Left := Mainform.GetRegValue( REGNAME_SQLHELPWINLEFT, Left ); - Width := Mainform.GetRegValue( REGNAME_SQLHELPWINWIDTH, Width ); - Height := Mainform.GetRegValue( REGNAME_SQLHELPWINHEIGHT, Height ); - pnlLeft.Width := Mainform.GetRegValue( REGNAME_SQLHELPPLWIDTH, pnlLeft.Width ); - pnlRightTop.Height := Mainform.GetRegValue( REGNAME_SQLHELPPRHEIGHT, pnlRightTop.Height ); + Top := GetRegValue( REGNAME_SQLHELPWINTOP, Top ); + Left := GetRegValue( REGNAME_SQLHELPWINLEFT, Left ); + Width := GetRegValue( REGNAME_SQLHELPWINWIDTH, Width ); + Height := GetRegValue( REGNAME_SQLHELPWINHEIGHT, Height ); + pnlLeft.Width := GetRegValue( REGNAME_SQLHELPPLWIDTH, pnlLeft.Width ); + pnlRightTop.Height := GetRegValue( REGNAME_SQLHELPPRHEIGHT, pnlRightTop.Height ); Caption := DEFAULT_WINDOW_CAPTION; MemoDescription.Font.Name := Mainform.SynMemoQuery.Font.Name; @@ -302,20 +302,14 @@ end; Save layout and close window } procedure TfrmSQLhelp.ButtonCloseClick(Sender: TObject); -var - reg : TRegistry; begin - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_SQLHELPWINLEFT, Left ); - reg.WriteInteger( REGNAME_SQLHELPWINTOP, Top ); - reg.WriteInteger( REGNAME_SQLHELPWINWIDTH, Width ); - reg.WriteInteger( REGNAME_SQLHELPWINHEIGHT, Height ); - reg.WriteInteger( REGNAME_SQLHELPPLWIDTH, pnlLeft.Width ); - reg.WriteInteger( REGNAME_SQLHELPPRHEIGHT, PnlRightTop.Height ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_SQLHELPWINLEFT, Left ); + MainReg.WriteInteger( REGNAME_SQLHELPWINTOP, Top ); + MainReg.WriteInteger( REGNAME_SQLHELPWINWIDTH, Width ); + MainReg.WriteInteger( REGNAME_SQLHELPWINHEIGHT, Height ); + MainReg.WriteInteger( REGNAME_SQLHELPPLWIDTH, pnlLeft.Width ); + MainReg.WriteInteger( REGNAME_SQLHELPPRHEIGHT, PnlRightTop.Height ); Close; end; diff --git a/source/texteditor.pas b/source/texteditor.pas index 2d0a4a76..6dc6d76b 100644 --- a/source/texteditor.pas +++ b/source/texteditor.pas @@ -3,7 +3,7 @@ unit texteditor; interface uses - Windows, Classes, Graphics, Forms, Controls, helpers, StdCtrls, TntStdCtrls, Registry, VirtualTrees, + Windows, Classes, Graphics, Forms, Controls, helpers, StdCtrls, TntStdCtrls, VirtualTrees, ComCtrls, ToolWin, Dialogs, SysUtils; {$I const.inc} @@ -79,24 +79,18 @@ end; procedure TfrmTextEditor.FormDestroy(Sender: TObject); -var - reg: TRegistry; begin - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_EDITOR_WIDTH, Width ); - reg.WriteInteger( REGNAME_EDITOR_HEIGHT, Height ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_EDITOR_WIDTH, Width ); + MainReg.WriteInteger( REGNAME_EDITOR_HEIGHT, Height ); end; procedure TfrmTextEditor.FormShow(Sender: TObject); begin // Restore form dimensions - Width := Mainform.GetRegValue(REGNAME_EDITOR_WIDTH, DEFAULT_EDITOR_WIDTH); - Height := Mainform.GetRegValue(REGNAME_EDITOR_HEIGHT, DEFAULT_EDITOR_HEIGHT); + Width := GetRegValue(REGNAME_EDITOR_WIDTH, DEFAULT_EDITOR_WIDTH); + Height := GetRegValue(REGNAME_EDITOR_HEIGHT, DEFAULT_EDITOR_HEIGHT); // Fix label position: lblTextLength.Top := tlbStandard.Top + (tlbStandard.Height-lblTextLength.Height) div 2; SetWindowSizeGrip(Handle, True); diff --git a/source/updatecheck.pas b/source/updatecheck.pas index 51b69792..ac5d38e1 100644 --- a/source/updatecheck.pas +++ b/source/updatecheck.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Classes, Forms, - Dialogs, StdCtrls, ExtActns, IniFiles, Controls, Graphics, Registry; + Dialogs, StdCtrls, ExtActns, IniFiles, Controls, Graphics; type TUrlMonUrlMkSetSessionOption = function(dwOption: Cardinal; pBuffer: PChar; dwBufferLength: Cardinal; dwReserved: Cardinal): HRESULT; stdcall; @@ -92,8 +92,6 @@ end; Download check file } procedure TfrmUpdateCheck.FormShow(Sender: TObject); -var - reg : TRegistry; begin Status('Initiating ... '); Caption := 'Check for '+APPNAME+' updates ...'; @@ -128,11 +126,8 @@ begin end else Status('Updates available.'); // Remember when we did the updatecheck to enable the automatic interval - reg := TRegistry.Create; - reg.OpenKey(REGPATH, true); - reg.WriteString(REGNAME_LAST_UPDATECHECK, DateTimeToStr(Now)); - reg.CloseKey; - FreeAndNil(reg); + OpenRegistry; + MainReg.WriteString(REGNAME_LAST_UPDATECHECK, DateTimeToStr(Now)); except // Do not popup errors, just display them in the status label On E:Exception do diff --git a/source/usermanager.pas b/source/usermanager.pas index 4209c46d..5d73eb39 100644 --- a/source/usermanager.pas +++ b/source/usermanager.pas @@ -6,7 +6,7 @@ interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, CheckLst, ExtCtrls, Buttons, DB, - Registry, ToolWin, TntCheckLst, WideStrings, WideStrUtils; + ToolWin, TntCheckLst, WideStrings, WideStrUtils; {$I const.inc} @@ -227,8 +227,8 @@ var } procedure TUserManagerForm.FormCreate(Sender: TObject); begin - Width := Mainform.GetRegValue(REGNAME_USERMNGR_WINWIDTH, Width); - Height := Mainform.GetRegValue(REGNAME_USERMNGR_WINHEIGHT, Height); + Width := GetRegValue(REGNAME_USERMNGR_WINWIDTH, Width); + Height := GetRegValue(REGNAME_USERMNGR_WINHEIGHT, Height); db := Mainform.Mask(DBNAME_MYSQL); SetWindowSizeGrip( Self.Handle, True ); InheritFont(Font); @@ -239,16 +239,10 @@ end; FormDestroy: Save GUI setup } procedure TUserManagerForm.FormDestroy(Sender: TObject); -var - reg: TRegistry; begin - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_USERMNGR_WINWIDTH, Width ); - reg.WriteInteger( REGNAME_USERMNGR_WINHEIGHT, Height ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_USERMNGR_WINWIDTH, Width ); + MainReg.WriteInteger( REGNAME_USERMNGR_WINHEIGHT, Height ); end; diff --git a/source/view.pas b/source/view.pas index 506a8805..a506983f 100644 --- a/source/view.pas +++ b/source/view.pas @@ -4,7 +4,7 @@ interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, - Dialogs, StdCtrls, ComCtrls, SynEdit, SynMemo, ExtCtrls, Registry, DB, SynRegExpr; + Dialogs, StdCtrls, ComCtrls, SynEdit, SynMemo, ExtCtrls, DB, SynRegExpr; type TfrmView = class(TForm) @@ -43,8 +43,8 @@ uses main, helpers; } procedure TfrmView.FormCreate(Sender: TObject); begin - Width := Mainform.GetRegValue(REGNAME_VIEWWINWIDTH, Width); - Height := Mainform.GetRegValue(REGNAME_VIEWWINHEIGHT, Height); + Width := GetRegValue(REGNAME_VIEWWINWIDTH, Width); + Height := GetRegValue(REGNAME_VIEWWINHEIGHT, Height); SynMemoSelect.Highlighter := Mainform.SynSQLSyn1; SynMemoSelect.Font := Mainform.SynMemoQuery.Font; SetWindowSizeGrip( Self.Handle, True ); @@ -56,16 +56,10 @@ end; FormDestroy: Save GUI setup } procedure TfrmView.FormDestroy(Sender: TObject); -var - reg : TRegistry; begin - reg := TRegistry.Create; - if reg.OpenKey(REGPATH, False) then begin - reg.WriteInteger( REGNAME_VIEWWINWIDTH, Width ); - reg.WriteInteger( REGNAME_VIEWWINHEIGHT, Height ); - reg.CloseKey; - end; - reg.Free; + OpenRegistry; + MainReg.WriteInteger( REGNAME_VIEWWINWIDTH, Width ); + MainReg.WriteInteger( REGNAME_VIEWWINHEIGHT, Height ); Close; end;