其中form1.table2就是原先用ODBC连接时的表,后来换成了ADOtable,现在是
ADOquery程序运行还有错,主要是二台以上的微机同时按下“1”“2”“3”时
出现“不能更新:当前被锁定”,回车后,程序仍能继续执行。但在考试时就麻烦了,
考试的人不停的找监考人员。。。
procedure TForm3.Edit2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
myk:=key;
case myk of
37: //按下4
begin
if application.MessageBox('如果您真要交卷,请按下确定;否则请与管理员联系!','系统警告',MB_yesno+MB_Iconstop)=idyes then
begin
form1.Table2.Requery;
form4.showmodal;
form3.Close;
end;
end;
12://按下5
begin
if strtoint(label1.Caption)>1 then
begin
label1.Caption:=inttostr(strtoint(label1.Caption)-1);
edit1.Text:=copy(form1.Table2.Fields[7].asstring,((strtoint(label1.Caption)-1)*5+1),3);
end;
end;
39://按下6
begin
if strtoint(label1.Caption)<100 then begin
label1.Caption:=inttostr(strtoint(label1.Caption)+1);
edit1.Text:=copy(form1.Table2.Fields[7].asstring,((strtoint(label1.Caption)-1)*5+1),3);
end;
end;
35://按下1
begin
form1.Table2.edit;
form1.Table2.Fields[7].asstring:=copy(form1.Table2.Fields[7].asstring,1,(strtoint(label1.Caption)*5-1))+'A'+copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5+1),500);
form1.Table2.Post;
if strtoint(label1.Caption)<100 then
begin
label1.Caption:=inttostr(strtoint(label1.Caption)+1);
edit1.Text:=copy(form1.Table2.Fields[7].asstring,((strtoint(label1.Caption)-1)*5+1),3);
end else
begin
form1.Table3.Locate('题号',inttostr(strtoint(edit1.text)),[loCaseInsensitive]);
if copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5),1)='X' then
edit2.text:='' else
edit2.text:=copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5),1);
end;
end;
40: //按下2
begin
form1.Table2.edit;
form1.Table2.Fields[7].asstring:=copy(form1.Table2.Fields[7].asstring,1,(strtoint(label1.Caption)*5-1))+'B'+copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5+1),500);
form1.Table2.Post;
if strtoint(label1.Caption)<100 then
begin
label1.Caption:=inttostr(strtoint(label1.Caption)+1);
edit1.Text:=copy(form1.Table2.Fields[7].asstring,((strtoint(label1.Caption)-1)*5+1),3);
end else
begin
form1.Table3.Locate('题号',inttostr(strtoint(edit1.text)),[loCaseInsensitive]);
if copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5),1)='X' then
edit2.text:='' else
edit2.text:=copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5),1);
end;
end;
34://按下3
begin
form1.Table2.edit;
form1.Table2.Fields[7].asstring:=copy(form1.Table2.Fields[7].asstring,1,(strtoint(label1.Caption)*5-1))+'C'+copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5+1),500);
form1.Table2.Post;
if strtoint(label1.Caption)<100 then
begin
label1.Caption:=inttostr(strtoint(label1.Caption)+1);
edit1.Text:=copy(form1.Table2.Fields[7].asstring,((strtoint(label1.Caption)-1)*5+1),3);
end else
begin
form1.Table3.Locate('题号',inttostr(strtoint(edit1.text)),[loCaseInsensitive]);
if copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5),1)='X' then
edit2.text:='' else
edit2.text:=copy(form1.Table2.Fields[7].asstring,(strtoint(label1.Caption)*5),1);
end;
end;
end;
end;