📄 ufieldproperty.pas
字号:
unit ufieldproperty;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Base, StdCtrls, Grids, DBGridEh, DB, DBClient, ADODB;
const
WM_USER_GETFIELD = WM_USER+1024;
type
Tfrmfieldproperty = class(TfrmBase)
GroupBox1: TGroupBox;
Button1: TButton;
Button2: TButton;
Grid: TDBGridEh;
CDSbaseinfo: TClientDataSet;
DSbaseinfo: TDataSource;
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure GridGetCellParams(Sender: TObject; Column: TColumnEh;
AFont: TFont; var Background: TColor; State: TGridDrawState);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
procedure CreateDataset;
procedure Getfield(var msg:Tmessage);message WM_USER_GETFIELD;
{ Private declarations }
public
{ Public declarations }
end;
var
frmfieldproperty: Tfrmfieldproperty;
implementation
uses Global, ubaseinfo, Data;
{$R *.dfm}
procedure Tfrmfieldproperty.Button2Click(Sender: TObject);
begin
inherited;
close;
end;
procedure Tfrmfieldproperty.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
frmfieldproperty:=nil;
end;
procedure Tfrmfieldproperty.GridGetCellParams(Sender: TObject;
Column: TColumnEh; AFont: TFont; var Background: TColor;
State: TGridDrawState);
begin
inherited;
if grid.SumList.RecNo mod 2 = 1 then
BackGround:=$00EAEFED
else
BackGround:=clWhite;
end;
procedure Tfrmfieldproperty.CreateDataset;
begin
with CDSbaseinfo do
begin
Close;
FieldDefs.Add('fid',ftString,12);
FieldDefs.Add('字段名称',ftString,28);
FieldDefs.Add('显示',ftboolean);
CreateDataset;
end;
end;
procedure Tfrmfieldproperty.FormShow(Sender: TObject);
begin
inherited;
CreateDataset;
postmessage(handle,WM_USER_GETFIELD,0,0);
application.ProcessMessages;
end;
procedure Tfrmfieldproperty.Getfield(var msg: Tmessage);
var
i:integer;
begin
for i:=low(findArray1) to high(findArray1) do
CDSbaseinfo.AppendRecord([findArray3[i],findArray1[i],findArray2[i]]);
for i:=0 to CDSBaseinfo.RecordCount - 1 do
begin
if CDSbaseinfo['字段名称']='' then
CDSBaseinfo.Delete;
end;
CDSbaseinfo.First;
end;
procedure Tfrmfieldproperty.Button1Click(Sender: TObject);
var
Execado:Tadoquery;
begin
inherited;
if CDSbaseinfo.State in [dsInsert,dsEdit] then
CDSbaseinfo.Post;
if CDSbaseinfo.RecordCount=0 then exit;
try
Screen.Cursor:=crSQLwait;
EXECado:=Tadoquery.Create(nil);
EXECado.Connection:=datam.AdoConnection;
CDSbaseinfo.First;
while not CDSbaseinfo.Eof do
begin
with EXECado do
begin
sql.Clear;
sql.Add('update ttablefield set fisvisible='+
vartosql(CDSbaseinfo.fieldbyname('显示').AsBoolean)+
' where fid='+vartosql(CDSbaseinfo.fieldbyname('fid').AsString));
ExecSQL;
end;
CDSbaseinfo.Next;
end;
finally
EXECado.Free;
Screen.Cursor:=crDefault;
end;
messagedlg('单据属性配置完成 ! ',mtWarning,[mbok],0);
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -