📄 unit18.pas
字号:
memo1.Text:=memo1.Text+query1.fieldbyname('ctigan2').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x2a').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x2b').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x2c').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x2d').AsString+#13#10;
end;
if query1.FieldByName('ctigan3').AsString<>'' then
begin
memo1.Text:=memo1.Text+query1.fieldbyname('ctigan3').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x3a').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x3b').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x3c').AsString+#13#10;
memo1.Text:=memo1.Text+query1.fieldbyname('x3d').AsString+#13#10;
end;
autoanswerform.Memo1.Text:=autoanswerform.Memo1.Text+query1.Fieldbyname('answer1').AsString+#13#10;
if query1.FieldByName('answer2').AsString<>'' then
autoanswerform.Memo1.Text:=autoanswerform.Memo1.Text+query1.Fieldbyname('answer2').AsString+#13#10;
if query1.FieldByName('answer3').AsString<>'' then
autoanswerform.Memo1.Text:=autoanswerform.Memo1.Text+inttostr(tt)+'、'+query1.Fieldbyname('answer3').AsString+#13#10;
readpronumber:=readpronumber-1;
n:=n-1;
// strtoint(query1.fieldbyname('difficulty').AsString):=strtoint(query1.fieldbyname('difficulty').AsString)-1;
end;
end;
end;
//i:=thao[]
end;
// showmessage('readprostop');
end;
// showmessage(inttostr(procedurenumber));
progressbar1.Position:=progressbar1.Position+re;
if definepaperform.DBEdit15.Text<>'0' then
begin
tt:=0;
paperautoform.Memo1.Text:=paperautoform.Memo1.Text+''+#13#10+tmno[pp]+'编程题'+'(共'+definepaperform.DBEdit15.Text+'小题,每题'+definepaperform.DBEdit16.Text+'分,小计'+definepaperform.DBEdit17.Text+'分).'+#13#10+'';
autoanswerform.Memo1.Text:=autoanswerform.Memo1.Text+''+#13#10+tmno[pp]+'编程题:'+#13#10+'';
pp:=pp+1;
end;
//编程题
//------------------------------------------------------------------------
//-----------------------------------------------------------------------
while procedurenumber<>0 do
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select tno from ti_procedure') ;
if ListBox2.Count>=1 then
begin
// if ListBox2.Count=1 then
for mm:=1 to 9 do
begin
if TF[mm]='t' then
begin
query1.SQL.Add(' where tno not like '''+inttostr(mm)+'%''');
break;
end;
end;
if listBox2.Count>1 then
begin
for mm:=1 to 9 do
if TF[mm]='t' then
begin
query1.SQL.Add(' and tno not like '''+inttostr(mm)+'%''');
// showmessage(query1.SQL.Text);
end;
end;
end;
query1.Open;
query1.First;
{
// showmessage('procedurebdgin');
if ComboBox1.ItemIndex=-1 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=0 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''1%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=1 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''2%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=2 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''3%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=3 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''4%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=4 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''5%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=5 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''6%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=6 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''7%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=7 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''8%%%''');
query1.Open;
query1.First;
end;
if ComboBox1.ItemIndex=8 then
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.add('select tno from ti_procedure where tno not like ''9%%%''');
query1.Open;
query1.First;
end;
}
while not query1.Eof do
begin
hade:=false;
if i=1 then
begin
thao[i]:=((Query1.FieldValues['tno']) div 10);
// memo1.Text:=memo1.Text+inttostr(thao[i])+' ';
end
else
if i>1 then
begin
for j:=i-1 downto 1 do
begin
if thao[j]=((Query1.FieldValues['tno']) div 10) then
begin
t:=true ;
break;
end
else
t:=false;
end;
if not t then
begin
thao[i]:=((Query1.FieldValues['tno']) div 10);
// memo1.Text:=memo1.Text+inttostr(thao[i])+' ';
t:=false;
end;
end;
query1.Next;
if not t then
i:=i+1;
end;
temp:=random(i-1)+1;
r:=thao[temp];
q:=random(9)+1;
ran:=r*10+q;
// if m=1 then
// havetake[1]:=0000;
// else if
for m:=1 to 800 do havetake[m]:=0;
for m:=1 to 800 do
begin
if havetake[m]=ran then
begin
showmessage('chongfu');
hade:=true;
break;
end;
end;
if not hade then
begin
for m:=0 to 800 do
if havetake[m]=0 then
begin
havetake[m]:=ran;
break;
end;
// showmessage(inttostr(ran));
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select tigan,answer,difficulty from ti_procedure where tno=:no');
query1.ParamByName('no').Value:=ran;
query1.Open;
if procedurenumber<>0 then
begin
if query1.RecordCount<>0 then// continue//showmessage('ddd')
// else
begin
n:= strtoint(query1.FieldByName('difficulty').AsString);
if diff[n] <>0 then
// if definediff[strtoint(query1.fieldbyname('difficulty').AsString)]<>0 then
begin
tt:=tt+1;
// memo1.Text:=memo1.Text+'编程题';
// showmessage(inttostr(ran));
memo1.Text:=memo1.Text+inttostr(tt)+'、'+query1.fieldbyname('tigan').AsString+#13#10;
autoanswerform.Memo1.Text:=autoanswerform.Memo1.Text+inttostr(tt)+'、'+query1.fieldbyname('answer').AsString+#13#10;
procedurenumber:=procedurenumber-1;
n:=n-1;
// strtoint(query1.fieldbyname('difficulty').AsString):=strtoint(query1.fieldbyname('difficulty').AsString)-1;
end;
end;
end;
//i:=thao[]
end;
end;
// showmessage('pocedurestop');
progressbar1.Position:=progressbar1.Position+p;
Label3.Hide;
showmessage('试卷提取完毕!');
for cc:=1 to 9 do
TF[cc]:='f';
end;
procedure Tpaperautoform.FormShow(Sender: TObject);
begin
choosenumber:=strtoint(definepaperform.DBEdit3.Text);
judgenumber:=strtoint(definepaperform.DBEdit4.Text);
filltextnumber:=strtoint(definepaperform.DBEdit12.Text);
readpronumber:=strtoint(definepaperform.DBEdit5.Text);
procedurenumber:=strtoint(definepaperform.DBEdit15.Text);
//showmessage(inttostr(choosenumber)+' '+inttostr(judgenumber)+' '+inttostr(filltextnumber)+' '+inttostr(readpronumber)+' '+inttostr(procedurenumber));
paperallnumber:=choosenumber+judgenumber+filltextnumber+readpronumber+procedurenumber;
end;
procedure Tpaperautoform.FormCreate(Sender: TObject);
begin
label3.Hide;
end;
procedure Tpaperautoform.BitBtn1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if ComboBox2.Text<>'' then
label3.Show;
end;
procedure Tpaperautoform.ComboBox2Change(Sender: TObject);
var
i,j:integer;
begin
choosenumber:=strtoint(definepaperform.DBEdit3.Text);
judgenumber:=strtoint(definepaperform.DBEdit4.Text);
filltextnumber:=strtoint(definepaperform.DBEdit12.Text);
readpronumber:=strtoint(definepaperform.DBEdit5.Text);
procedurenumber:=strtoint(definepaperform.DBEdit15.Text);
//showmessage(inttostr(choosenumber)+' '+inttostr(judgenumber)+' '+inttostr(filltextnumber)+' '+inttostr(readpronumber)+' '+inttostr(procedurenumber));
paperallnumber:=choosenumber+judgenumber+filltextnumber+readpronumber+procedurenumber;
paperautoform.ProgressBar1.Position:=0;
memo1.Text:='';
exit;
for i:=0 to 800 do
begin
paperautoform.thao[i]:=0;
paperautoform.havetake[i]:=0;
end;
for j:=1 to 5 do
paperautoform.diff[j]:=0;
query1.Close;
query1.Open;
end;
procedure Tpaperautoform.SpeedButton1Click(Sender: TObject);
var
i:integer;
begin
for i:=0 to ListBox1.Items.Count-1 do
if ListBox1.Selected[i] then
begin
ListBox2.Items.Append(ListBox1.Items[i]);
ListBox1.Items.Delete(i);
break;
end;
end;
procedure Tpaperautoform.SpeedButton2Click(Sender: TObject);
var
i:integer;
begin
for i:=ListBox2.Items.Count-1 downto 0 do
if ListBox2.Selected[i] then
begin
ListBox1.Items.Append(ListBox2.Items[i]);
ListBox2.Items.Delete(i);
break;
end;
//end;
end;
procedure Tpaperautoform.N1Click(Sender: TObject);
begin
autoanswerform.Show;
end;
procedure Tpaperautoform.N24Click(Sender: TObject);
begin
//mainform.papertime:=mainform.papertime+1;
query1.Close;
query1.SQL.Clear;
query1.SQL.text:='insert into papermanager values(:gg,''自动'',:ss,:dd)' ;
// query1.ParamByName('nn').AsInteger:=mainform.papertime;
query1.ParamByName('gg').AsString:=definepaperform.DBEdit1.Text;
query1.ParamByName('ss').AsString:=paperautoform.Memo1.Text ;
query1.ParamByName('dd').AsString:=autoanswerform.Memo1.Text ;
// query1.ParamByName('hh').AsInteger:=strtoint(definepaperform.DBEdit18.Text) ;
query1.ExecSQL;
DataModule4.Table_papermanager.Active:=false;
DataModule4.Table_papermanager.Active:=true;
end;
procedure Tpaperautoform.N9Click(Sender: TObject);
begin
memo1.Undo;
end;
procedure Tpaperautoform.N10Click(Sender: TObject);
begin
memo1.CutToClipboard;
end;
procedure Tpaperautoform.N11Click(Sender: TObject);
begin
memo1.CopyToClipboard;
end;
procedure Tpaperautoform.N7Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear;
query1.SQL.text:='insert into papermanager values(:gg,''自动'',:ss,:dd)' ;
query1.ParamByName('gg').AsString:=definepaperform.DBEdit1.Text;
query1.ParamByName('ss').AsString:=paperautoform.Memo1.Text ;
query1.ParamByName('dd').AsString:=autoanswerform.Memo1.Text ;
// query1.ParamByName('hh').AsInteger:=strtoint(definepaperform.DBEdit18.Text) ;
query1.ExecSQL;
// mainform.papertime:=mainform.papertime+1;
//savedialog1.Title:='保存生成后的试卷';
//savedialog1.FileName:=fname;
//if savedialog1.Execute then
// begin
// filename:=savedialog1.FileName;
// memo1.Lines.SaveToFile(filename+'.doc');
// end;
DataModule4.Table_papermanager.Active:=false;
DataModule4.Table_papermanager.Active:=true;
end;
procedure Tpaperautoform.N8Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -