Componentes.Terceros.jvcl/official/3.36/examples/JvParameterList/JvParameterListMainForm.pas
2009-02-27 12:23:32 +00:00

1533 lines
53 KiB
ObjectPascal

{******************************************************************
JEDI-VCL Demo
Copyright (C) 2002 Project JEDI
Original author:
Contributor(s):
You may retrieve the latest version of this file at the JEDI-JVCL
home page, located at http://jvcl.sourceforge.net
The contents of this file are used with permission, subject to
the Mozilla Public License Version 1.1 (the "License"); you may
not use this file except in compliance with the License. You may
obtain a copy of the License at
http://www.mozilla.org/MPL/MPL-1_1Final.html
Software distributed under the License is distributed on an
"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
******************************************************************}
unit JvParameterListMainForm;
interface
{$DEFINE INCLUDE_DEVEXP_CX}
uses
JclUnitVersioning,
Windows, Messages, SysUtils, {Variants, } Classes, Graphics, Controls, Forms,
Dialogs, JvDsaDialogs, JvParameterList, StdCtrls, JvParameterListParameter, Mask,
JvToolEdit, JvPanel,
{$IFDEF INCLUDE_DEVEXP_CX}
cxButtons, cxListBox, cxRadioGroup, cxLookAndFeelPainters,
cxDropDownEdit, cxCalendar, cxSpinEdit, cxTimeEdit, cxCheckBox, cxMemo,
cxTextEdit, cxMaskEdit, cxControls, cxContainer, cxEdit, cxLabel,
cxImage, cxCheckListBox,
cxGroupBox, cxButtonEdit,
{$ENDIF INCLUDE_DEVEXP_CX}
ExtCtrls, JvFormPlacement, JvComponent, JvAppStorage,
JvAppRegistryStorage, JvDynControlEngine, ComCtrls, Buttons, JvBitBtn,
JvCombobox, CheckLst, ShlObj, ExtDlgs, JvImage,
JvMaskEdit, JvSpin, JvBaseEdits, JvGroupBox, JvExStdCtrls,
JvExExtCtrls, JvAppXMLStorage, JvCipher, JvComponentBase, JvExtComponent;
type
TJvParameterListDemoMainFrm = class(TForm)
GroupBox1: TGroupBox;
AutoWidthCheckBox: TCheckBox;
AutoHeightCheckBox: TCheckBox;
LoadFromCheckBox: TCheckBox;
StoreToCheckBox: TCheckBox;
Label1: TLabel;
Label2: TLabel;
MaxWidthEdit: TMaskEdit;
MaxHeightEdit: TMaskEdit;
Label3: TLabel;
WidthEdit: TMaskEdit;
Label4: TLabel;
HeightEdit: TMaskEdit;
JvAppRegistryStorage: TJvAppRegistryStorage;
JvFormStorage1: TJvFormStorage;
JvFormStorage2: TJvFormStorage;
HistoryEnabledCheckBox: TCheckBox;
Image1: TImage;
GroupBox2: TGroupBox;
DevExpCxLookAndFeelRadioGroup: TRadioGroup;
DevExpCxStyleGroupBox: TGroupBox;
ShadowCheckBox: TCheckBox;
ThickLinesCheckBox: TCheckBox;
GroupBox3: TGroupBox;
VCLRadioButton: TRadioButton;
JVCLRadioButton: TRadioButton;
CxRadioButton: TRadioButton;
VclRedRadioButton: TRadioButton;
GroupBox4: TGroupBox;
JvPanel1: TJvPanel;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
JvGroupBox1: TJvGroupBox;
JvGroupBox2: TJvGroupBox;
JvPanel3: TJvPanel;
Button13: TButton;
JvGroupBox3: TJvGroupBox;
JvPanel4: TJvPanel;
Button12: TButton;
JvGroupBoxAllControls: TJvGroupBox;
JvPanelAllControls: TJvPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button11: TButton;
GroupBox5: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label5: TLabel;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
JvAppXMLStorage: TJvAppXMLFileStorage;
Cipher: TJvVigenereCipher;
GroupBox6: TGroupBox;
StaticText5: TStaticText;
Button14: TButton;
GroupBox7: TGroupBox;
DefaultParameterWidthEdit: TMaskEdit;
Label6: TLabel;
Label7: TLabel;
DefaultParameterLabelWidthEdit: TMaskEdit;
AssignWidthHeightCheckBox: TCheckBox;
JvPanel2: TJvPanel;
Button16: TButton;
Button15: TButton;
Button17: TButton;
Button18: TButton;
Button19: TButton;
Button20: TButton;
NativeCheckBox: TCheckBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DevExpCxLookAndFeelRadioGroupClick(Sender: TObject);
procedure VCLRadioButtonClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure JvPanelAllControlsResize(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure JvAppRegistryStorageDecryptPropertyValue(var Value: string);
procedure JvAppRegistryStorageEncryptPropertyValue(var Value: string);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure AssignWidthHeightCheckBoxClick(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
private
{ Private-Deklarationen }
UnitVersionForm: TCustomForm;
RCSFilePanel,
RevisionPanel,
DatePanel,
ExtraPanel,
PathPanel,
LabelControl,
RCSFileEdit,
RevisionEdit,
DateEdit,
ExtraEdit,
PathEdit: TWinControl;
procedure ShowTest3ButttonClick(const ParameterList: TJvParameterList; const Parameter: TJvBaseParameter);
function DefaultStorage: TJvCustomAppStorage;
procedure TreeViewOnChange(Sender: TObject; Node: TTreeNode);
procedure CloseButtonOnClick(Sender: TObject);
procedure SetDevExpressDynControlEngineProperties(ParameterList:
TJvParameterList);
public
{ Public-Deklarationen }
procedure ShowTest1(const aDynControlEngine: tJvDynControlEngine);
procedure ShowTest2(const aDynControlEngine: tJvDynControlEngine);
procedure ShowTest3(const aDynControlEngine: tJvDynControlEngine);
procedure ShowTestCrypt(const aDynControlEngine: tJvDynControlEngine);
procedure ShowUnitVersioning(const aDynControlEngine: tJvDynControlEngine);
end;
var
JvParameterListDemoMainFrm: TJvParameterListDemoMainFrm;
const
UnitVersioning: TUnitVersionInfo = (
RCSfile: '$URL: https://jvcl.svn.sourceforge.net/svnroot/jvcl/branches/JVCL3_36_PREPARATION/examples/JvParameterList/JvParameterListMainForm.pas $';
Revision: '$Revision: 12139 $';
Date: '$Date: 2009-01-10 16:19:23 +0100 (sam., 10 janv. 2009) $';
LogPath: 'JVCL\examples\JvParameterList'
);
implementation
{$R *.dfm}
uses JvDynControlEngineVCL,
JvDynControlEngineJVCL,
JclBase, JclFileUtils,
JvFormPlacementSelectList,
JvDynControlEngineVCLRed,
{$IFDEF INCLUDE_DEVEXP_CX}
JvDynControlEngineDevExpCx,
cxLookAndFeels,
{$ENDIF INCLUDE_DEVEXP_CX}
JvDynControlEngineIntf, JclStrings;
procedure TJvParameterListDemoMainFrm.Button1Click(Sender: TObject);
begin
ShowTest1(nil);
end;
procedure TJvParameterListDemoMainFrm.Button2Click(Sender: TObject);
begin
ShowTest1(DynControlEngineVCL);
end;
procedure TJvParameterListDemoMainFrm.Button3Click(Sender: TObject);
begin
ShowTest1(DynControlEngineJVCL);
end;
procedure TJvParameterListDemoMainFrm.Button4Click(Sender: TObject);
begin
{$IFDEF INCLUDE_DEVEXP_CX}
ShowTest1(DynControlEngineDevExpCx);
{$ENDIF INCLUDE_DEVEXP_CX}
end;
procedure TJvParameterListDemoMainFrm.ShowTest1(const aDynControlEngine: tJvDynControlEngine);
var
ParameterList: TJvParameterList;
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(self);
try
if Assigned(aDynControlEngine) then
ParameterList.DynControlEngine := aDynControlEngine;
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
if AutoHeightCheckBox.Checked then
if AutoWidthCheckBox.Checked then
ParameterList.ArrangeSettings.AutoSize := asBoth
else
ParameterList.ArrangeSettings.AutoSize := asHeight
else
if AutoWidthCheckBox.Checked then
ParameterList.ArrangeSettings.AutoSize := asWidth
else
ParameterList.ArrangeSettings.AutoSize := asNone;
Parameter := tjvTimeParameter.Create(ParameterList);
with tjvTimeParameter(Parameter) do
begin
SearchName := 'TimeTest';
Caption := 'TimeTest';
Format := 'HH:mm:ss';
// Width := 100;
AsDate := Now;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvDateParameter.Create(ParameterList);
with tjvDateParameter(Parameter) do
begin
SearchName := 'DateTest';
Caption := 'DateTest';
// Width := 80;
AsDate := Now - 10;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvDateTimeParameter.Create(ParameterList);
with tjvDateTimeParameter(Parameter) do
begin
SearchName := 'DateTimeTest';
Caption := 'DateTimeTest';
AsDate := Now;
Width := 365;
EditWidth := 200;
// Width := 200;
// Height := 50;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvEditParameter.Create(ParameterList);
with tjvEditParameter(Parameter) do
begin
SearchName := 'EditTest';
Caption := 'EditTest';
// AsString := Edit1.Text;
EditMask := '09999';
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvEditParameter.Create(ParameterList);
with tjvEditParameter(Parameter) do
begin
SearchName := 'PasswordTest';
Caption := 'PasswordTest';
// AsString := Edit1.Text;
PasswordChar := '*';
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvCheckboxParameter.Create(ParameterList);
with Parameter do
begin
SearchName := 'CheckboxTest';
Caption := '&Checkbox';
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvIntegerEditParameter.Create(ParameterList);
with Parameter do
begin
SearchName := 'IntegerTest';
Caption := 'IntegerTest';
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvIntegerEditParameter.Create(ParameterList);
with tjvIntegerEditParameter(Parameter) do
begin
SearchName := 'IntegerTestCalc';
Caption := 'IntegerTest Calc';
EditorType := netCalculate;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvIntegerEditParameter.Create(ParameterList);
with tjvIntegerEditParameter(Parameter) do
begin
SearchName := 'IntegerTestSpin';
Caption := 'IntegerTest Spin';
EditorType := netSpin;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvButtonEditParameter.Create(ParameterList);
with tjvButtonEditParameter(Parameter) do
begin
SearchName := 'ButtonEditTest';
Caption := 'ButtonEditTest';
OnClick := Button5Click;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvFileNameParameter.Create(ParameterList);
with TJvFileNameParameter(Parameter) do
begin
SearchName := 'FileNameTest';
Caption := 'FileNameTest';
labelArrangeMode := lamAbove;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvDirectoryParameter.Create(ParameterList);
with TJvDirectoryParameter(Parameter) do
begin
SearchName := 'DirectoryTest';
Caption := 'DirectoryTest';
labelArrangeMode := lamAbove;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvMemoParameter.Create(ParameterList);
with tjvMemoParameter(Parameter) do
begin
SearchName := 'MemoTest';
Caption := 'MemoTest';
//Height := 60;
Scrollbars := ssBoth;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvRichEditParameter.Create(ParameterList);
with tjvRichEditParameter(Parameter) do
begin
SearchName := 'RichEditTest';
Caption := 'RichEditTest';
//Height := 60;
Scrollbars := ssBoth;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvRadioGroupParameter.Create(ParameterList);
with tjvRadioGroupParameter(Parameter) do
begin
SearchName := 'RadioGroupTest';
Caption := '&RadioGroupTest';
ItemList.Add('Test&1');
ItemList.Add('Test&2');
ItemList.Add('Test&3');
ItemList.Add('Test&4');
ItemList.Add('Test&5');
ReadOnly := True;
ItemIndex := 2;
Columns := 2;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvListBoxParameter.Create(ParameterList);
with tjvListBoxParameter(Parameter) do
begin
SearchName := 'ListBoxTest';
Caption := '&ListBoxTest';
ItemList.Add('Listbox Test&1');
ItemList.Add('Listbox Test&2');
ItemList.Add('Listbox Test&3');
Height := 80;
Width := 80;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvCheckListBoxParameter.Create(ParameterList);
with tjvCheckListBoxParameter(Parameter) do
begin
SearchName := 'CheckListBoxTest';
Caption := '&CheckListBoxTest';
ItemList.Add('CheckListBox Test&1');
ItemList.Add('CheckListBox Test&2');
ItemList.Add('CheckListBox Test&3');
AddCheckListBoxItem('CheckListBox Header&1', cbUnchecked, False, True);
AddCheckListBoxItem('CheckListBox Test&4', cbUnchecked);
Height := 80;
Width := 180;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvImageParameter.Create(ParameterList);
with tjvImageParameter(Parameter) do
begin
Picture := Image1.Picture;
SearchName := 'PictureTest';
Caption := 'PictureTest';
// AutoSize := True;
Height := 280;
Width := 340;
end;
ParameterList.AddParameter(Parameter);
ParameterList.DefaultParameterWidth := 180;
ParameterList.DefaultParameterLabelWidth := 80;
ParameterList.MaxHeight := StrToInt(MaxHeightEdit.Text);
ParameterList.MaxWidth := StrToInt(MaxWidthEdit.Text);
if AssignWidthHeightCheckBox.Checked then
begin
ParameterList.Height := StrToInt(HeightEdit.Text);
ParameterList.Width := StrToInt(WidthEdit.Text);
end;
ParameterList.HistoryEnabled := HistoryEnabledCheckBox.Checked;
ParameterList.DefaultParameterWidth := StrToInt(DefaultParameterWidthEdit.Text);
ParameterList.DefaultParameterLabelWidth := StrToInt(DefaultParameterLabelWidthEdit.Text);
ParameterList.AppStorage := DefaultStorage;
ParameterList.AppStoragePath := 'Dialog 1';
if LoadFromCheckBox.Checked then
ParameterList.LoadData;
if ParameterList.ShowParameterDialog then
if StoreToCheckBox.Checked then
ParameterList.storeData;
// Edit1.text := ParameterList.parameterByName('RadioGroupTest').AsString;
finally
ParameterList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.ShowTest2(const aDynControlEngine: tJvDynControlEngine);
var
ParameterList: TJvParameterList;
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(self);
try
if Assigned(aDynControlEngine) then
ParameterList.DynControlEngine := aDynControlEngine;
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
Parameter := tjvRadioGroupParameter.Create(ParameterList);
with tjvRadioGroupParameter(Parameter) do
begin
SearchName := 'RadioGroup';
Caption := '&Enabled';
ItemList.Add('1 Enabled');
ItemList.Add('2 Enabled');
ItemList.Add('Both Enabled');
ItemList.Add('Both Disabled');
ItemIndex := 2;
Columns := 2;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvCheckboxParameter.Create(ParameterList);
with Parameter do
begin
SearchName := 'Checkbox';
Caption := '2 Enabled';
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvEditParameter.Create(ParameterList);
with Parameter do
begin
SearchName := 'Edit1';
Caption := 'Edit Test 1';
// Width := 80;
AsDate := Now;
DisableReasons.AddReason('RadioGroup', '2 Enabled');
DisableReasons.AddReason('RadioGroup', 'Both Disabled');
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvEditParameter.Create(ParameterList);
with Parameter do
begin
SearchName := 'Edit2';
Caption := 'Edit Test 2';
// Width := 80;
AsDate := Now;
DisableReasons.AddReason('RadioGroup', '1 Enabled');
DisableReasons.AddReason('RadioGroup', 'Both Disabled');
DisableReasons.AddReason('Checkbox', False);
end;
ParameterList.AddParameter(Parameter);
if AutoHeightCheckBox.Checked then
if AutoWidthCheckBox.Checked then
ParameterList.ArrangeSettings.AutoSize := asBoth
else
ParameterList.ArrangeSettings.AutoSize := asHeight
else
if AutoWidthCheckBox.Checked then
ParameterList.ArrangeSettings.AutoSize := asWidth
else
ParameterList.ArrangeSettings.AutoSize := asNone;
ParameterList.OkButtonDisableReasons.AddReason('CheckBox', True);
ParameterList.MaxHeight := StrToInt(MaxHeightEdit.Text);
ParameterList.MaxWidth := StrToInt(MaxWidthEdit.Text);
if AssignWidthHeightCheckBox.Checked then
begin
ParameterList.Height := StrToInt(HeightEdit.Text);
ParameterList.Width := StrToInt(WidthEdit.Text);
end;
ParameterList.DefaultParameterWidth := StrToInt(DefaultParameterWidthEdit.Text);
ParameterList.DefaultParameterLabelWidth := StrToInt(DefaultParameterLabelWidthEdit.Text);
ParameterList.HistoryEnabled := HistoryEnabledCheckBox.Checked;
ParameterList.AppStorage := DefaultStorage;
ParameterList.AppStoragePath := 'Dialog 2';
if LoadFromCheckBox.Checked then
ParameterList.LoadData;
if ParameterList.ShowParameterDialog then
if StoreToCheckBox.Checked then
ParameterList.storeData;
// Edit1.text := ParameterList.parameterByName('RadioGroupTest').AsString;
finally
ParameterList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.ShowTest3ButttonClick(const ParameterList: TJvParameterList; const Parameter:
TJvBaseParameter);
begin
if Assigned(Parameter) then
if Parameter.SearchName = 'ButtonA' then
Button5Click(nil)
else
if Parameter.SearchName = 'ButtonB' then
Button6Click(nil)
else
if Parameter.SearchName = 'ButtonC' then
Button7Click(nil)
else
if Parameter.SearchName = 'ButtonD' then
Button8Click(nil)
else
if Parameter.SearchName = 'ButtonE' then
if Assigned(ParameterList) then
// (p3) type cast variant to string (for D5)
MessageDlg('Edit 1 : ', string(ParameterList.ParameterByName('Edit1').WinControlData), mtWarning, [mbOK], 0);
end;
procedure TJvParameterListDemoMainFrm.ShowTest3(const aDynControlEngine: tJvDynControlEngine);
var
ParameterList: TJvParameterList;
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(self);
try
if Assigned(aDynControlEngine) then
ParameterList.DynControlEngine := aDynControlEngine;
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
Parameter := tjvButtonParameter.Create(ParameterList);
with tjvButtonParameter(Parameter) do
begin
SearchName := 'ButtonA';
Caption := 'Message Dlg &A';
OnClick := ShowTest3ButttonClick;
Width := 90;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvButtonParameter.Create(ParameterList);
with tjvButtonParameter(Parameter) do
begin
SearchName := 'ButtonB';
Caption := 'Message Dlg &B';
OnClick := ShowTest3ButttonClick;
Width := 90;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvButtonParameter.Create(ParameterList);
with tjvButtonParameter(Parameter) do
begin
SearchName := 'ButtonC';
Caption := 'Message Dlg &C';
OnClick := ShowTest3ButttonClick;
Width := 90;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvButtonParameter.Create(ParameterList);
with tjvButtonParameter(Parameter) do
begin
SearchName := 'ButtonD';
Caption := 'Message Dlg &D';
OnClick := ShowTest3ButttonClick;
Width := 90;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvEditParameter.Create(ParameterList);
with Parameter do
begin
SearchName := 'Edit1';
Caption := 'Edit Test 1';
Width := 150;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvButtonParameter.Create(ParameterList);
with tjvButtonParameter(Parameter) do
begin
SearchName := 'ButtonE';
Caption := 'Message Dlg &E';
OnClick := ShowTest3ButttonClick;
Width := 90;
DisableReasons.AddReasonIsEmpty('Edit1');
end;
ParameterList.AddParameter(Parameter);
ParameterList.ArrangeSettings.AutoSize := asBoth;
// ParameterList.MaxHeight := StrToInt(MaxHeightEdit.Text);
// ParameterList.MaxWidth := StrToInt(MaxWidthEdit.Text);
// ParameterList.Height := StrToInt(HeightEdit.Text);
ParameterList.MaxWidth := 300;
ParameterList.HistoryEnabled := HistoryEnabledCheckBox.Checked;
ParameterList.AppStorage := DefaultStorage;
ParameterList.AppStoragePath := 'Dialog 3';
if LoadFromCheckBox.Checked then
ParameterList.LoadData;
if ParameterList.ShowParameterDialog then
if StoreToCheckBox.Checked then
ParameterList.storeData;
// Edit1.text := ParameterList.parameterByName('RadioGroupTest').AsString;
finally
ParameterList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.ShowTestCrypt(const aDynControlEngine: tJvDynControlEngine);
var
ParameterList: TJvParameterList;
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(self);
try
if Assigned(aDynControlEngine) then
ParameterList.DynControlEngine := aDynControlEngine;
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
Parameter := tjvEditParameter.Create(ParameterList);
with tjvEditParameter(Parameter) do
begin
SearchName := 'EditTest';
Caption := 'EditTest';
// AsString := Edit1.Text;
end;
ParameterList.AddParameter(Parameter);
Parameter := tjvEditParameter.Create(ParameterList);
with tjvEditParameter(Parameter) do
begin
SearchName := 'PasswordTest';
Caption := 'PasswordTest';
// AsString := Edit1.Text;
// PasswordChar := '*';
StoreValueCrypted := True;
end;
ParameterList.AddParameter(Parameter);
ParameterList.HistoryEnabled := HistoryEnabledCheckBox.Checked;
ParameterList.AppStorage := DefaultStorage;
ParameterList.AppStoragePath := 'Dialog Crypt';
ParameterList.LoadData;
if ParameterList.ShowParameterDialog then
ParameterList.storeData;
// Edit1.text := ParameterList.parameterByName('RadioGroupTest').AsString;
finally
ParameterList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.FormShow(Sender: TObject);
begin
{$IFNDEF INCLUDE_DEVEXP_CX}
Button4.Enabled := False;
DevExpCxLookAndFeelRadioGroup.Enabled := False;
DevExpCxStyleGroupBox.Enabled := False;
ShadowCheckBox.Enabled := False;
ThickLinesCheckBox.Enabled := False;
NativeCheckBox.Enabled := False;
CxRadioButton.Enabled := False;
if CxRadioButton.Checked then
VCLRadioButton.Checked := True;
{$ENDIF INCLUDE_DEVEXP_CX}
VCLRadioButtonClick(nil);
DevExpCxLookAndFeelRadioGroupClick(nil);
AssignWidthHeightCheckBoxClick(nil);
end;
procedure TJvParameterListDemoMainFrm.BitBtn1Click(Sender: TObject);
var
FormStorageSelectList: tJvFormStorageSelectList;
begin
// SetDynControlEngineDevExpCxDefault;
FormStorageSelectList := tJvFormStorageSelectList.Create(Self);
try
FormStorageSelectList.FormStorage := JvFormStorage2;
FormStorageSelectList.SelectPath := 'SelectTest';
// MessageDlg(FormStorageSelectList.GetSelectPath(sloLoad), mtWarning, [mbOK], 0);
FormStorageSelectList.RestoreFormStorage;
finally
FormStorageSelectList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.BitBtn2Click(Sender: TObject);
var
FormStorageSelectList: tJvFormStorageSelectList;
begin
FormStorageSelectList := tJvFormStorageSelectList.Create(Self);
try
FormStorageSelectList.FormStorage := JvFormStorage2;
FormStorageSelectList.SelectPath := 'SelectTest';
// MessageDlg(FormStorageSelectList.GetSelectPath(sloStore), mtWarning, [mbOK], 0);
FormStorageSelectList.SaveFormStorage;
finally
FormStorageSelectList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.DevExpCxLookAndFeelRadioGroupClick(Sender: TObject);
begin
{$IFDEF INCLUDE_DEVEXP_CX}
with DynControlEngineDevExpCx do
begin
case DevExpCxLookAndFeelRadioGroup.ItemIndex of
1: cxProperties.LookAndFeel.Kind := lfFlat;
2: cxProperties.LookAndFeel.Kind := lfUltraFlat;
else
cxProperties.LookAndFeel.Kind := lfStandard;
end;
cxProperties.LookAndFeel.NativeStyle := NativeCheckBox.Checked;
if Assigned(CxProperties.StyleController) then
begin
CxProperties.StyleController.Style.Shadow := ShadowCheckBox.Checked;
if ThickLinesCheckBox.Checked then
CxProperties.StyleController.Style.BorderStyle := ebsThick
else
CxProperties.StyleController.Style.BorderStyle := ebsSingle;
end;
end;
{$ENDIF INCLUDE_DEVEXP_CX}
end;
procedure TJvParameterListDemoMainFrm.VCLRadioButtonClick(Sender: TObject);
begin
{$IFDEF INCLUDE_DEVEXP_CX}
if CxRadioButton.Checked then
SetDefaultDynControlEngine(DynControlEngineDevExpCx)
else
{$ENDIF INCLUDE_DEVEXP_CX}
if JVCLRadioButton.Checked then
SetDefaultDynControlEngine(DynControlEngineJVCL)
else
if VCLRedRadioButton.Checked then
SetDefaultDynControlEngine(DynControlEngineVCLRed)
else
SetDefaultDynControlEngine(DynControlEngineVCL);
end;
procedure TJvParameterListDemoMainFrm.Button5Click(Sender: TObject);
begin
JVDSADialogs.MessageDlg('Simple warning box, standard title, VCL buttons and image.',
mtWarning, [mbOK], 0);
end;
procedure TJvParameterListDemoMainFrm.Button6Click(Sender: TObject);
begin
JVDSADialogs.MessageDlg('Simple confirmation box, standard title, VCL buttons and image.',
mtConfirmation, [mbYes, mbNo], 0);
end;
procedure TJvParameterListDemoMainFrm.Button7Click(Sender: TObject);
var
Pic: TPicture;
BtnCap: TDynStringArray;
begin
Pic := TPicture.Create;
try
Pic.Icon.Assign(Application.Icon);
SetLength(BtnCap, 2);
BtnCap[0] := 'Sure';
BtnCap[1] := 'No way';
MessageDlgEx(
'Test warning',
'Extended confirmation box, custom title, buttons and image.',
Pic.Graphic,
BtnCap,
[10, 20],
0);
finally
Pic.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.Button8Click(Sender: TObject);
begin
ShowMessage('Test ShowMessage with custom checkmark text.');
end;
procedure TJvParameterListDemoMainFrm.Button11Click(Sender: TObject);
begin
ShowTest1(DynControlEngineVCLRed);
end;
procedure TJvParameterListDemoMainFrm.Button12Click(Sender: TObject);
begin
ShowTest2(nil);
end;
procedure TJvParameterListDemoMainFrm.JvPanelAllControlsResize(Sender: TObject);
begin
// JvGroupBoxAllControls.Width := JvPanelAllControls.Width+2;
// JvGroupBoxAllControls.Height := JvPanelAllControls.Height+20;
end;
procedure TJvParameterListDemoMainFrm.Button13Click(Sender: TObject);
begin
ShowTest3(nil);
end;
function TJvParameterListDemoMainFrm.DefaultStorage: TJvCustomAppStorage;
begin
Result := JvAppRegistryStorage;
end;
procedure TJvParameterListDemoMainFrm.JvAppRegistryStorageDecryptPropertyValue(
var Value: string);
begin
// Cipher.Encoded := Value;
// Value := Cipher.Decoded;
// Value := Copy(Value, 3, Length(Value)-4);
end;
procedure TJvParameterListDemoMainFrm.JvAppRegistryStorageEncryptPropertyValue(
var Value: string);
begin
// Cipher.Decoded := Value;
// Value := Cipher.Encoded;
// Value := '##'+Value+'##';
end;
procedure TJvParameterListDemoMainFrm.Button14Click(Sender: TObject);
begin
ShowTestCrypt(nil);
end;
procedure TJvParameterListDemoMainFrm.Button15Click(Sender: TObject);
var
ParameterList: TJvParameterList;
Gparameter,
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(Self);
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
try
ParameterList.AppStoragePath := 'Analyze Table';
ParameterList.AppStorage := DefaultStorage;
ParameterList.MaxWidth := 400;
ParameterList.ArrangeSettings.AutoSize := asBoth;
Parameter := TJvRadioGroupParameter.Create(ParameterList);
with TJvRadioGroupParameter(Parameter) do
begin
SearchName := 'AnalyzeType';
Caption := '&Analyze Type';
ItemList.Add('COMPUTE STATISTICS');
ItemList.Add('ESTIMATE STATISTICS');
ItemList.Add('DELETE STATISTICS');
ItemIndex := 0;
Width := 160;
Height := 80;
VariantAsItemIndex := True;
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Gparameter := TJvGroupBoxParameter.Create(ParameterList);
with TJvGroupBoxParameter(Gparameter) do
begin
SearchName := 'AnalyzeAddType';
Caption := 'Additional &Parameter';
Width := 160;
Height := 30;
ArrangeSettings.AutoSize := asHeight;
//BorderLeft := 5;
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Gparameter);
Parameter := TJvCheckBoxParameter.Create(ParameterList);
with TJvCheckBoxParameter(Parameter) do
begin
ParentParameterName := 'AnalyzeAddType';
Width := 150;
AsBoolean := True;
SearchName := 'AnalyzeAddTypeTable';
Caption := 'TABLE';
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvCheckBoxParameter.Create(ParameterList);
with TJvCheckBoxParameter(Parameter) do
begin
ParentParameterName := 'AnalyzeAddType';
Width := 150;
AsBoolean := True;
SearchName := 'AnalyzeAddTypeALLCOLUMNS';
Caption := 'ALL COLUMNS';
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvCheckBoxParameter.Create(ParameterList);
with TJvCheckBoxParameter(Parameter) do
begin
ParentParameterName := 'AnalyzeAddType';
Width := 150;
AsBoolean := True;
SearchName := 'AnalyzeAddTypeALLINDEXEDCOLUMNS';
Caption := 'ALL INDEXED COLUMNS';
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvCheckBoxParameter.Create(ParameterList);
with TJvCheckBoxParameter(Parameter) do
begin
ParentParameterName := 'AnalyzeAddType';
Width := 150;
AsBoolean := True;
SearchName := 'AnalyzeAddTypeAllIndexes';
Caption := 'ALL INDEXES';
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvIntegerEditParameter.Create(ParameterList));
with TJvIntegerEditParameter(Parameter) do
begin
EnableReasons.AddReason('AnalyzeType', 1);
SearchName := 'EstimatePercent';
Caption := '&Estimate Percent';
if AsInteger > 100 then
AsInteger := 100;
MInValue := 0;
MaxValue := 100;
LabelArrangeMode := lamBefore;
Width := 280;
EditWidth := 40;
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvCheckBoxParameter.Create(ParameterList);
with Parameter do
begin
SearchName := 'UseDBMSStats';
Caption := '&Use DBMS_STATS';
Width := 160;
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvCheckBoxParameter.Create(ParameterList);
with TJvCheckBoxParameter(Parameter) do
begin
Width := 160;
AsBoolean := False;
SearchName := 'ExecuteAsJob';
Caption := 'Execute as DBMS-Job';
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvGroupBoxParameter.Create(ParameterList));
with TJvGroupBoxParameter(Parameter) do
begin
Caption := 'DBMS_JOB Parameter';
SearchName := 'DBMS_JOB_Parameter';
Width := 325;
Height := 105;
//BorderLeft := 5;
DisableReasons.AddReason('ExecuteAsJob', False);
// ArrangeSettings.AutoSize := asHeight;
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(tJvDateTimeParameter.Create(ParameterList));
with tJvDateTimeParameter(Parameter) do
begin
ParentParameterName := 'DBMS_JOB_Parameter';
LabelArrangeMode := lamBefore;
Caption := 'First &Date';
SearchName := 'Date';
asDate := Now;
StoreValueToAppStorage := False;
Width := 220;
LabelWidth := 50;
DisableReasons.AddReason('ExecuteAsJob', False);
end; {*** WITH tJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(tJvEditParameter.Create(ParameterList));
with tJvEditParameter(Parameter) do
begin
ParentParameterName := 'DBMS_JOB_Parameter';
Caption := '&Interval';
SearchName := 'Interval';
AsString := '';
Width := 310;
LabelWidth := 50;
DisableReasons.AddReason('ExecuteAsJob', False);
end; {*** WITH tJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
ParameterList.Messages.Caption := 'Select Type of Analyze';
ParameterList.LoadData;
ParameterList.ShowParameterDialog;
ParameterList.StoreData;
finally
ParameterList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.AssignWidthHeightCheckBoxClick(Sender: TObject);
begin
WidthEdit.Enabled := AssignWidthHeightCheckBox.Checked;
HeightEdit.Enabled := AssignWidthHeightCheckBox.Checked;
end;
procedure TJvParameterListDemoMainFrm.Button16Click(Sender: TObject);
var
ParameterList: TJvParameterList;
BaseParameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(self);
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
try
BaseParameter := TJvBaseParameter(tJvMemoParameter.Create(ParameterList));
with tJvMemoParameter(BaseParameter) do
begin
SearchName := 'Memo';
Caption := 'Simple Memo';
AsString := 'Memo Contents';
Width := 420;
Height := 200;
WordWrap := False;
WantTabs := False;
WantReturns := False;
Scrollbars := ssBoth;
ReadOnly := TRUE;
end; {*** WITH BaseParameter DO ***}
ParameterList.AddParameter(BaseParameter);
ParameterList.Messages.OkButton := 'C&opy';
ParameterList.Messages.CancelButton := '&Cancel';
if ParameterList.ShowParameterDialog then
JVDSADialogs.MessageDlg(ParameterList.ParameterByName('Memo').ASString, mtInformation, [mbok], 0);
finally
ParameterList.Free;
end;
end;
procedure TJvParameterListDemoMainFrm.ShowUnitVersioning(const aDynControlEngine: tJvDynControlEngine);
var
DynEngine: TJvDynControlEngine;
MainPanel, ButtonPanel: TWinControl;
TopBox, BottomBox: TWinControl;
Button: TButton;
TreeView: TWinControl;
IJvReadOnly: IJvDynControlReadOnly;
IJvTreeView: IJvDynControlTreeView;
I: Integer;
MainNode: TTreeNode;
Nodes: TTreeNodes;
function FindMasterNode(iNodes: TTreeNodes; iNode: TTreeNode; const iPath: string): tTreeNode;
var
Part1, Part2: string;
I: Integer;
begin
Result := nil;
Part2 := iPath;
Part1 := '';
while (Part1 = '') and (Part2 <> '') do
begin
Part1 := trim(StrBefore('\', Part2));
Part2 := trim(StrAfter('\', Part2));
end;
if Part1 <> '' then
begin
for I := 0 to iNode.Count - 1 do
begin
if iNode.Item[I].Text = Part1 then
begin
Result := FindMasterNode(iNodes, iNode.Item[I], Part2);
break;
end;
end;
if Result = nil then
begin
Result := iNodes.AddChild(iNode, Part1);
Result := FindMasterNode(iNodes, Result, Part2);
end;
end
else
Result := iNode;
end;
begin
if Assigned(aDynControlEngine) then
DynEngine := aDynControlEngine
else
DynEngine := DefaultDynControlEngine;
UnitVersionForm := DynEngine.CreateForm('Unit Versioning', '');
try
if UnitVersionForm is TForm then
TForm(UnitVersionForm).Position := poScreenCenter;
UnitVersionForm.Width := 500;
UnitVersionForm.Height := 500;
ButtonPanel := DynEngine.CreatePanelControl(UnitVersionForm, UnitVersionForm, 'ButtonPanel', '', alBottom);
MainPanel := DynEngine.CreatePanelControl(UnitVersionForm, UnitVersionForm, 'MainPanel', '', alClient);
if MainPanel is TPanel then
TPanel(MainPanel).borderWidth := 3;
Button := DynEngine.CreateButton(UnitVersionForm, ButtonPanel, 'CloseBtn', 'Close', '', CloseButtonOnClick, True,
True);
Button.Left := Round((UnitVersionForm.Width - Button.Width) / 2);
Button.Top := Round((ButtonPanel.Height - Button.Height) / 2);
BottomBox := DynEngine.CreateGroupBoxControl(UnitVersionForm, MainPanel, 'BottomBox', 'Details');
BottomBox.Align := alBottom;
TopBox := DynEngine.CreateGroupBoxControl(UnitVersionForm, MainPanel, 'TopBox', 'Unit Versions');
TopBox.Align := alClient;
TreeView := DynEngine.CreateTreeViewControl(UnitVersionForm, TopBox, 'TreeView');
TreeView.Align := alClient;
RCSFilePanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'RCSFilePanel', '', alTop);
RCSFilePanel.Align := alTop;
RCSFileEdit := DynEngine.CreateEditControl(UnitVersionForm, RCSFilePanel, 'RCSFileEdit');
RCSFileEdit.Width := 340;
if Supports(RCSFileEdit, IJvDynControlReadOnly, IJvReadOnly) then
IJvReadOnly.ControlSetReadOnly(True);
LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, RCSFilePanel, 'RCSFileLabel', 'RCS File',
RCSFileEdit, False, 80);
RCSFilePanel.Height := RCSFileEdit.Height + 1;
RevisionPanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'RevisionPanel', '', alTop);
RevisionPanel.Align := alTop;
RevisionEdit := DynEngine.CreateEditControl(UnitVersionForm, RevisionPanel, 'RevisionEdit');
RevisionEdit.Width := 340;
LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, RevisionPanel, 'RevisionLabel', 'Revision',
RevisionEdit, False, 80);
if Supports(RevisionEdit, IJvDynControlReadOnly, IJvReadOnly) then
IJvReadOnly.ControlSetReadOnly(True);
RevisionPanel.Height := RevisionEdit.Height + 1;
DatePanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'DatePanel', '', alTop);
DatePanel.Align := alTop;
DateEdit := DynEngine.CreateEditControl(UnitVersionForm, DatePanel, 'DateEdit');
DateEdit.Width := 340;
LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, DatePanel, 'DateLabel', 'Date', DateEdit, False,
80);
if Supports(DateEdit, IJvDynControlReadOnly, IJvReadOnly) then
IJvReadOnly.ControlSetReadOnly(True);
DatePanel.Height := DateEdit.Height + 1;
PathPanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'PathPanel', '', alTop);
PathPanel.Align := alTop;
PathEdit := DynEngine.CreateEditControl(UnitVersionForm, PathPanel, 'PathEdit');
PathEdit.Width := 340;
LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, PathPanel, 'PathLabel', 'Path', PathEdit, False,
80);
if Supports(PathEdit, IJvDynControlReadOnly, IJvReadOnly) then
IJvReadOnly.ControlSetReadOnly(True);
PathPanel.Height := PathEdit.Height + 1;
ExtraPanel := DynEngine.CreatePanelControl(UnitVersionForm, BottomBox, 'ExtraPanel', '', alTop);
ExtraPanel.Align := alTop;
ExtraEdit := DynEngine.CreateMemoControl(UnitVersionForm, ExtraPanel, 'ExtraEdit');
// if Supports(ExtraEdit, IJvDynControlReadOnly, IJvReadOnly) then
// IJvReadOnly.ControlSetReadOnly(True);
ExtraEdit.Width := 400;
LabelControl := DynEngine.CreateLabelControlPanel(UnitVersionForm, ExtraPanel, 'ExtraLabel', 'Extra', ExtraEdit,
True, 80);
LabelControl.Width := 80 + PathEdit.Width;
ExtraPanel.Height := LabelControl.Height;
BottomBox.Height := DatePanel.Height * 4 + 10 + ExtraPanel.Height;
if Supports(TreeView, IJvDynControlReadOnly, IJvReadOnly) then
IJvReadOnly.ControlSetReadOnly(True);
if Supports(TreeView, IJvDynControlTreeView, IJvTreeView) then
begin
Nodes := IJvTreeView.ControlGetItems;
Nodes.Clear;
IJvTreeView.ControlSetOnChange(TreeViewOnChange);
MainNode := Nodes.AddChild(nil, ExtractFileName(ParamStr(0)) + ' ' + VersionFixedFileInfoString(ParamStr(0)));
with GetUnitVersioning do
for I := 0 to Count - 1 do
Nodes.AddChildObject(FindMasterNode(Nodes, MainNode, Items[I].LogPath),
StrRestOf(Items[I].RCSfile, StrLastPos('/', Items[I].RCSfile)+1) + ' - ' + Items[I].Revision, Items[I]);
IJvTreeView.ControlSetSortType(stText);
if TreeView is TTreeView then
TTreeView(TreeView).FullExpand;
MainNode.Selected := True;
end;
TreeViewOnChange(nil, nil);
UnitVersionForm.ShowModal;
finally
UnitVersionForm.Release; // keep the form created till all used interfaces are cleared
end;
end;
procedure TJvParameterListDemoMainFrm.CloseButtonOnClick(Sender: TObject);
begin
if Assigned(UnitVersionForm) then
UnitVersionForm.ModalResult := mrOk;
end;
procedure TJvParameterListDemoMainFrm.TreeViewOnChange(Sender: TObject; Node: TTreeNode);
var
IJvData: IJvDynControlData;
begin
if Assigned(Node) and Assigned(Node.Data) and
(TObject(Node.Data) is TUnitVersion) then
begin
if Supports(RCSFileEdit, IJvDynControlData, IJvData) then
begin
IJvData.ControlValue := TUnitVersion(Node.Data).RCSFile;
RCSFilePanel.Visible := True;
end
else
RCSFilePanel.Visible := False;
if Supports(RevisionEdit, IJvDynControlData, IJvData) then
begin
IJvData.ControlValue := TUnitVersion(Node.Data).Revision;
RevisionPanel.Visible := True;
end
else
RevisionPanel.Visible := False;
if Supports(DateEdit, IJvDynControlData, IJvData) then
begin
IJvData.ControlValue := TUnitVersion(Node.Data).Date;
DatePanel.Visible := True;
end
else
DatePanel.Visible := False;
if Supports(ExtraEdit, IJvDynControlData, IJvData) and
(TUnitVersion(Node.Data).Extra <> '') then
begin
IJvData.ControlValue := TUnitVersion(Node.Data).Extra;
ExtraPanel.Visible := True;
end
else
ExtraPanel.Visible := False;
if Supports(PathEdit, IJvDynControlData, IJvData) then
begin
IJvData.ControlValue := TUnitVersion(Node.Data).LogPath;
PathPanel.Visible := True;
end
else
PathPanel.Visible := False;
end
else
begin
RCSFilePanel.Visible := False;
RevisionPanel.Visible := False;
DatePanel.Visible := False;
ExtraPanel.Visible := False;
PathPanel.Visible := False;
end;
end;
procedure TJvParameterListDemoMainFrm.Button17Click(Sender: TObject);
begin
ShowUnitVersioning(nil);
end;
procedure TJvParameterListDemoMainFrm.Button18Click(Sender: TObject);
var
ParameterList: TJvParameterList;
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(Self);
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
try
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
Caption := '&Job';
SearchName := 'Job';
AsString := '999';
ReadOnly := True;
Width := 250;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvMemoParameter.Create(ParameterList));
with TJvMemoParameter(Parameter) do
begin
Caption := '&What';
SearchName := 'What';
AsString := 'Do Anything';
Required := True;
Width := 450;
Height := 250;
Scrollbars := ssBoth;
WantTabs := False;
WantReturns := True;
WordWrap := False;
FontName := 'Courier New';
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(tJvDateParameter.Create(ParameterList));
with tJvDateParameter(Parameter) do
begin
Caption := '&Date';
SearchName := 'Date';
asDate := Trunc(now);
Width := 120;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(tJvTimeParameter.Create(ParameterList));
with tJvTimeParameter(Parameter) do
begin
Caption := '&Time';
SearchName := 'Time';
asDate := now;
Width := 120;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
Caption := '&Interval';
SearchName := 'Interval';
AsString := 'trunc(sysdate)+1';
Width := 450;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvCheckBoxParameter.Create(ParameterList));
with Parameter do
begin
Caption := '&Broken Job';
SearchName := 'Broken';
AsBoolean := FALSE;
Width := 350;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
ParameterList.Messages.Caption := 'Change Job';
ParameterList.Messages.OkButton := '&Ok';
ParameterList.Messages.CancelButton := '&Cancel';
ParameterList.Width := 510;
ParameterList.ShowParameterDialog;
finally
FreeAndNil(ParameterList);
end;
end;
procedure TJvParameterListDemoMainFrm.Button19Click(Sender: TObject);
var
ParameterList: TJvParameterList;
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(Self);
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
try
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamGroupbox;
Caption := '&Groupbox';
SearchName := 'Groupbox';
ReadOnly := True;
Width := 250;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamAbove;
Caption := '&Above';
SearchName := 'Above';
ReadOnly := True;
Width := 250;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamBefore;
Caption := '&Before';
SearchName := 'Before';
ReadOnly := True;
Width := 250;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
ParameterList.Messages.OkButton := '&Ok';
ParameterList.Messages.CancelButton := '&Cancel';
ParameterList.MaxWidth := 310;
ParameterList.ShowParameterDialog;
finally
FreeAndNil(ParameterList);
end;
end;
procedure TJvParameterListDemoMainFrm.Button20Click(Sender: TObject);
var
ParameterList: TJvParameterList;
Parameter: TJvBaseParameter;
begin
ParameterList := TJvParameterList.Create(Self);
{$IFDEF INCLUDE_DEVEXP_CX}
SetDevExpressDynControlEngineProperties(ParameterList);
{$ENDIF INCLUDE_DEVEXP_CX}
try
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamGroupbox;
Caption := '&Groupbox';
SearchName := 'Groupbox';
Width := 250;
BeforeParameterName := 'Before';
AfterParameterName := 'After';
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamGroupbox;
Caption := '&Groupbox';
SearchName := 'Groupbox2';
Width := 250;
BeforeParameterName := 'Before2';
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamGroupbox;
Caption := '&Groupbox';
SearchName := 'Groupbox3';
Width := 250;
AfterParameterName := 'After2';
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamNone;
Caption := '&After';
SearchName := 'After';
AsString := 'A';
Width := 20;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamNone;
SearchName := 'Before';
AsString := 'B';
Width := 40;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamNone;
Caption := '&After';
SearchName := 'After2';
AsString := 'A2';
Width := 20;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
Parameter := TJvBaseParameter(TJvEditParameter.Create(ParameterList));
with TJvEditParameter(Parameter) do
begin
LabelArrangeMode := lamNone;
SearchName := 'Before2';
AsString := 'B2';
Width := 22;
end; {*** WITH TJvEditParameter(Parameter) DO ***}
ParameterList.AddParameter(Parameter);
ParameterList.Messages.OkButton := '&Ok';
ParameterList.Messages.CancelButton := '&Cancel';
ParameterList.MaxWidth := 310;
ParameterList.ShowParameterDialog;
finally
FreeAndNil(ParameterList);
end;
end;
procedure TJvParameterListDemoMainFrm.SetDevExpressDynControlEngineProperties(
ParameterList: TJvParameterList);
begin
{$IFDEF INCLUDE_DEVEXP_CX}
if ParameterList.DynControlEngine is tJvDynControlEngineDevExpCx then
with tJvDynControlEngineDevExpCx(ParameterList.DynControlEngine) do
begin
case DevExpCxLookAndFeelRadioGroup.ItemIndex of
1:
cxProperties.LookAndFeel.Kind := lfFlat;
2:
cxProperties.LookAndFeel.Kind := lfUltraFlat;
else
cxProperties.LookAndFeel.Kind := lfStandard;
end;
if Assigned(CxProperties.StyleController) then
begin
CxProperties.StyleController.Style.Shadow := ShadowCheckBox.Checked;
if ThickLinesCheckBox.Checked then
CxProperties.StyleController.Style.BorderStyle := ebsThick
else
CxProperties.StyleController.Style.BorderStyle := ebsNone;
end;
end;
{$ENDIF INCLUDE_DEVEXP_CX};
end;
initialization
RegisterUnitVersion(HInstance, UnitVersioning);
finalization
UnregisterUnitVersion(HInstance);
end.