📄 paper.pas
字号:
unit paper;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, ADODB;
type
TAddPaper = class(TForm)
Label1: TLabel;
Label4: TLabel;
Label5: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
Button1: TButton;
Button2: TButton;
Button3: TButton;
ComboBox2: TComboBox;
Memo2: TMemo;
Edit2: TEdit;
GroupBox1: TGroupBox;
DBGrid1: TDBGrid;
GroupBox2: TGroupBox;
Memo1: TMemo;
Edit1: TEdit;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ComboBox1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
AddPaper: TAddPaper;
implementation
uses DataModule;
{$R *.dfm}
procedure TAddPaper.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TAddPaper.ComboBox1Change(Sender: TObject);
var answer:string;
begin
if combobox1.ItemIndex=0 then begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''选择题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
combobox2.Visible:=true;
memo2.Visible:=false;
answer:=trim(adoquery1.fieldbyname('答案').AsString);
if answer='A' then
combobox2.ItemIndex:=0
else if answer='B' then
combobox2.ItemIndex:=1
else if answer='C' then
combobox2.ItemIndex:=2
else combobox2.ItemIndex:=3;
end else if combobox1.ItemIndex=1 then begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''填空题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
memo2.Visible:=true;
combobox2.Visible:=false;
combobox2.Text:=trim(adoquery1.fieldbyname('答案').AsString);
end else if combobox1.ItemIndex=2 then begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''问答题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
memo2.Visible:=true;
combobox2.Visible:=false;
combobox2.Text:=trim(adoquery1.fieldbyname('答案').AsString);
end;
end;
procedure TAddPaper.FormCreate(Sender: TObject);
begin
DBGrid1.Columns[0].FieldName:='小题题号';
end;
procedure TAddPaper.DataSource1DataChange(Sender: TObject; Field: TField);
var answer:string;
begin
edit2.Text:=adoquery1.fieldbyname('分值').AsString;
memo1.Text:=trim(adoquery1.Fieldbyname('题干').AsString);
edit1.Text:=adoquery1.fieldbyname('小题题号').AsString;
answer:=trim(adoquery1.fieldbyname('答案').AsString);
if combobox1.ItemIndex=0 then begin
if answer='A' then
combobox2.ItemIndex:=0
else if answer='B' then
combobox2.ItemIndex:=1
else if answer='C' then
combobox2.ItemIndex:=2
else combobox2.ItemIndex:=3;
end else begin
memo2.Text:=answer;
end;
end;
procedure TAddPaper.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
memo1.Clear;
memo2.Clear;
combobox2.ItemIndex:=-1;
end;
procedure TAddPaper.Button1Click(Sender: TObject);
var query:TADOQuery;
query1:TADOQuery;
answer:string;
begin
if trim(edit1.Text)<>'' then begin //题号不为空
query1:=TADOQuery.Create(nil);
query1.Connection:=Data.Connection;
query1.Close;
query1.SQL.Clear;
if combobox1.ItemIndex=0 then begin //选择题
query1.SQL.Text:='select * from 题库 where 题型 = ''选择题'' and 小题题号 = '+trim(edit1.Text)+'';
query1.Open;
if query1.Recordset.RecordCount = 0 then begin
query := TADOQuery.Create(nil);
query.Connection := Data.Connection;
query.Close;
query.SQL.Clear;
query.SQL.Text:='insert into 题库(题型,小题题号,题干,答案,分值) values (''选择题'','+
trim(edit1.Text)+','''+Memo1.Text+''','''+combobox2.text+''','+
edit2.text+')';
MessageBox(handle, PChar(query.SQL.Text), '提示', mb_IconWarning + mb_Ok);
try
query.ExecSQL;
except
MessageBox(handle, '添加错误', '提示', mb_IconWarning + mb_Ok);
exit;
end;
MessageBox(handle, '添加成功', '提示', mb_IconWarning + mb_Ok);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''选择题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
combobox2.Visible:=true;
memo2.Visible:=false;
answer:=trim(adoquery1.fieldbyname('答案').AsString);
if answer='A' then
combobox2.ItemIndex:=0
else if answer='B' then
combobox2.ItemIndex:=1
else if answer='C' then
combobox2.ItemIndex:=2
else combobox2.ItemIndex:=3;
end;
end else if combobox1.ItemIndex=1 then begin //填空题
query1.SQL.Text:='select * from 题库 where 题型 = ''填空题'' and 小题题号 = '+trim(edit1.Text)+'';
query1.Open;
if query1.Recordset.RecordCount = 0 then begin
query := TADOQuery.Create(nil);
query.Connection := Data.Connection;
query.Close;
query.SQL.Clear;
query.SQL.Text:='insert into 题库(题型,小题题号,题干,答案,分值) values (''填空题'','+
trim(edit1.Text)+','''+Memo1.Text+''','''+memo2.text+''','+
edit2.text+')';
MessageBox(handle, PChar(query.SQL.Text), '提示', mb_IconWarning + mb_Ok);
try
query.ExecSQL;
except
MessageBox(handle, '添加错误', '提示', mb_IconWarning + mb_Ok);
exit;
end;
MessageBox(handle, '添加成功', '提示', mb_IconWarning + mb_Ok);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''填空题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
memo2.Visible:=true;
combobox2.Visible:=false;
combobox2.Text:=trim(adoquery1.fieldbyname('答案').AsString);
end;
end else if combobox1.ItemIndex=2 then begin //问答题
query1.SQL.Text:='select * from 题库 where 题型 = ''问答题'' and 小题题号 = '+trim(edit1.Text)+'';
query1.Open;
if query1.Recordset.RecordCount = 0 then begin
query := TADOQuery.Create(nil);
query.Connection := Data.Connection;
query.Close;
query.SQL.Clear;
query.SQL.Text:='insert into 题库(题型,小题题号,题干,答案,分值) values (''问答题'','+
trim(edit1.Text)+','''+Memo1.Text+''','''+memo2.text+''','+
edit2.text+')';
MessageBox(handle, PChar(query.SQL.Text), '提示', mb_IconWarning + mb_Ok);
try
query.ExecSQL;
except
MessageBox(handle, '添加错误', '提示', mb_IconWarning + mb_Ok);
exit;
end;
MessageBox(handle, '添加成功', '提示', mb_IconWarning + mb_Ok);
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''问答题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
memo2.Visible:=true;
combobox2.Visible:=false;
combobox2.Text:=trim(adoquery1.fieldbyname('答案').AsString);
end;
end;
end;
end;
procedure TAddPaper.Button3Click(Sender: TObject);
var query:TADOQuery;
answer:string;
begin
if trim(edit1.Text)<>'' then begin //题号不为空
query:=TADOQuery.Create(nil);
query.Connection:=Data.Connection;
query.Close;
query.SQL.Clear;
if combobox1.ItemIndex=0 then begin //选择题
query.SQL.Text:='delete from 题库 where 题型 = ''选择题'' and 小题题号 = '+edit1.Text+'';
MessageBox(handle, Pchar(query.sql.text), '提示', mb_IconWarning + mb_Ok);
query.ExecSQL;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''选择题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
combobox2.Visible:=true;
memo2.Visible:=false;
answer:=trim(adoquery1.fieldbyname('答案').AsString);
if answer='A' then
combobox2.ItemIndex:=0
else if answer='B' then
combobox2.ItemIndex:=1
else if answer='C' then
combobox2.ItemIndex:=2
else combobox2.ItemIndex:=3;
end else if combobox1.ItemIndex=1 then begin
query.SQL.Text:='delete from 题库 where 题型 = ''填空题'' and 小题题号 = '+edit1.Text+'';
MessageBox(handle, Pchar(query.sql.text), '提示', mb_IconWarning + mb_Ok);
query.ExecSQL;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''填空题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
combobox2.Visible:=false;
memo2.Visible:=true;
answer:=trim(adoquery1.fieldbyname('答案').AsString);
memo2.Text:=answer;
end else if combobox1.ItemIndex=2 then begin
query.SQL.Text:='delete from 题库 where 题型 = ''问答题'' and 小题题号 = '+edit1.Text+'';
MessageBox(handle, Pchar(query.sql.text), '提示', mb_IconWarning + mb_Ok);
query.ExecSQL;
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='select * from 题库 where 题型=''问答题''';
adoquery1.Open;
edit2.Text:=InttoStr(adoquery1.fieldbyname('分值').AsInteger);
memo1.Text:=adoquery1.fieldbyname('题干').AsString;
combobox2.Visible:=false;
memo2.Visible:=true;
answer:=trim(adoquery1.fieldbyname('答案').AsString);
memo2.Text:=answer;
end ;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -