📄 urepset.pas
字号:
unit URepSet;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, ComCtrls, Spin, registry, USetPlace, Qrctrls, QuickRpt, Buttons;
type
TFrm_RepSet = class(TForm)
StatusBar1: TStatusBar;
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
SpinEdit1: TSpinEdit;
SpinEdit2: TSpinEdit;
GroupBox2: TGroupBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
ScrollBox1: TScrollBox;
Panel3: TPanel;
ListView1: TListView;
Panel4: TPanel;
BitBtn5: TBitBtn;
Panel5: TPanel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
BitBtn6: TBitBtn;
ComboBox1: TComboBox;
BitBtn7: TBitBtn;
Label7: TLabel;
Edit4: TEdit;
CheckBox1: TCheckBox;
Bevel1: TBevel;
Label8: TLabel;
Edit5: TEdit;
procedure SpinEdit1Change(Sender: TObject);
procedure SpinEdit2Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure ListView1DblClick(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure Edit2KeyPress(Sender: TObject; var Key: Char);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
private
function create_reg(keyname: string): boolean;
procedure setwz(objectname: string);
function No: string;
procedure Add_pyl(left, top: integer);
procedure ObjectMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
{ Private declarations }
public
{ Public declarations }
end;
var
rep: TQuickRep;
Frm_RepSet: TFrm_RepSet;
oldleft: integer = 0;
oldtop: integer = 0;
keyname: string;
implementation
{$R *.DFM}
procedure TFrm_RepSet.SpinEdit1Change(Sender: TObject);
var
Reg: TRegistry;
section: string;
begin
keyname := 'rep' + no;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
section := '\Software\Gd\UserCustomSet\' + keyname;
if (SpinEdit1.text = '') and (SpinEdit2.text = '') then exit;
if reg.KeyExists(section) then
else
if create_reg(keyname) then exit;
setplace(strtoint(SpinEdit1.text) - oldleft, strtoint(SpinEdit2.text) - oldtop, rep);
oldleft := strtoint(SpinEdit1.text);
oldtop := strtoint(SpinEdit2.text);
Add_pyl(strtoint(SpinEdit1.text), strtoint(SpinEdit2.text));
end;
procedure TFrm_RepSet.SpinEdit2Change(Sender: TObject);
begin
SpinEdit1Change(Sender);
{
setplace(strtoint(SpinEdit1.text) - oldleft, strtoint(SpinEdit2.text) - oldtop, rep);
oldleft := strtoint(SpinEdit1.text);
oldtop := strtoint(SpinEdit2.text);
Add_pyl(strtoint(SpinEdit1.text), strtoint(SpinEdit2.text));}
end;
procedure TFrm_RepSet.BitBtn1Click(Sender: TObject);
var
i, j: integer;
TempList: TlistItem;
Reg: TRegistry;
section: string;
begin
keyname := 'rep' + no;
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
section := '\Software\Gd\UserCustomSet\' + keyname;
if reg.KeyExists(section) then
else
if create_reg(keyname) then exit;
if Reg.OpenKey(section, false) then
begin
ListView1.items.clear;
for i := 0 to rep.ControlCount - 1 do
begin
if rep.Controls[i] is TQRBand then
begin
for j := 0 to (rep.Controls[i] as TQRBand).ControlCount - 1 do
if (rep.Controls[i] as TQRBand).Controls[j] is TObject then
begin
Templist := ListView1.Items.Add;
TempList.Caption := ((rep.Controls[i] as TQRBand).Controls[j] as TObject).Name;
// TempList.string1 := ((rep.Controls[i] as TQRBand).Controls[j] as TObject).Name;
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRBand).Controls[j] as TObject).Name, true) then
begin
if (rep.Controls[i] as TQRBand).Controls[j] is TQRLabel then
TempList.SubItems.Add(reg.ReadString('Displayname'))
else
TempList.SubItems.Add('');
TempList.SubItems.Add(inttostr(reg.ReadInteger('Left')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Top')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Zt')));
if reg.Readbool('IsSave') then
TempList.SubItems.Add('保存')
else
TempList.SubItems.Add('');
TempList.SubItems.Add(reg.ReadString('China'));
end;
end;
end
else
if rep.Controls[i] is TQRChildBand then
begin
for j := 0 to (rep.Controls[i] as TQRChildBand).ControlCount - 1 do
begin
Templist := ListView1.Items.Add;
TempList.Caption := ((rep.Controls[i] as TQRChildBand).Controls[j] as TObject).Name;
// TempList.string1 := ((rep.Controls[i] as TQRChildBand).Controls[j] as TObject).Name;
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRChildBand).Controls[j] as TObject).Name, true) then
begin
if (rep.Controls[i] as TQRChildBand).Controls[j] is TQRLabel then
TempList.SubItems.Add(reg.ReadString('Displayname'))
else
TempList.SubItems.Add('');
TempList.SubItems.Add(inttostr(reg.ReadInteger('Left')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Top')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Zt')));
if reg.Readbool('IsSave') then
TempList.SubItems.Add('保存')
else
TempList.SubItems.Add('');
TempList.SubItems.Add(reg.ReadString('China'));
end;
end;
end
else
if rep.Controls[i] is TQRsubdetail then
begin
for j := 0 to (rep.Controls[i] as TQRsubdetail).ControlCount - 1 do
begin
Templist := ListView1.Items.Add;
TempList.Caption := ((rep.Controls[i] as TQRsubdetail).Controls[j] as TObject).Name;
// TempList.string1 := ((rep.Controls[i] as TQRsubdetail).Controls[j] as TObject).Name;
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRsubdetail).Controls[j] as TObject).Name, true) then
begin
if (rep.Controls[i] as TQRsubdetail).Controls[j] is TQRLabel then
TempList.SubItems.Add(reg.ReadString('Displayname'))
else
TempList.SubItems.Add('');
TempList.SubItems.Add(inttostr(reg.ReadInteger('Left')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Top')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Zt')));
if reg.Readbool('IsSave') then
TempList.SubItems.Add('保存')
else
TempList.SubItems.Add('');
TempList.SubItems.Add(reg.ReadString('China'));
end;
end;
end
else
if rep.Controls[i] is TQRStringsBand then
begin
for j := 0 to (rep.Controls[i] as TQRStringsBand).ControlCount - 1 do
begin
Templist := ListView1.Items.Add;
TempList.Caption := ((rep.Controls[i] as TQRStringsBand).Controls[j] as TObject).Name;
// TempList.string1 := ((rep.Controls[i] as TQRStringsBand).Controls[j] as TObject).Name;
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRStringsBand).Controls[j] as TObject).Name, true) then
begin
if (rep.Controls[i] as TQRStringsBand).Controls[j] is TQRLabel then
TempList.SubItems.Add(reg.ReadString('Displayname'))
else
TempList.SubItems.Add('');
TempList.SubItems.Add(inttostr(reg.ReadInteger('Left')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Top')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Zt')));
if reg.Readbool('IsSave') then
TempList.SubItems.Add('保存')
else
TempList.SubItems.Add('');
TempList.SubItems.Add(reg.ReadString('China'));
end;
end;
end
else
begin
Templist := ListView1.Items.Add;
TempList.Caption := (rep.Controls[i] as TObject).Name;
// TempList.string1 := (rep.Controls[i] as TObject).Name;
if Reg.OpenKey(section + '\' + (rep.Controls[i] as TObject).Name, true) then
begin
if rep.Controls[i] is TQRLabel then
TempList.SubItems.Add(reg.ReadString('Displayname'))
else
TempList.SubItems.Add('');
TempList.SubItems.Add(inttostr(reg.ReadInteger('Left')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Top')));
TempList.SubItems.Add(inttostr(reg.ReadInteger('Zt')));
if reg.Readbool('IsSave') then
TempList.SubItems.Add('保存')
else
TempList.SubItems.Add('');
TempList.SubItems.Add(reg.ReadString('China'));
end;
end;
end;
end;
// Panel2.Visible := false;
Panel3.Visible := TRUE;
GroupBox1.Enabled := false;
end;
function TFrm_RepSet.create_reg(keyname: string): boolean;
var
Reg: TRegistry;
section: string;
i, j: integer;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_CURRENT_USER;
section := '\Software\Gd\UserCustomSet\' + keyname;
if Reg.OpenKey(section, true) then
for i := 0 to rep.ControlCount - 1 do
begin
if rep.Controls[i] is TQRBand then
begin
for j := 0 to (rep.Controls[i] as TQRBand).ControlCount - 1 do
if (rep.Controls[i] as TQRBand).Controls[j] is TObject then
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRBand).Controls[j] as TObject).name, true) then
begin
reg.WriteInteger('Left', 0);
reg.WriteInteger('Top', 0);
reg.WriteInteger('OldLeft', ((rep.Controls[i] as TQRBand).Controls[j] as TObject).Left);
reg.WriteInteger('OldTop', ((rep.Controls[i] as TQRBand).Controls[j] as TObject).top);
if (rep.Controls[i] as TQRBand).Controls[j] is Tqrlabel then
begin
reg.WriteString('Displayname', ((rep.Controls[i] as TQRBand).Controls[j] as Tqrlabel).caption);
reg.WriteInteger('Zt', ((rep.Controls[i] as TQRBand).Controls[j] as Tqrlabel).Font.Size);
end
else
begin
reg.WriteString('Displayname', '');
reg.WriteInteger('Zt', 9);
end;
reg.WriteBool('IsSave', false);
reg.WriteString('China', '');
end;
end
else
if rep.Controls[i] is TQRChildBand then
begin
for j := 0 to (rep.Controls[i] as TQRChildBand).ControlCount - 1 do
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRChildBand).Controls[j] as TObject).name, true) then
begin
reg.WriteInteger('Left', 0);
reg.WriteInteger('Top', 0);
reg.WriteInteger('OldLeft', ((rep.Controls[i] as TQRChildBand).Controls[j] as TObject).Left);
reg.WriteInteger('OldTop', ((rep.Controls[i] as TQRChildBand).Controls[j] as TObject).top);
if (rep.Controls[i] as TQRChildBand).Controls[j] is Tqrlabel then
begin
reg.WriteString('Displayname', ((rep.Controls[i] as TQRChildBand).Controls[j] as Tqrlabel).caption);
reg.WriteInteger('Zt', ((rep.Controls[i] as TQRChildBand).Controls[j] as Tqrlabel).Font.Size);
end
else
begin
reg.WriteString('Displayname', '');
reg.WriteInteger('Zt', 9);
end;
reg.WriteBool('IsSave', false);
reg.WriteString('China', '');
end;
end
else
if rep.Controls[i] is TQRsubdetail then
begin
for j := 0 to (rep.Controls[i] as TQRsubdetail).ControlCount - 1 do
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRsubdetail).Controls[j] as TObject).name, true) then
begin
reg.WriteInteger('Left', 0);
reg.WriteInteger('Top', 0);
reg.WriteInteger('OldLeft', ((rep.Controls[i] as TQRsubdetail).Controls[j] as TObject).Left);
reg.WriteInteger('OldTop', ((rep.Controls[i] as TQRsubdetail).Controls[j] as TObject).top);
if (rep.Controls[i] as TQRsubdetail).Controls[j] is Tqrlabel then
begin
reg.WriteString('Displayname', ((rep.Controls[i] as TQRsubdetail).Controls[j] as Tqrlabel).caption);
reg.WriteInteger('Zt', ((rep.Controls[i] as TQRsubdetail).Controls[j] as Tqrlabel).Font.Size);
end
else
begin
reg.WriteString('Displayname', '');
reg.WriteInteger('Zt', 9);
end;
reg.WriteBool('IsSave', false);
reg.WriteString('China', '');
end;
end
else
if rep.Controls[i] is TQRStringsBand then
begin
for j := 0 to (rep.Controls[i] as TQRStringsBand).ControlCount - 1 do
if Reg.OpenKey(section + '\' + ((rep.Controls[i] as TQRStringsBand).Controls[j] as TObject).name, true) then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -