📄 uprintzwb.pas
字号:
Exit;
end;
XLApp.WorkBooks.Open(SysPath+'excel\考试编排.xls');
//写入数据
if QueryData.Active then QueryData.Close;
QueryData.SQL.Text := 'select * from STU_info where 班级='''+ComboBox1.Items[i]
+''' and 退学否=''F'' order by 试室名称,姓名,流水号';
QueryData.Open;
QueryData.First;
sheet := XLApp.WorkBooks[1].WorkSheets['Sheet96'];
sheet.name := ComboBox1.Items[i]+'班考试座位编排表';
sheet.Cells[1,1].value := ComboBox1.Items[i]+'班考试编排表';
axh := 1;
m := 1;
for k := 1 to 3 do begin
for j := 3 to 35 do begin
if QueryData.eof then Break;
sheet.Cells[j,m].value := axh;
sheet.Cells[j,m+1].value := QueryData.FieldByName('试室名称').AsString;
sheet.Cells[j,m+2].value := QueryData.FieldByName('座位号').AsString;
sheet.Cells[j,m+3].value := QueryData.FieldByName('姓名').AsString;
QueryData.Next;
if QueryData.eof then Break;
inc(axh);
end;
Inc(m,4);
end;
XLApp.Visible := True;
Sheet.Printpreview;
XLApp.ActiveWorkBook.Saved := True;
XLApp.Quit;
VarClear(XLApp);
end;
end else begin
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
XLApp.WorkBooks.Open(SysPath+'excel\考试编排.xls');
//写入数据
if QueryData.Active then QueryData.Close;
QueryData.SQL.Text := 'select * from STU_info where 班级='''+ComboBox1.text
+''' and 退学否=''F'' order by 试室名称,姓名,流水号';
QueryData.Open;
QueryData.First;
sheet := XLApp.WorkBooks[1].WorkSheets['Sheet96'];
sheet.name := ComboBox1.text+'班考试座位编排表';
sheet.Cells[1,1].value := ComboBox1.text+'班考试编排表';
axh := 1;
m := 1;
for k := 1 to 3 do begin
for j := 3 to 35 do begin
if QueryData.eof then Break;
sheet.Cells[j,m].value := axh;
sheet.Cells[j,m+1].value := QueryData.FieldByName('试室名称').AsString;
sheet.Cells[j,m+2].value := QueryData.FieldByName('座位号').AsString;
sheet.Cells[j,m+3].value := QueryData.FieldByName('姓名').AsString;
QueryData.Next;
if QueryData.eof then Break;
inc(axh);
end;
Inc(m,4);
end;
try
XLApp.Visible := True;
Sheet.Printpreview;
XLApp.ActiveWorkBook.Saved := True;
finally
XLApp.Quit;
VarClear(XLApp);
end;
end;
QueryData.Free;
end;
procedure TFPrintzwb.A_findExecute(Sender: TObject);
var
str: string;
begin
if ComboBox3.ItemIndex>0 then str := ' and 班级='''+ComboBox3.Text+''' ';
str := 'select * from STU_INFO where 姓名 like ''%'+Edit1.Text+'%'''+str;
if ADOQuery.Active then ADOQuery.Close;
ADOQuery.SQL.Text := str;
ADOQUery.Open;
end;
procedure TFPrintzwb.A_previewExecute(Sender: TObject);
begin
if not ADOQuery.IsEmpty then begin
setsize;
Form2.QuickRep1.Preview;
end;
end;
procedure TFPrintzwb.Button6Click(Sender: TObject);
begin
if ComboBox3.ItemIndex <0 then exit;
if ComboBox3.ItemIndex=0 then begin
with ADOQuery do try
if Active then Close;
sql.Text := 'select * from STU_info where 退学否=''F'' and (not(试室名称 is null)) order by 班级,试室名称,姓名,流水号';
Open;
except
end;
exit;
end;
with ADOQuery do try
if Active then Close;
sql.Text := 'select * from STU_info where 退学否=''F'' and 班级='''+ComboBox3.text+''' order by 试室名称,姓名,流水号';
Open;
except
end;
end;
procedure TFPrintzwb.Button5Click(Sender: TObject);
var
i: integer;
begin
if ADOQuery.IsEmpty then exit;
if ComboBox3.ItemIndex < 0 then exit;
if ComboBox3.Items.Count<2 then exit;
if Ask('真的要打印准考证吗?','提示',MB_OKCL)<>1 then exit;
ADOQuery.DisableControls;
if ComboBox3.ItemIndex=0 then begin
for i := 1 to ComboBox3.Items.Count - 1 do begin
if ADOQuery.Active then ADOQuery.Close;
ADOQuery.SQL.Text := 'select * from STU_info where 班级='''+ComboBox3.Items[i]
+''' and 退学否=''F'' order by 试室名称,姓名,流水号';
ADOQuery.Open;
setsize;
Form2.QuickRep1.Preview;
end;
end else try
if ADOQuery.Active then ADOQuery.Close;
ADOQuery.SQL.Text := 'select * from STU_info where 班级='''+ComboBox3.text
+''' and 退学否=''F'' order by 试室名称,姓名,流水号';
ADOQuery.Open;
setsize;
Form2.QuickRep1.Preview;
except
end;
ADOQuery.EnableControls;
end;
procedure TFPrintzwb.setsize;
begin
with Form2 do begin
Case length(g_Sys.School) of
8: begin
QR1.Left := 90; QR1.Top := 32; QR2.Left := 102; QR2.Top := 12;
QR3.Left := 125; QR3.Top := 13; QR4.Left := 137; QR4.Top := 29;
QR5.Enabled := False; QR6.Enabled := False; QR7.Enabled := False;
QR1.Caption := Copy(g_sys.School, 1,2);
QR2.Caption := Copy(g_sys.School, 3,2);
QR3.Caption := Copy(g_sys.School, 5,2);
QR4.Caption := Copy(g_sys.School, 7,2);
end;
10: begin
QR1.Left := 83; QR1.Top := 35; QR2.Left := 95; QR2.Top := 20;
QR3.Left := 113; QR3.Top := 9; QR4.Left := 113; QR4.Top := 19;
QR5.Left := 143; QR5.Top := 37; QR6.Enabled := False; QR7.Enabled := False;
QR1.Caption := Copy(g_sys.School, 1,2);
QR2.Caption := Copy(g_sys.School, 3,2);
QR3.Caption := Copy(g_sys.School, 5,2);
QR4.Caption := Copy(g_sys.School, 7,2);
QR5.Caption := Copy(g_sys.School, 9,2);
end;
12: begin
QR1.Left := 83; QR1.Top := 37; QR2.Left := 93; QR2.Top := 19;
QR3.Left := 105; QR3.Top := 10; QR4.Left := 125; QR4.Top := 11;
QR5.Left := 141; QR5.Top := 21;
QR6.Left := 143; QR6.Top := 40; QR7.Enabled := False;
QR1.Caption := Copy(g_sys.School, 1,2);
QR2.Caption := Copy(g_sys.School, 3,2);
QR3.Caption := Copy(g_sys.School, 5,2);
QR4.Caption := Copy(g_sys.School, 7,2);
QR5.Caption := Copy(g_sys.School, 9,2);
QR6.Caption := Copy(g_sys.School, 11,2);
end;
6: begin
QR1.Left := 88; QR1.Top := 32; QR2.Left := 113; QR2.Top := 11;
QR3.Left := 132; QR3.Top := 33; QR4.Enabled := False;
QR5.Enabled := False; QR6.Enabled := False; QR7.Enabled := False;
QR1.Caption := Copy(g_sys.School, 1,2);
QR2.Caption := Copy(g_sys.School, 3,2);
QR3.Caption := Copy(g_sys.School, 5,2);
end;
14: begin
QR1.Caption := Copy(g_sys.School, 1,2);
QR2.Caption := Copy(g_sys.School, 3,2);
QR3.Caption := Copy(g_sys.School, 5,2);
QR4.Caption := Copy(g_sys.School, 7,2);
QR5.Caption := Copy(g_sys.School, 9,2);
QR6.Caption := Copy(g_sys.School, 11,2);
QR7.Caption := Copy(g_sys.School, 13,2);
end;
end;
end;
end;
procedure TFPrintzwb.ComboBox2Change(Sender: TObject);
begin
if ComboBox2.ItemIndex<0 then exit;
if ComboBox2.ItemIndex=0 then Button1.Caption :='打 印'
else Button1.Caption := '打印预览';
end;
procedure TFPrintzwb.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.ItemIndex<0 then exit;
if ComboBox1.ItemIndex=0 then Button2.Caption :='打 印'
else Button2.Caption := '打印预览';
end;
procedure TFPrintzwb.Button7Click(Sender: TObject);
var
i, j, k, m, axh: integer;
XLApp: Variant;
Sheet: Variant;
QueryData: TADOQuery;
begin
if ADOQuery.IsEmpty then exit;
if ComboBox4.ItemIndex < 0 then exit;
if ComboBox4.Items.Count<2 then exit;
if Ask('真的要打印班级名册校对信息吗?','提示',MB_OKCL)<>1 then exit;
if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
VarClear(XLApp);
end;
QueryData := TADOQUery.Create(self);
QueryData.Connection := FMain.ADOConnection;
if ComboBox4.ItemIndex=0 then begin
for i := 1 to ComboBox4.Items.Count - 1 do begin
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
XLApp.WorkBooks.Open(SysPath+'excel\名册校对.xls');
//写入数据
if QueryData.Active then QueryData.Close;
QueryData.SQL.Text := 'select * from STU_info where 班级='''+ComboBox4.Items[i]
+''' and 退学否=''F'' order by 姓名,流水号';
QueryData.Open;
QueryData.First;
sheet := XLApp.WorkBooks[1].WorkSheets['Sheet96'];
sheet.name := ComboBox4.Items[i]+'班名册校对';
sheet.Cells[1,1].value := ComboBox4.Items[i]+'班名册校对表';
axh := 1;
m := 1;
for k := 1 to 4 do begin
for j := 3 to 27 do begin
if QueryData.eof then Break;
sheet.Cells[j,m].value := axh;
sheet.Cells[j,m+1].value := QueryData.FieldByName('姓名').AsString;
QueryData.Next;
if QueryData.eof then Break;
inc(axh);
end;
Inc(m,3);
end;
XLApp.Visible := False;
Sheet.Printout;
XLApp.ActiveWorkBook.Saved := True;
XLApp.Quit;
VarClear(XLApp);
end;
end else begin //
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
XLApp.WorkBooks.Open(SysPath+'excel\名册校对.xls');
//写入数据
if QueryData.Active then QueryData.Close;
QueryData.SQL.Text := 'select * from STU_info where 班级='''+ComboBox4.text
+''' and 退学否=''F'' order by 姓名,流水号';
QueryData.Open;
QueryData.First;
sheet := XLApp.WorkBooks[1].WorkSheets['Sheet96'];
sheet.name := ComboBox4.text+'班名册校对';
sheet.Cells[1,1].value := ComboBox4.text+'班名册校对表';
axh := 1;
m := 1;
for k := 1 to 4 do begin
for j := 3 to 27 do begin
if QueryData.eof then Break;
sheet.Cells[j,m].value := axh;
sheet.Cells[j,m+1].value := QueryData.FieldByName('姓名').AsString;
QueryData.Next;
if QueryData.eof then Break;
inc(axh);
end;
Inc(m,3);
end;
try
XLApp.Visible := True;
Sheet.Printpreview;
XLApp.ActiveWorkBook.Saved := True;
finally
XLApp.Quit;
VarClear(XLApp);
end;
end;
QueryData.Free;
end;
procedure TFPrintzwb.ComboBox4Change(Sender: TObject);
begin
if ComboBox4.ItemIndex<0 then exit;
if ComboBox4.ItemIndex=0 then Button7.Caption :='打 印'
else Button7.Caption := '打印预览';
end;
procedure TFPrintzwb.Button8Click(Sender: TObject);
begin
if ComboBox4.ItemIndex <0 then exit;
if ComboBox4.Text = '全部数据' then begin
with ADOQuery do try
if Active then Close;
sql.Text := 'select * from STU_info where 退学否=''F'' and (not(试室名称 is null)) order by 班级,姓名,流水号';
Open;
except
end;
exit;
end;
with ADOQuery do try
if Active then Close;
sql.Text := 'select * from STU_info where 退学否=''F'' and 班级='''+ComboBox4.text+''' order by 姓名,流水号';
Open;
except
end;
end;
procedure TFPrintzwb.Button9Click(Sender: TObject);
var
j, k, m: integer;
XLApp: Variant;
Sheet: Variant;
QueryData: TADOQuery;
begin
if Ask('真的要打印试室汇总表信息吗?','提示',MB_OKCL)<>1 then exit;
if not VarIsEmpty(XLApp) then
begin
XLApp.DisplayAlerts := False;
XLApp.Quit;
VarClear(XLApp);
end;
try
XLApp := CreateOleObject('Excel.Application');
except
Screen.Cursor := crDefault;
Exit;
end;
XLApp.WorkBooks.Open(SysPath+'excel\试室汇总表.xls');
//写入数据
QueryData := TADOQUery.Create(self);
QueryData.Connection := FMain.ADOConnection;
if QueryData.Active then QueryData.Close;
QueryData.SQL.Text := 'select * from STU_ss order by ID';
QueryData.Open;
QueryData.First;
sheet := XLApp.WorkBooks[1].WorkSheets['Sheet1'];
sheet.name := '试室汇总表';
m := 1;
for k := 1 to 4 do begin
for j := 1 to 12 do begin
if QueryData.eof then Break;
sheet.Cells[j*2+1,m].value := QueryData.FieldByName('ss').AsString;
sheet.Cells[j*2+1,m+1].value := QueryData.FieldByName('nj1').AsString;
sheet.Cells[j*2+2,m+1].value := QueryData.FieldByName('nj2').AsString;
sheet.Cells[j*2+1,m+2].value := QueryData.FieldByName('rs1').AsString;
sheet.Cells[j*2+2,m+2].value := QueryData.FieldByName('rs2').AsString;
QueryData.Next;
if QueryData.eof then Break;
end;
Inc(m,3);
end;
sheet.cells[27,4].value := inttostr(GetFieldVar('select sum(rs1) from STU_ss where nj1=''初一''')+GetFieldVar('select sum(rs2) from STU_ss where nj2=''初一'''));
sheet.cells[27,10].value := inttostr(GetFieldVar('select sum(rs1) from STU_ss where nj1=''初二''')+GetFieldVar('select sum(rs2) from STU_ss where nj2=''初二'''));
sheet.cells[28,4].value := inttostr(GetFieldVar('select sum(rs1) from STU_ss where nj1=''初三''')+GetFieldVar('select sum(rs2) from STU_ss where nj2=''初三'''));
XLApp.Visible := True;
Sheet.Printpreview;
XLApp.ActiveWorkBook.Saved := True;
XLApp.Quit;
VarClear(XLApp);
QueryData.Free;
end;
procedure TFPrintzwb.ComboBox3Change(Sender: TObject);
begin
if ComboBox3.ItemIndex<0 then exit;
if ComboBox3.ItemIndex=0 then Button5.Caption :='打 印'
else Button5.Caption := '打印预览';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -