📄 uiqstk.~pas
字号:
begin
if Key =#13 then
begin
Edit3.SetFocus;
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if Key =#13 then
begin
Edit2.SetFocus;
end;
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Key =#13 then
begin
Edit4.SetFocus;
end;
end;
procedure TForm1.OQuerySTAfterScroll(DataSet: TDataSet);
begin
with OQueryST do
begin
if Active then
begin
Edit6.Text:=fieldbyname('F_STNR').AsString;
Edit1.Text:=fieldbyname('F_STDAA').AsString;
Edit2.Text:=fieldbyname('F_STDAB').AsString;
Edit3.Text:=fieldbyname('F_STDAC').AsString;
Edit4.Text:=fieldbyname('F_STDAD').AsString;
ComboBox1.ItemIndex:=ComboBox1.Items.IndexOf(Fieldbyname('F_LXBH').AsString+' ( '+Fieldbyname('F_LXMC').AsString+' )');
if fieldbyname('F_STDAZ').AsString = 'A' then
begin
RadioButton1.Checked:=true;
end;
if fieldbyname('F_STDAZ').AsString = 'B' then
begin
RadioButton2.Checked:=true;
end;
if fieldbyname('F_STDAZ').AsString = 'C' then
begin
RadioButton3.Checked:=true;
end;
if fieldbyname('F_STDAZ').AsString = 'D' then
begin
RadioButton4.Checked:=true;
end;
end;
end;
end;
procedure TForm1.BtnEditClick(Sender: TObject);
begin
if Edit6.Text = '' then
begin
Application.MessageBox('试题内容不能为空','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
if ComboBox1.Text = '' then
begin
Application.MessageBox('试题类型不能为空','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
if Edit1.Text = '' then
begin
Application.MessageBox('答案A不能为空','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
if Edit2.Text = '' then
begin
Application.MessageBox('答案B不能为空','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
if not(RadioButton1.Checked or RadioButton2.Checked or RadioButton3.Checked or RadioButton4.Checked) then
begin
Application.MessageBox('正确答案不能为空','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
F_STXH:=OQueryST.Fieldbyname('F_STXH').AsInteger;
F_STNR:=Edit6.Text;
F_KLXBH:=CutString('(',ComboBox1.Text,1,true);
F_STDAA:=Edit1.Text;
F_STDAB:=Edit2.Text;
F_STDAC:=Edit3.Text;
F_STDAD:=Edit4.Text;
if RadioButton1.Checked then
F_STDAZ:='A'
else if RadioButton2.Checked then
F_STDAZ:='B'
else if RadioButton3.Checked then
F_STDAZ:='C'
else if RadioButton4.Checked then
F_STDAZ:='D';
with OQueryST do
begin
try
Close;
SQL.Text:='update SMTEST.D_IQSTK set F_STNR = '''+F_STNR+''','+
'F_LXBH = '''+F_KLXBH+''','+
'F_STDAA = '''+F_STDAA+''','+
'F_STDAB = '''+F_STDAB+''','+
'F_STDAC = '''+F_STDAC+''','+
'F_STDAD = '''+F_STDAD+''','+
'F_STDAZ = '''+F_STDAZ+''''+
' where F_STXH = '+IntToStr(F_STXH);
ExecSQL;
except
Application.MessageBox('修改失败','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
Application.MessageBox('修改成功','注意',MB_OK or MB_ICONINFORMATION);
STKRefeshData;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if Edit5.Text = '' then
begin
Application.MessageBox('试题类型不能为空','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
with OQuerySTLX do
begin
Close;
SQL.Text:='select F_LXBH from SMTEST.D_IQSTLX where F_LXMC = '''+Edit5.Text+'''';
ExecSQL;
if OQuerySTLX.RecNo <> 0 then
begin
Application.MessageBox('试题类型重复,请重新输入类型名称','提示',MB_OK or MB_ICONINFORMATION);
Exit;
end;
end;
with OQuerySTLX do
begin
Close;
SQL.Text:='select * from SMTEST.D_IQSTLX';
ExecSQL;
if RecNo <> 0 then
begin
Close;
SQL.Text:='select max(F_LXBH) as LXNo from SMTEST.D_IQSTLX';
ExecSQL;
if OQuerySTLX.RecNo <> 0 then
F_LLXBH:=Format('%0.3d',[Fieldbyname('LXNo').asinteger+1])
else
F_LLXBH:=Format('%0.3d',[1]);
end
else
begin
F_LLXBH:=Format('%0.3d',[1]);
end;
end;
F_LXMC:=Edit5.Text;
F_BZ:=Memo2.Lines.Text;
with OQuerySTLX do
begin
try
Close;
SQL.Text:='insert into SMTEST.D_IQSTLX (F_LXBH,F_LXMC,F_BZ) values '+
'('''+F_LLXBH+''','''+F_LXMC+''','''+F_BZ+''')';
ExecSQL;
except
Application.MessageBox('新增失败','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
Application.MessageBox('保存成功','注意',MB_OK or MB_ICONINFORMATION);
STLXRefeshData;
STLXEditClear;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if Edit5.Text = '' then
begin
Application.MessageBox('试题类型不能为空','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
F_LLXBH:=CutString('(',ListBox1.Items.Strings[ListBox1.ItemIndex],1,true);
F_LXMC:=Edit5.Text;
F_BZ:=Memo2.Lines.Text;
with OQuerySTLX do
begin
try
Close;
SQL.Text:='update SMTEST.D_IQSTLX set F_LXMC = '''+F_LXMC+''', F_BZ = '''+F_BZ+''' where F_LXBH = '''+F_LLXBH+'''';
ExecSQL;
except
Application.MessageBox('修改失败','注意',MB_OK or MB_ICONINFORMATION);
exit;
end;
Application.MessageBox('修改成功','注意',MB_OK or MB_ICONINFORMATION);
STLXRefeshData;
end;
end;
procedure TForm1.STLXRefeshData;
begin
if not OraSession1.Connected then
OraSession1.Connected:=true;
with OQuerySTLX do
begin
Close;
SQL.Text:='select F_LXBH,F_LXMC from SMTEST.D_IQSTLX order by F_LXBH';
Open;
ListBox1.Clear;
ComboBox1.Clear;
ListBox1.Items.Add('显示全部试题记录');
while not Eof do
begin
ListBox1.Items.Add(Fieldbyname('F_LXBH').AsString+' ( '+Fieldbyname('F_LXMC').AsString+' )');
ComboBox1.Items.Add(Fieldbyname('F_LXBH').AsString+' ( '+Fieldbyname('F_LXMC').AsString+' )');
Next;
end;
end;
end;
procedure TForm1.STEditReadOnly(readOnly: Boolean);
begin
Edit1.ReadOnly:=readOnly;
Edit2.ReadOnly:=readOnly;
Edit3.ReadOnly:=readOnly;
Edit4.ReadOnly:=readOnly;
Edit6.ReadOnly:=readOnly;
end;
procedure TForm1.STLXEditReadOnly(readOnly: Boolean);
begin
Edit5.ReadOnly:=readOnly;
Memo2.ReadOnly:=readOnly;
end;
procedure TForm1.BtnDeletClick(Sender: TObject);
var
F_STXH:Integer;
begin
if not OQueryST.Active then
begin
exit;
end;
if Application.MessageBox('确实要删除该记录吗?','注意',MB_YESNO or MB_ICONINFORMATION) = IDNO then
begin
exit;
end;
try
with OQueryST do
begin
F_STXH:=Fieldbyname('F_STXH').AsInteger;
Close;
SQL.Text:='delete from SMTEST.D_IQSTK where F_STXH = '+IntToStr(F_STXH);
ExecSQL;
end;
except
Application.MessageBox('删除失败!','错误',MB_OK or MB_ICONERROR);
Exit;
end;
STKRefeshData;
Application.MessageBox('记录已删除','提示',MB_OK or MB_ICONINFORMATION);
end;
procedure TForm1.Button4Click(Sender: TObject);
var
longintTemp : integer;
strTemp : string;
intIndex : integer;
begin
if OpenDialog1.Execute then
begin
try
ADOConnection1.DefaultDatabase:=OpenDialog1.FileName;
ADOConnection1.Connected:=true;
Label9.Caption:=OpenDialog1.FileName;
ADOConnection1.GetTableNames(ComboBox2.Items,false);
except
end;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
str: String;
intkey,num: integer;
Strtemp: String;
i,j: Integer;
begin
with ADOTable1 do
begin
Open;
Gauge1.MaxValue:=ADOTable1.RecordCount;
if ADOTable1.TableName = 'tmb' then
begin
{
for i := 0 to 20 do
begin
with OQuerySTLX do
begin
Close;
SQL.Text:='select * from SMTEST.D_IQSTK';
ExecSQL;
if RecNo <> 0 then
begin
Close;
SQL.Text:='select max(F_STXH) as STNo from SMTEST.D_IQSTK';
ExecSQL;
if OQuerySTLX.RecNo <> 0 then
F_STXH:=Fieldbyname('STNo').asinteger+1
else
F_STXH:=1;
end
else
begin
F_STXH:=1;
end;
end;
F_STNR:=ADOTable1.fieldbyname('tmnr').AsString;
F_KLXBH:=Format('%0.3d',[strtoint(ADOTable1.fieldbyname('tmlx').AsString)]);
Strtemp:=ADOTable1.fieldbyname('tmzqda').AsString;
num:=0;
intkey:=0;
for j := 1 to 6 do
begin
if Strtemp[j]= '1' then
begin
inc(num);
if num > 1 then
begin
Break;
end;
intkey:= j;
end;
end;
if (intkey = 0) or (num > 1)then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -