upopedomset.pas
来自「DELPHI编程入门篇.从基础入手,浅显易懂,一定物有所值.」· PAS 代码 · 共 205 行
PAS
205 行
unit Upopedomset;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, ADODB, Buttons, StdCtrls, Grids, ExtCtrls;
type
Tfrmpopedomset = class(TForm)
StringGrid1: TStringGrid;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
CheckBox6: TCheckBox;
CheckBox7: TCheckBox;
CheckBox8: TCheckBox;
CheckBox9: TCheckBox;
CheckBox10: TCheckBox;
CheckBox11: TCheckBox;
CheckBox12: TCheckBox;
CheckBox13: TCheckBox;
CheckBox14: TCheckBox;
CheckBox15: TCheckBox;
CheckBox16: TCheckBox;
CheckBox17: TCheckBox;
CheckBox18: TCheckBox;
CheckBox19: TCheckBox;
CheckBox20: TCheckBox;
CheckBox21: TCheckBox;
CheckBox22: TCheckBox;
CheckBox23: TCheckBox;
CheckBox24: TCheckBox;
CheckBox25: TCheckBox;
CheckBox26: TCheckBox;
CheckBox27: TCheckBox;
ADOQuery1: TADOQuery;
Panel1: TPanel;
SpeedButton1: TSpeedButton;
SpeedButton6: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
procedure FormCreate(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
function strfresh:string;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmpopedomset: Tfrmpopedomset;
implementation
uses Udatamodule, Uadduser;
{$R *.dfm}
procedure Tfrmpopedomset.FormCreate(Sender: TObject);
var
arow:integer;
begin
stringgrid1.Cells[0,0]:='用户名称';
adoquery1.SQL.text:='select username from userinfo';
adoquery1.Open;
if adoquery1.RecordCount > 0 then
begin
stringgrid1.RowCount:=adoquery1.RecordCount+1;
arow:=1;
while not adoquery1.Eof do
begin
stringgrid1.Cells[0,arow]:=adoquery1.Fields[0].AsString;
adoquery1.Next;
inc(arow);
end;
strfresh;
end;
adoquery1.Close;
end;
procedure Tfrmpopedomset.SpeedButton5Click(Sender: TObject);
begin
modalresult:=mrcancel;
end;
procedure Tfrmpopedomset.SpeedButton1Click(Sender: TObject);
var
i:integer;
begin
if speedbutton5.Enabled then
begin
application.CreateForm(tfrmadduser,frmadduser);
frmadduser.ShowModal;
frmadduser.Release;
if frmadduser.ModalResult = mrok then
begin
stringgrid1.Row:=stringgrid1.RowCount-1;
for i:=2 to 28 do
(components[i] as tcheckbox).Checked:=false;
end;
end
else
showmessage('请先保存数据');
end;
procedure Tfrmpopedomset.SpeedButton6Click(Sender: TObject);
var
arow,i:integer;
begin
if stringgrid1.cells[0,1] = '' then
if messagedlg('真的要删除吗?',mtConfirmation,[mbYes,mbno],0) = mryes then
begin
arow:=stringgrid1.Row;
adoquery1.SQL.Text:='delete from userinfo where username = '''+stringgrid1.Cells[0,arow]+'''';
adoquery1.ExecSQL;
adoquery1.Close;
for i:=arow to stringgrid1.RowCount-2 do
stringgrid1.Cells[0,arow]:=stringgrid1.Cells[0,arow+1];
stringgrid1.Rows[stringgrid1.RowCount-1].Clear;
if stringgrid1.RowCount > 2 then
stringgrid1.RowCount:=stringgrid1.RowCount-1;
strfresh;
end;
end;
procedure Tfrmpopedomset.SpeedButton2Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to ComponentCount-1 do
begin
if Components[i].ClassName = 'TCheckBox' then
(Components[i] as tcheckbox).Checked:=false;
end;
end;
procedure Tfrmpopedomset.SpeedButton3Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to ComponentCount-1 do
if Components[i].ClassName = 'TCheckBox' then
(Components[i] as tcheckbox).Checked:=true;
end;
procedure Tfrmpopedomset.SpeedButton4Click(Sender: TObject);
var
i:integer;
spur:string; //权限标志
begin
spur:='';
for i:= 2 to 28 do
begin
if (components[i] as tcheckbox).Checked then //判断哪个checkbox被选中
spur:=spur+'1'
else
spur:=spur+'0';
end;
adoquery1.SQL.Text:='update userinfo set purview ='''+spur+''' where username = '''+stringgrid1.Cells[0,stringgrid1.Row]+'''';
adoquery1.ExecSQL;
adoquery1.Close;
showmessage('保存成功!');
end;
procedure Tfrmpopedomset.StringGrid1Click(Sender: TObject);
begin
strfresh;
end;
function tfrmpopedomset.strfresh:string;
var
i:integer;
s:string;//权限标志
begin
if stringgrid1.Cells[0,stringgrid1.Row] <> '' then
begin
adoquery1.SQL.Text:='select purview from userinfo where username = '''+stringgrid1.Cells[0,stringgrid1.Row]+'''';
adoquery1.Open;
s:=adoquery1.FieldValues['purview'];
for i:=2 to 28 do
begin
if s[i-1] = '1' then
(components[i] as tcheckbox).Checked:=true
else
(components[i] as tcheckbox).Checked:=false;
end;
adoquery1.Close;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?