www.pudn.com > xinshengruxue.rar > modigy.pas


unit modigy; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, StdCtrls, ExtCtrls, DB, DBTables, Buttons; 
 
type 
  Tmodigy_Form = class(TForm) 
    xh_LEdit: TLabeledEdit; 
    qsbh_LEdit: TLabeledEdit; 
    xm_LEdit: TLabeledEdit; 
    Label1: TLabel; 
    gydm_ComBox: TComboBox; 
    Query1: TQuery; 
    fy_LEdit: TLabeledEdit; 
    gyjb_LEdit: TLabeledEdit; 
    BitBtn1: TBitBtn; 
    BitBtn2: TBitBtn; 
    procedure FormCreate(Sender: TObject); 
 
    procedure FormClose(Sender:TObject;var Action:TCloseAction); 
 
    procedure gydm_ComBoxChange(Sender: TObject); 
    procedure BitBtn1Click(Sender: TObject); 
    procedure BitBtn2Click(Sender: TObject); 
 
  private 
    { Private declarations } 
  public 
    //n:boolean; 
    { Public declarations } 
end; 
 
var 
  modigy_Form: Tmodigy_Form; 
 
implementation 
   uses gygl,main; 
{$R *.dfm} 
 
procedure Tmodigy_Form.FormCreate(Sender: TObject); 
begin 
     Main_Form.Open_Form_number:=Main_Form.Open_Form_number+1; 
 
    xm_LEdit.Text:=gygl_Form.Query1.FieldByName('姓名').AsString; 
    xh_LEdit.Text:=gygl_Form.Query1.FieldByName('学号').AsString; 
 
