F
freesoft
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在希望做个简单的权限控制,用checkbox表示各个权限。
当然一个一个checkbox判断是可以,不过太傻了。
我是这样写的:
procedure Tsqf.BitBtn1Click(Sender: TObject);
var vibool,enbool:boolean;
cap,en,vi:string;
i:integer;
begin
with dataf.drightf do
begin
close;
sql.clear;
sql.add('select * from dright where dep='+''''+combobox1.Text+'''');
open;
end;
if dataf.drightf.RecordCount=0 then
begin
for i:=1 to componentcount-1 do
begin
with dataf.dright1 do
begin
close;
sql.clear;
if components is TCheckBox then
begin
if TCheckBox(components).Checked
then
begin
cap:=(FindComponent('checkbox'+inttostr(i)) as Tcheckbox).caption ;
en:='true' ;
end
else
begin cap:='';
en:='false';
end ;
end;
vi:='b';
sql.add('insert into dright(dep,actioncap,actionen,actionvi) values('''+combobox1.text+''','''+cap+''','''+en+''','''+vi+''')');
execsql;
end;
end;
end;
end;运行后报错。说i,越界。
我怎么也搞不明白如果我这样写:
st:=(findcomponent('checkbox'+inttostr(i)) as Tcheckbox).caption
在with dataf.dright外运行可以,可是进入循环后就是空直了。
另外有没有类似findcomponent('checkbox'+inttostr(i)) as Tcheckbox).checked的
语句。
我希望如果checkbox选中,那么就把他的caption,enabled插入数据库表(cap,actionen)
如果没有选中就不插入数据库。
当然一个一个checkbox判断是可以,不过太傻了。
我是这样写的:
procedure Tsqf.BitBtn1Click(Sender: TObject);
var vibool,enbool:boolean;
cap,en,vi:string;
i:integer;
begin
with dataf.drightf do
begin
close;
sql.clear;
sql.add('select * from dright where dep='+''''+combobox1.Text+'''');
open;
end;
if dataf.drightf.RecordCount=0 then
begin
for i:=1 to componentcount-1 do
begin
with dataf.dright1 do
begin
close;
sql.clear;
if components is TCheckBox then
begin
if TCheckBox(components).Checked
then
begin
cap:=(FindComponent('checkbox'+inttostr(i)) as Tcheckbox).caption ;
en:='true' ;
end
else
begin cap:='';
en:='false';
end ;
end;
vi:='b';
sql.add('insert into dright(dep,actioncap,actionen,actionvi) values('''+combobox1.text+''','''+cap+''','''+en+''','''+vi+''')');
execsql;
end;
end;
end;
end;运行后报错。说i,越界。
我怎么也搞不明白如果我这样写:
st:=(findcomponent('checkbox'+inttostr(i)) as Tcheckbox).caption
在with dataf.dright外运行可以,可是进入循环后就是空直了。
另外有没有类似findcomponent('checkbox'+inttostr(i)) as Tcheckbox).checked的
语句。
我希望如果checkbox选中,那么就把他的caption,enabled插入数据库表(cap,actionen)
如果没有选中就不插入数据库。