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

📄 server.pas

📁 VB编写的考试系统和论文
💻 PAS
字号:
unit server;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ComCtrls, Menus, ToolWin, ExtCtrls, Grids, ScktComp,
  DB, ADODB;

type
  TForm1 = class(TForm)
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    ToolBar1: TToolBar;
    s1: TSpeedButton;
    s2: TSpeedButton;
    s3: TSpeedButton;
    s4: TSpeedButton;
    s5: TSpeedButton;
    s6: TSpeedButton;
    Panel1: TPanel;
    stu: TStatusBar;
    sg: TStringGrid;
    SpeedButton1: TSpeedButton;
    ss1: TServerSocket;
    qa: TADOQuery;
    FASONG: TServerSocket;
    cj: TServerSocket;
    qd: TADOQuery;
    about1: TMenuItem;
    procedure FormCreate(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure N5Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure s1Click(Sender: TObject);
    procedure ss1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure N7Click(Sender: TObject);
    procedure s2Click(Sender: TObject);
    procedure s3Click(Sender: TObject);
    procedure s5Click(Sender: TObject);
    procedure s4Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure s6Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FASONGClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure ss1Accept(Sender: TObject; Socket: TCustomWinSocket);
    procedure cjClientRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure about1Click(Sender: TObject);
  private
    { Private declarations }
  public
    i:integer;
    xuehao:string;
  
  end;

var
  Form1: TForm1;

implementation
 uses denglu,unit3,zhuce,kemu,tiku, guanli,cl,juan,chengji,help ;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  sg.Cells[0,0]:='序号';
  sg.Cells[1,0]:='学号';
  sg.Cells[2,0]:='主机名';
  sg.Cells[3,0]:='IP地址';
  sg.Cells[4,0]:='本场考试时间';
  sg.Cells[5,0]:='剩余时间';
  FASONG.Active:=true;
  cj.Active:=true;
   form1.N4.Enabled:=false;
   form1.N6.Enabled:=false;
   form1.N13.Enabled:=false;
   form1.s1.Enabled:=false;
   form1.s2.Enabled:=false;
   form1.s3.Enabled:=false;
   form1.s4.Enabled:=false;
   form1.s5.Enabled:=false;
   form1.s6.Enabled:=false;
    
   form1.stu.Panels[0].Text:='         请   先   登    录    系    统!';
   i:=1;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
    form2.Visible:=true;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
    form2.Visible:=true;
end;



procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
ch:integer;
begin
 ch:=  messagedlg('确认要退出系统吗!',mtwarning,[mbyes,mbno],0);
if  ch=mrno  then
    begin
     form1.Close;
      exit;
     end
    else
      exit; 
end;

procedure TForm1.N5Click(Sender: TObject);
begin

     form1.Close;

   
end;

procedure TForm1.N4Click(Sender: TObject);
begin
   form3.visible:=true;
end;

procedure TForm1.s1Click(Sender: TObject);
begin
   form4.ShowModal;
end;

procedure TForm1.ss1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
begin
   
   xuehao:=socket.ReceiveText;
   qa.Close;
   qa.SQL.Clear;
   qa.SQL.add('select * from student where sno='+chr(39)+xuehao+chr(39));
   qa.Open;
   if qa.Eof then
       begin
          socket.SendText('该学生不存在!');
          exit;
          end
      else
        begin
         qa.Close;
         qa.SQL.Clear;
         qa.SQL.add('select * from stemp where sno='+chr(39)+xuehao+chr(39));
         qa.Open;
           if qa.Eof then
            begin
               qa.Insert;
               qa.Fields[0].AsString:=xuehao;
               qa.Post;
               qa.Close;
               qa.SQL.Clear;
               qa.SQL.add('select * from temp');
               qa.Open;
               socket.SendText('登录成功!');
                sg.Cells[1,i]:=xuehao;
                sg.Cells[2,i]:=socket.RemoteHost;
                sg.Cells[3,i]:=socket.RemoteAddress;
                sg.Cells[4,i]:=qa.Fields[16].AsString;
                 i:=i+1;
             end
           else
            begin
              socket.SendText('学号有误请仔细核查!');
             exit;
             end;

        end;





end;

procedure TForm1.N7Click(Sender: TObject);
begin
 form4.Visible:=true;
end;

procedure TForm1.s2Click(Sender: TObject);
begin
 form6.ShowModal;
end;

procedure TForm1.s3Click(Sender: TObject);
begin
   form8.ShowModal;
end;

procedure TForm1.s5Click(Sender: TObject);
begin
  form9.ShowModal;
end;

procedure TForm1.s4Click(Sender: TObject);
begin
form10.q10.Active:=false;
form10.q10.Active:=true;
 form10.ShowModal;
end;

procedure TForm1.N8Click(Sender: TObject);
begin
  form6.ShowModal;
end;

procedure TForm1.N9Click(Sender: TObject);
begin
 form8.ShowModal;
end;

procedure TForm1.N11Click(Sender: TObject);
begin
 form9.ShowModal;
end;

procedure TForm1.N10Click(Sender: TObject);
begin
 form10.ShowModal;
end;

procedure TForm1.s6Click(Sender: TObject);
begin
form11.ShowModal;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 qa.Close;
 qa.SQL.Clear;
 qa.SQL.Add('select * from stemp');
 qa.Open;
 while  not qa.Eof do
 begin
   qa.Delete;
   qa.Next;
  end;
end;

procedure TForm1.FASONGClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
  var
  s:string;
begin
 qa.Close;
 qa.SQL.Clear;
 qa.SQL.Add('select * from temp ');
 qa.Open;
 s:='';
 while not qa.Eof do
 begin
 
  s:=s+qa.Fields.Fields[0].AsString+chr(1);
  s:=s+qa.Fields.Fields[1].AsString+chr(1);
  s:=s+qa.Fields.Fields[2].AsString+chr(1);
  s:=s+qa.Fields.Fields[3].AsString+chr(1);
  s:=s+qa.Fields.Fields[4].AsString+chr(1);
  s:=s+qa.Fields.Fields[5].AsString+chr(1);
  s:=s+qa.Fields.Fields[6].AsString+chr(1);
  s:=s+qa.Fields.Fields[7].AsString+chr(1);
  s:=s+qa.Fields.Fields[8].AsString+chr(1);
  s:=s+qa.Fields.Fields[9].AsString+chr(1);
  s:=s+qa.Fields.Fields[10].AsString+chr(1);
  s:=s+qa.Fields.Fields[11].AsString+chr(1);
  s:=s+qa.Fields.Fields[12].AsString+chr(1);
  s:=s+qa.Fields.Fields[13].AsString+chr(1);
  s:=s+qa.Fields.Fields[14].AsString+chr(1);
  s:=s+qa.Fields.Fields[15].AsString+chr(1);
  s:=s+qa.Fields.Fields[16].AsString+chr(1);
 qa.Next;
 end;

socket.SendText(s);
end;

procedure TForm1.ss1Accept(Sender: TObject; Socket: TCustomWinSocket);
begin

  qa.Close;
  qa.SQL.Clear;
  qa.SQL.Add('select * from temp ');
  qa.Open;
  if qa.Eof then
   begin
     MessageBox(handle, '还未抽取题目!', '提示',  mb_IconInformation + mb_Ok);
     exit;
   end
else
begin
  socket.SendText('ksfs');
end;

end;

procedure TForm1.cjClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
score,sno:string;
i,t:integer;
var
 xinxi:string;
begin
sno:='';
score:='';
t:=0;
xinxi:=socket.ReceiveText;

for i:=1 to length(xinxi) do
begin
if xinxi[i]=chr(3) then
  begin
  t:=1;
  continue;
  end;
if t=0 then
   begin
     sno:=sno+xinxi[i];
   end
  else
   begin
     score:=score+xinxi[i];
   end;
end;
 //加数据库   sno为学号score为分数
 qd.Close;
 qd.SQL.Clear;
 qd.SQL.Add('select * from score ');
 qd.Open;
 qd.Insert;
 qd.Fields[0].asstring:=sno;
 qd.Fields[1].AsString:=form9.cb2.Text;
 qd.Fields[2].AsString:=score;
 qd.Fields[3].AsString:='jj';
 qd.Post;

end;

procedure TForm1.about1Click(Sender: TObject);
begin
  form12.Visible:=true;
end;

end.






⌨️ 快捷键说明

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