with TQuery.Create(nil)do 
      begin 
       try 
        SessionName:=Main_Form.Database1.SessionName; 
        DatabaseName:=Main_Form.Database1.DatabaseName; 
 
       if gygl_Form.modi then 
        begin 
            close; 
            SQL.Clear; 
            SQL.Add('select *from [gydm]  where (公寓代码='''+gygl_Form.Query1.FieldByName('公寓代码').AsString+''')'); 
            Open; 
          qsbh_LEdit.Text:=gygl_Form.Query1.FieldByName('寝室编号').AsString; 
          fy_LEdit.Text:=FieldByName('收费金额').AsString; 
          gyjb_LEdit.Text:=FieldByName('公寓级别').AsString; 
          gydm_ComBox.Items.Add(gygl_Form.Query1.FieldByName('公寓代码').AsString); 
 
        TQuery.NewInstance; 
        end; 
        close; 
        SQL.Clear; 
        SQL.Add('select *from [gydm] order by 公寓代码 '); 
        Open; 
        gydm_ComBox.Items.Add('选择公寓代码'); 
          while not Eof do 
            begin 
            if not gygl_form.modi or (FieldByName('公寓代码').AsString<>gygl_Form.Query1.FieldByName('公寓代码').AsString) then 
               gydm_ComBox.Items.Add(FieldByName('公寓代码').AsString); 
           Next; 
         end; 
      gydm_ComBox.ItemIndex:=0; 
 
       finally 
             Free; 
       end; 
       end; 
 
 
end; 
 
 
 
 
 
 
///////////////////////////////////////////////////////// 
procedure Tmodigy_Form.FormClose(Sender:TObject;var Action:TCloseAction); 
begin 
   Main_Form.Open_Form_number:=Main_Form.Open_Form_number-1; 
   if  Main_Form.Open_Form_number=0 then 
   Main_Form.N15.Enabled:=true; 
  Action:=caFree; 
end; 
 
 
 
/////////////////////////////////////////////////////////// 
procedure Tmodigy_Form.gydm_ComBoxChange(Sender: TObject); 
var i,num:integer; 
    flag:boolean; 
    gydm:string; 
begin 
    if gydm_ComBox.Text='选择公寓代码' then 
    begin 
      gyjb_LEdit.Text:=''; 
      fy_LEdit.Text:=''; 
      exit; 
    end; 
    gydm:=Trim(gydm_ComBox.Text); 
    flag:=false; 
    if gydm='选择公寓代码' then 
    begin 
       ShowMessage('未选择公寓代码'); 
       exit; 
    end 
    else 
    begin 
      num:=gydm_ComBox.DropDownCount; 
      for i:=0 to num-1 do 
      begin 
        if gydm_ComBox.Items[i]=gydm then 
        begin 
          flag:=true; 
          break; 
        end; 
      end; 
    end; 
    if not flag then 
    begin 
        ShowMessage('该公寓代码不I存在'); 
        exit; 
    end; 
     with TQuery.Create(nil)do 
      begin 
       try 
        SessionName:=Main_Form.Database1.SessionName; 
        DatabaseName:=Main_Form.Database1.DatabaseName; 
        close; 
        SQL.Clear; 
        SQL.Add('select *from [gydm] where (公寓代码='''+gydm_ComBox.Text+''')'); 
        Open; 
        if Recordcount>0 then 
        begin 
           gyjb_LEdit.Text:=fieldByName('公寓级别').AsString; 
           fy_LEdit.Text:=fieldByName('收费金额').AsString; 
       end; 
       finally 
        free; 
        end; 
    end; 
 
end; 
 
 
 
//////////////////////////////////////// 
procedure Tmodigy_Form.BitBtn1Click(Sender: TObject); 
 var gyjb,qsbh,gydm,xh,sqlstr:string; 
     num,i:integer; 
     flag:boolean; 
begin 
    qsbh:=Trim(qsbh_LEdit.Text); 
    gydm:=Trim(gydm_ComBox.Text); 
     flag:=false; 
    if gydm='选择公寓代码' then 
    begin 
       ShowMessage('未选择公寓代码'); 
       exit; 
    end 
    else 
    begin 
      num:=gydm_ComBox.DropDownCount; 
      for i:=0 to num-1 do 
      begin 
        if gydm_ComBox.Items[i]=gydm then 
        begin 
          flag:=true; 
          break; 
        end; 
      end; 
    end; 
    if not flag then 
    begin 
      showmessage('输入公寓代码不正确!'); 
      exit; 
    end; 
     if Length(qsbh)<1 then 
      begin 
        ShowMessage('寝室编号不能为空'); 
        exit; 
      end; 
      xh:=gygl_Form.Query1.FieldByName('学号').AsString; 
 
     gyjb:=Trim( gyjb_LEdit.text); 
      if gygl_Form.modi then 
        sqlstr:='select *from [xsb] where (寝室编号='''+qsbh+''')and(学号<>'''+xh+''')and (公寓代码='''+gydm+''') ' 
      else 
        sqlstr:='select *from [xsb] where (寝室编号='''+qsbh+''') '; 
        with TQuery.Create(nil)do 
             begin 
               try 
                 SessionName:=Main_Form.Database1.SessionName; 
                 DatabaseName:=Main_Form.Database1.DatabaseName; 
                 close; 
                 SQL.Clear; 
                 SQL.Add(sqlstr); 
                 Open; 
                 if RecordCount>0 then 
                 begin 
                  ShowMessage('输入的寝室号已经安排给其他同学,请重新安排!'); 
                  exit; 
                 end; 
                 sqlstr:='update [xsb] set 状态=2,公寓代码='''+gydm+''',寝室编号='''+qsbh ; 
                 sqlstr:=sqlstr+''' where (学号='''+xh+''') '; 
                 close; 
                 SQL.Clear; 
                 Sql.Add(sqlstr); 
                 ExecSQl; 
             finally 
             Free; 
           end; 
      end; 
     close; 
gygl_Form.BitBtn1.Click; //刷新界面 
end; 
 
 
procedure Tmodigy_Form.BitBtn2Click(Sender: TObject); 
begin 
     close; 
end; 
 
end.