mirror of
https://github.com/HeidiSQL/HeidiSQL.git
synced 2025-08-06 18:24:26 +08:00
Simplify writing settings to registry:
* Keep only one TRegistry object in memory instead of creating a new one in each routine. * Move out relevant functions and TRegistry object from main to helpers to make them usable globally.
This commit is contained in:
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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,18 +217,15 @@ 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
|
||||
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 KeyExists(REGPATH + REGKEY_SESSIONS + description) then
|
||||
if MainReg.KeyExists(REGPATH + REGKEY_SESSIONS + description) then
|
||||
begin
|
||||
MessageDlg('Entry "' + description + '" already exists!', mtError, [mbOK], 0);
|
||||
exit;
|
||||
@ -254,20 +235,15 @@ begin
|
||||
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;
|
||||
end;
|
||||
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
|
||||
if not MainReg.DeleteKey(REGPATH + REGKEY_SESSIONS + ComboBoxDescription.Text) then
|
||||
MessageDlg('Error while deleting Key from Registry!', mtError, [mbOK], 0);
|
||||
Free;
|
||||
end;
|
||||
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,18 +345,15 @@ begin
|
||||
exit;
|
||||
end;
|
||||
|
||||
with TRegistry.Create do begin
|
||||
idx := ComboBoxDescription.ItemIndex;
|
||||
try
|
||||
MoveKey(REGPATH + REGKEY_SESSIONS + olddesc, REGPATH + REGKEY_SESSIONS + newdesc, true);
|
||||
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;
|
||||
Free;
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
|
@ -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) + ' ';
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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
|
||||
OpenRegistry;
|
||||
// filename
|
||||
reg.WriteString( REGNAME_CSV_FILENAME, editFilename.Text );
|
||||
MainReg.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 );
|
||||
MainReg.WriteString( REGNAME_CSV_SEPARATOR, editFieldTerminator.Text );
|
||||
MainReg.WriteString( REGNAME_CSV_ENCLOSER, editFieldEncloser.Text );
|
||||
MainReg.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);
|
||||
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 ';
|
||||
|
||||
|
285
source/main.pas
285
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,26 +1178,24 @@ begin
|
||||
FreeAndNil(SqlMessages);
|
||||
LeaveCriticalSection(SqlMessagesLock);
|
||||
|
||||
reg := TRegistry.Create();
|
||||
if reg.OpenKey( REGPATH, true ) then
|
||||
begin
|
||||
OpenRegistry;
|
||||
// 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);
|
||||
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 );
|
||||
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);
|
||||
@ -1215,10 +1207,8 @@ begin
|
||||
|
||||
// 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);
|
||||
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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user