📄 unitzhaosheng.pas.~93~
字号:
unit unitZhaosheng;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst, Buttons, ExtCtrls, Grids, DBGridEh,DBGridEhImpexp,
ShellApi, DB;
type
TfmZhaosheng = class(TForm)
Panel1: TPanel;
cmbZhiyuan: TComboBox;
Label1: TLabel;
Label2: TLabel;
edtCode: TEdit;
lstJNCJ: TCheckListBox;
Label3: TLabel;
Label4: TLabel;
lstJNCJ2: TCheckListBox;
lstCaoxing: TCheckListBox;
Label5: TLabel;
btnSearch: TBitBtn;
DBGridEh1: TDBGridEh;
Panel2: TPanel;
Label6: TLabel;
lbResult: TLabel;
Label8: TLabel;
edtMans: TEdit;
btnRecord: TBitBtn;
SaveDialog1: TSaveDialog;
btnExportXLS: TBitBtn;
DataSource1: TDataSource;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure btnRecordClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnSearchClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure btnExportXLSClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
implementation
uses unitDatamodule;
{$R *.dfm}
procedure TfmZhaosheng.btnExportXLSClick(Sender: TObject);
begin
if SaveDialog1.Execute then
try
saveDBGridEhToExportFile(TDBGridEhExportAsXLS,DBGridEh1,SaveDialog1.FileName,true);
if Application.MessageBox('导出数据成功,是否打开Excel文件?','请选择',MB_YESNO or MB_ICONINFORMATION)=ID_YES then
ShellExecute(handle,'open',pchar(SaveDialog1.FileName),'0','0',SW_MAXIMIZE);
except
Application.MessageBox('发生意外,生成Excel文件失败!','警告',MB_OK or MB_ICONERROR);
end;
end;
procedure TfmZhaosheng.FormShow(Sender: TObject);
begin
dm.Query1.Close;
lstJncj.Checked[0]:=true;
lstJncj.Checked[1]:=true;
lstJncj.Checked[2]:=true;
lstJncj.Checked[3]:=true;
lstJncj2.Checked[0]:=true;
lstJncj2.Checked[1]:=true;
lstCaoxing.Checked[0]:=true;
lstCaoxing.Checked[1]:=true;
lstCaoxing.Checked[2]:=true;
end;
procedure TfmZhaosheng.btnSearchClick(Sender: TObject);
var
zhiyuan,sql,sql1,sql2,sql3:String;
i:Integer;
begin
case cmbZhiyuan.ItemIndex of
0:zhiyuan:='gaozhi1';
1:zhiyuan:='gaozhi2';
2:zhiyuan:='gaozhi3';
3:zhiyuan:='gaozhi4';
4:zhiyuan:='wuzhi1';
5:zhiyuan:='wuzhi2';
6:zhiyuan:='zhongzhi1';
7:zhiyuan:='zhongzhi2';
8:zhiyuan:='zhongzhi3';
else
begin
Application.MessageBox('请选择一种志愿!','错误',MB_OK or MB_ICONERROR);
exit;
end;
end;
if trim(edtCode.Text)='' then
begin
Application.MessageBox('必需输入专业代码!','错误',MB_OK or MB_ICONERROR);
exit;
end;
sql1:='';
for i:=0 to LstJncj.Count-1 do
begin
if lstJncj.Checked[i] then
sql1:=sql1+' or jncj='''+lstJncj.Items[i]+'''';
end;
sql1:=copy(sql1,4,Length(sql1)-3);
sql2:='';
if lstJncj2.Checked[0] then
sql2:=' and tiyu=''T''';
if lstJncj2.Checked[1] then
sql2:=sql2+' and shiyan=''T''';
sql3:='';
for i:=0 to lstCaoxing.Count-1 do
begin
if lstCaoxing.Checked[i] then
sql3:=sql3+' or Upper(caoxing)='''+lstCaoxing.Items[i]+'''';
end;
sql3:=copy(sql3,4,Length(sql3)-3);
sql:='';
if trim(sql1)<>'' then
sql:=sql+' and ('+sql1+')';
if trim(sql2)<>'' then
sql:=sql+sql2;
if trim(sql3)<>'' then
sql:=sql+' and ('+sql3+')';
sql:=sql+ ' and '+zhiyuan+'='''+UpperCase(edtCode.Text)+'''';
sql:=sql+' and lqpc=0';
sql:=copy(sql,5,Length(sql)-4);
sql:='select * from student where '+sql+' order by tdf desc';
// showMessage(sql);
dm.Trans1.Active:=false;
dm.Query1.Close;
dm.Query1.SQL.Text:=sql;
dm.Query1.Open;
dm.Query1.Last;
lbResult.Caption:=Inttostr(dm.Query1.RecordCount);
end;
procedure TfmZhaosheng.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dm.Query1.Close;
end;
procedure TfmZhaosheng.btnRecordClick(Sender: TObject);
var
i,j,lqpc:Integer;
begin
if dm.Query1.Active=false then
begin
Application.MessageBox('请先按要求查询考生信息','提示',MB_OK or MB_ICONWARNING);
exit;
end;
tryStrToInt(edtMans.Text,i);
if (i=0) or (i>dm.Query1.RecordCount) then
begin
Application.MessageBox('招生人数非法!','提示',MB_OK or MB_ICONWARNING);
exit;
end;
if cmbZhiyuan.ItemIndex<4 then
lqpc:=1
else if (cmbzhiyuan.ItemIndex>=4) and (cmbZhiyuan.ItemIndex<6) then
lqpc:=2
else if cmbZhiyuan.ItemIndex>=6 then
lqpc:=3;
dm.Query1.First;
dm.Trans2.Active:=false;
for j:=1 to i do
begin
dm.Query2.Close;
dm.Query2.SQL.Text:='update student set lqpc='+inttostr(lqpc)+
',lqzy='''+UpperCase(edtCode.Text)+''' where zkzh='''+
dm.Query1.FieldByName('zkzh').AsString+''';
dm.Query1.Next;
end;
dm.Trans2.Commit;
Application.MessageBox('招生完毕','提示',MB_OK or MB_ICONINFORMATION);
dm.Query1.Close;
end;
procedure TfmZhaosheng.BitBtn1Click(Sender: TObject);
begin
dm.Trans2.Active:=false;
dm.Query2.Close;
dm.Query2.SQL.Text:='update student set lqzy=null,lqpc=0';
dm.Query2.ExecSQL;
dm.Trans2.Commit;
if dm.Query1.Active then
begin
dm.Query1.DisableControls;
dm.Trans1.Active:=false;
dm.Query1.Open;
dm.Query1.Last;
dm.Query1.First;
dm.Query1.EnableControls;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -