⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sj_four_rand.~pas

📁 学员管理的软件
💻 ~PAS
字号:
unit sj_four_rand;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls,math,DB,ADODB, ExtCtrls, TeeProcs, TeEngine,
  Chart, Series, Buttons, BubbleCh,Printers;

type
  TT_txtj = class(TForm)
    Chart1: TChart;
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    rb_zz: TRadioButton;
    rb_bt: TRadioButton;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Series1: TBarSeries;
    Chart2: TChart;
    Series2: TPieSeries;
    SaveDialog1: TSaveDialog;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  T_txtj: TT_txtj;
implementation

{$R *.dfm}
uses main;
procedure TT_txtj.BitBtn2Click(Sender: TObject);
var
t:Tadoquery;
i:Integer;
data_sum:array[1..6]of integer;
pie_pic:boolean;
begin
if rb_bt.Checked then
begin
pie_pic:=true;
chart1.Visible:=false;
chart2.Visible:=true;
end
else
begin
pie_pic:=false;
chart2.Visible:=false;
end;
chart1.Visible:=true;
if RadioButton1.Checked then
begin
for i:=1 to 6 do data_sum[i]:=0;
t:=Tadoquery.Create(nil);
t.Connection:=main.DataModule2.ADOConnection1;
t.SQL.Clear;
t.Close;
t.SQL.Add('select 类别 from 人员信息表');
t.Open;
while not t.Eof do
begin
if t.FieldByName('类别').AsString='考试人' then
  data_sum[1]:=data_sum[1]+1;
if t.FieldByName('类别').AsString='操作员' then
  data_sum[2]:=data_sum[2]+1;
if t.FieldByName('类别').AsString='管理员' then
  data_sum[3]:=data_sum[3]+1;
t.Next;
end;
Series1.Clear;
series2.Clear;
if not pie_pic then
begin
chart1.Title.Text[0]:=radiobutton1.Caption;
series1.Add(data_sum[1],'考试人数',clTeeColor);
series1.Add(data_sum[2],'操作员人数',clblue);
series1.Add(data_sum[3],'管理员人数',clred)
end
else
begin
series2.Title:=radiobutton1.Caption;
series2.Add(data_sum[1],'考试人数',clTeeColor);
series2.Add(data_sum[2],'操作员人数',clblue);
series2.Add(data_sum[3],'管理员人数',clred);
end;
t.Close;
t.Free;
end;
if RadioButton2.Checked then
begin
for i:=1 to 6 do data_sum[i]:=0;
t:=Tadoquery.Create(nil);
t.Connection:=main.DataModule2.ADOConnection1;
t.SQL.Clear;
t.Close;
t.SQL.Add('select 题型 from 试题表');
t.Open;
while not t.Eof do
begin
if t.FieldByName('题型').AsInteger =1 then
  data_sum[1]:=data_sum[1]+1;
if t.FieldByName('题型').AsInteger =2 then
  data_sum[2]:=data_sum[2]+1;
if t.FieldByName('题型').AsInteger =3 then
  data_sum[3]:=data_sum[3]+1;
if t.FieldByName('题型').AsInteger =4 then
  data_sum[4]:=data_sum[4]+1;
if t.FieldByName('题型').AsInteger =5 then
  data_sum[5]:=data_sum[5]+1;
if t.FieldByName('题型').AsInteger =6 then
  data_sum[6]:=data_sum[6]+1;
t.Next;
end;
Series1.Clear;
series2.Clear;
if not pie_pic then
begin
chart1.Title.Text[0]:=radiobutton2.Caption;
series1.Add(data_sum[1],'单选题',clTeeColor);
series1.Add(data_sum[2],'多选题',clblue);
series1.Add(data_sum[3],'填空题',clred);
series1.Add(data_sum[4],'问答题',clTeeColor);
series1.Add(data_sum[5],'作文题',clblue);
series1.Add(data_sum[6],'判断题',clred)
end
else
begin
series2.Title:=radiobutton2.Caption;
series2.Add(data_sum[1],'单选题',clTeeColor);
series2.Add(data_sum[2],'多选题',clblue);
series2.Add(data_sum[3],'填空题',clred);
series2.Add(data_sum[4],'问答题',clTeeColor);
series2.Add(data_sum[5],'作文题',clblue);
series2.Add(data_sum[6],'判断题',clred);
end;
t.Close;
t.Free;
end;
if RadioButton3.Checked then
begin
for i:=1 to 6 do data_sum[i]:=0;
t:=Tadoquery.Create(nil);
t.Connection:=main.DataModule2.ADOConnection1;
t.SQL.Clear;
t.Close;
t.SQL.Add('select 性别 from 人员信息表');
t.Open;
while not t.Eof do
begin
if t.FieldByName('性别').AsString = '男' then
  data_sum[1]:=data_sum[1]+1;
if t.FieldByName('性别').Asstring = '女' then
  data_sum[2]:=data_sum[2]+1;
t.Next;
end;
series1.Clear;
series2.Clear;
if not pie_pic then
begin
chart1.Title.Text[0]:=radiobutton3.Caption;
series1.Add(data_sum[1],'男',clTeeColor);
series1.Add(data_sum[2],'女',clblue)
end
else
begin
series2.Title:=radiobutton3.Caption;
series2.Add(data_sum[1],'男',clTeeColor);
series2.Add(data_sum[2],'女',clblue);
end;
t.Close;
t.Free;
end;
end;

procedure TT_txtj.BitBtn3Click(Sender: TObject);
begin
with Printer do
  begin
    BeginDoc;
    Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
                    200, 200,'远程教育考试平台--图形打印');
    chart1.Print;
    EndDoc;
end;

end;

procedure TT_txtj.BitBtn4Click(Sender: TObject);
begin
if savedialog1.Execute then
   chart1.SaveToBitmapFile(savedialog1.FileName);
end;

procedure TT_txtj.BitBtn1Click(Sender: TObject);
begin
close;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -