?? 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 + -