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

📄 unit10.pas

📁 宿舍管理系统
💻 PAS
字号:
unit Unit10;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls,Unit2, DB, ADODB;

type
  TForm10 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    DateTimePicker1: TDateTimePicker;
    Image1: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    SpeedButton1: TSpeedButton;
    ComboBox1: TComboBox;
    ADOQuery1: TADOQuery;
    Memo1: TMemo;
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Edit4KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit5KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure Memo1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form10: TForm10;

implementation

{$R *.dfm}

procedure TForm10.BitBtn1Click(Sender: TObject);
begin
if Edit1.Text ='' then
  begin
    MessageBox(handle,'学号不能为空!','警告',MB_OK+MB_ICONWARNING);
    Edit1.SetFocus ;
    exit;
  end;

if Edit2.Text ='' then
  begin
    MessageBox(handle,'姓名不能为空!','警告',MB_OK+MB_ICONWARNING);
    Edit2.SetFocus ;
    exit;
  end;

if Edit3.Text ='' then
  begin
    MessageBox(handle,'寝室号不能为空!','警告',MB_OK+MB_ICONWARNING);
    Edit3.SetFocus ;
    exit;
  end;

if Edit4.Text ='' then
  begin
    MessageBox(handle,'交费不能为空!','警告',MB_OK+MB_ICONWARNING);
    Edit4.SetFocus ;
    exit;
  end;

if Edit5.Text ='' then
  begin
    MessageBox(handle,'学期不能为空!','警告',MB_OK+MB_ICONWARNING);
    Edit1.SetFocus ;
    exit;
  end;

if ComboBox1.Text ='' then
  begin
    MessageBox(handle,'姓名不能为空!','警告',MB_OK+MB_ICONWARNING);
    ComboBox1.SetFocus ;
    exit;
  end;
                         //检查系统中是否存在该学号的学生,及学号与姓名匹配否
ADOQuery1.Connection :=DataModule2.ADOConnection1 ;
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('select * from 学生信息表 where 学号='''+Edit1.Text +'''');
ADOQuery1.Prepared ;
ADOQuery1.Open ;
if ADOQuery1.Eof then
  begin
    MessageBox(handle,'没有这个学号的学生!','警告',MB_OK+MB_ICONWARNING);
    Edit1.SelectAll;
    exit;
  end;
if ADOQuery1.Fields.FieldByName('姓名').AsString <>trim(Edit2.Text) then
  begin
    MessageBox(handle,'警告,学号与姓名不匹配!','警告',MB_OK+MB_ICONWARNING);
    Edit2.SelectAll;
    exit;
  end;


ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ADOQuery1.SQL.Add('select * from 学期注册表');
ADOQuery1.Open ;
                               //把注册信息写入学期注册表中
ADOQuery1.Append ;
ADOQuery1.FieldByName ('学号').AsString :=trim(Edit1.Text );
ADOQuery1.FieldByName('姓名').AsString :=trim(Edit2.Text );
ADOQuery1.FieldByName('寝室号').AsString :=trim(Edit3.Text );
ADOQuery1.FieldByName('注册日期').AsDateTime :=DateTimePicker1.Date ;
ADOQuery1.FieldByName('交费').AsFloat :=StrToFloat(trim(Edit4.Text ));
ADOQuery1.FieldByName('情况').asString :=trim(ComboBox1.Text );
ADOQuery1.FieldByName('季度').asString :=trim(Edit5.Text );
ADOQuery1.FieldByName('备注').AsString :=Memo1.Text ;
ADOQuery1.Prepared ;

 try
  DataModule2.ADOConnection1.BeginTrans;         //提交事务
  ADOQuery1.Post ;
  DataModule2.ADOConnection1.CommitTrans ;
  MessageBox(handle,'注册成功!','提示',MB_OK+MB_ICONINFORMATION);
except
  DataModule2.ADOConnection1.RollbackTrans ;      //提交失败,事务回滚
  MessageBox(handle,'注册失败!','提示',MB_OK+MB_ICONWARNING);
 end;

end;

procedure TForm10.BitBtn2Click(Sender: TObject);
begin
Close;
end;

procedure TForm10.SpeedButton1Click(Sender: TObject);
var
Query :TADOQuery;
str :string;
begin                                     //查找该寝室的价格
Query :=TADOQuery.Create(self);
Query.Connection :=DataModule2.ADOConnection1 ;
Query.SQL.Clear ;
Query.SQL.Add('select * from 寝室表 where 寝室号='''+Edit3.Text+'''');
Query.Prepared ;
Query.Open ;

if not Query.IsEmpty then
 begin
  str :=Query.fieldByName('价格').Value ;
  ShowMessage('该生应该交'+str+'元人民币');
 end;
Query.Close ;
Query.Free ;
end;

procedure TForm10.Edit4KeyPress(Sender: TObject; var Key: Char);
begin

 if Key=#13 then
    begin
      ComboBox1.SetFocus ;
      ComboBox1.DroppedDown:=true;
      exit;
    end;
    

  if not (Key in ['0'..'9','.',#8]) then
    begin
       MessageBox(handle,'费用只能输入数字','警告',MB_OK+MB_ICONWARNING);
       Key :=#0;
    end;
end;

procedure TForm10.FormCreate(Sender: TObject);
begin
DateTimePicker1.Date :=date;           //初始化日期
end;

procedure TForm10.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    begin
      Edit2.SetFocus ;
    end;

end;

procedure TForm10.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
   if Key=#13 then
    begin
      Edit3.SetFocus ;
    end;
end;

procedure TForm10.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
   if Key=#13 then
    begin
      Edit4.SetFocus ;
    end;
end;

procedure TForm10.ComboBox1KeyPress(Sender: TObject; var Key: Char);
begin
   if Key=#13 then
    begin
      Edit5.SetFocus ;
    end;
end;

procedure TForm10.Edit5KeyPress(Sender: TObject; var Key: Char);
begin
   if Key=#13 then
    begin
      DateTimePicker1.Setfocus;
    end;
end;

procedure TForm10.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    begin
      Memo1.SetFocus ;
    end;
end;

procedure TForm10.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
    begin
      BitBtn1.Click;
    end;

end;

end.

⌨️ 快捷键说明

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