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

📄 ufrmrs.pas

📁 一个会议签到系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit uFrmRS;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls, Buttons, dxExEdtr, dxTL, dxDBCtrl,
  dxDBGrid, dxCntner, ImgList, Menus, DBCtrls, DB, ADODB, ExtDlgs,jpeg;

type
  TFrmRS = class(TForm)
    Bevel1: TBevel;
    Panel2: TPanel;
    StatusBar1: TStatusBar;
    Panel3: TPanel;
    Splitter1: TSplitter;
    Panel1: TPanel;
    Panel4: TPanel;
    dxDBGrid2: TdxDBGrid;
    TrvMenu: TTreeView;
    Panel6: TPanel;
    PnlBM: TPanel;
    SpeedButton9: TSpeedButton;
    Panel7: TPanel;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    dxDBGrid2Column1: TdxDBGridColumn;
    dxDBGrid2Column2: TdxDBGridColumn;
    dxDBGrid2Column3: TdxDBGridColumn;
    dxDBGrid2Column4: TdxDBGridColumn;
    dxDBGrid2Column5: TdxDBGridColumn;
    dxDBGrid2Column6: TdxDBGridColumn;
    dxDBGrid2Column8: TdxDBGridColumn;
    dxDBGrid2Column10: TdxDBGridColumn;
    dxDBGrid2Column11: TdxDBGridColumn;
    IMGTree: TImageList;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Panel8: TPanel;
    Bevel2: TBevel;
    SpeedButton1: TSpeedButton;
    SpeedButton2: TSpeedButton;
    SpeedButton5: TSpeedButton;
    Bevel3: TBevel;
    SpeedButton7: TSpeedButton;
    SpeedButton6: TSpeedButton;
    DBImage1: TDBImage;
    SpeedButton8: TSpeedButton;
    SpeedButton10: TSpeedButton;
    Bevel4: TBevel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    Edit1: TEdit;
    SpeedButton11: TSpeedButton;
    dxDBGrid2Column12: TdxDBGridColumn;
    ADOQr_RY: TADOQuery;
    DataSource1: TDataSource;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    DlgBMP: TOpenPictureDialog;
    ADOTable2: TADOQuery;
    DataSource2: TDataSource;
    PopupMenu2: TPopupMenu;
    N6: TMenuItem;
    procedure SpeedButton9Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure TrvMenuChange(Sender: TObject; Node: TTreeNode);
    procedure TrvMenuClick(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton7Click(Sender: TObject);
    procedure SpeedButton6Click(Sender: TObject);
    procedure SpeedButton5Click(Sender: TObject);
    procedure SpeedButton8Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure SpeedButton11Click(Sender: TObject);
    procedure Edit1Enter(Sender: TObject);
    procedure Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Edit1Click(Sender: TObject);
    procedure SpeedButton10Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure dxDBGrid2DblClick(Sender: TObject);

  private
    ISYSBMJS:Integer;
    Procedure PGetBMJS();
    procedure PEditNodeNo;
    procedure PAddNode;
    Procedure PLoadTrvData();
    procedure PAddNodeXJ;
    procedure PEditNode;
    Procedure  PJpgToBMP(sFLA,sFLB:String);
    { Private declarations }
  public
    sSYSSQL:String;
    Function FGetRenShu():String; 
    { Public declarations }
  end;

var
  FrmRS: TFrmRS;

implementation

uses uFunSys, uDMOA, uDataOA, uFrmA02E, uFrmRSE;

{$R *.dfm}

{ TFrmRS }

procedure TFrmRS.PGetBMJS;
var
  Str:String;
begin
  Str:='Select * from TBD_BMJS';
  FCarryOutSQL(DMOA.ADOQry,Str,True);
  Str:=trim(DMOA.ADOQry.FieldByName('sBMJS').AsString);
  if Str = '' Then Str :='0';
  PnlBM.Caption:='编码级数:'+Str;
  ISYSBMJS:=StrToInt(Str); 
end;

procedure TFrmRS.SpeedButton9Click(Sender: TObject);
var
  Str,S:String;
begin
  Str:=IntToStr(ISYSBMJS);
  S:=DlgInPutBox('输入编码级数,必须是数字',Str);
  if S = '' then Exit;
  if bISNumber(S) = False then begin
     DlgWarningA('输入的不是数字');
     Exit;      
  end;
  Str:='Delete From TBD_BMJS '
      +FCreateInSertOneSQL(['sBMJS'],[S],[0],'TBD_BMJS');
  FCarryOutSQL(nil,Str,False);
  ISYSBMJS:=StrToInt(S);
  PnlBM.Caption:='编码级数:'+S;       
end;

procedure TFrmRS.FormShow(Sender: TObject);
begin
  PGetBMJS();
  PLoadTrvData();
end;

procedure TFrmRS.SpeedButton3Click(Sender: TObject);
var
  S1,S2,S3:String;//编码 联合编码 名称
  Str:String;
  I,iLevel:integer;
begin
  inherited;
  sSYSTempStr:='';
  PAddNode();
  if sSYSTempStr = '' then Exit;
  S1:=FZGetOrderStr(sSYSTempStr,'#',0);
  S2:=FZGetOrderStr(sSYSTempStr,'#',1);
  S3:=FZGetOrderStr(sSYSTempStr,'#',2);

  I:=TrvMenu.Items.Add(TrvMenu.Selected,S2+'  '+S3).AbsoluteIndex;

  TrvMenu.Items[I].ImageIndex:=0;
  TrvMenu.Items[I].SelectedIndex:=1;
  iLevel:=TrvMenu.Items[I].Level;
  Str:=FCreateInSertOneSQL(['iBMZL','sBMLH','sBM','sMC','iSXH','iSJH'],  //编码种类 表示 教师=0   学生=1
                           ['1',S2,S1,S3,Inttostr(I),Inttostr(iLevel)],
                           [1,2,3],'TAD02_BMSJ');
  if not FCarryOutSQL(nil,Str,False) then begin
     TrvMenu.Items[I].Delete;
     Exit;
  end;
  PEditNodeNo();
end;

procedure TFrmRS.PAddNode;
var
  FrmX:TFrmA02E;
  S:String;
begin
  FrmX:=TFrmA02E.Create(Application);
  FrmX.Visible:=False;
  FrmX.BorderStyle:=bsDialog;
  FrmX.Position:=poScreenCenter;
  FrmX.iICKFlag:=101;
  S:='';
  if TrvMenu.Selected <> nil then
     if TrvMenu.Selected.Parent <> nil then  
        S:=MyCutString(True,TrvMenu.Selected.Parent.Text);
  FrmX.sICKBML:=S;  
  FrmX.ShowModal;
end;
//树添加节点后 序号发生变化 应该 更改回来  //用最苯但是最简单的办法
procedure TFrmRS.PEditNodeNo;
var
  Str,S,sNo:String;
  I:integer;
begin
  for I:=0 to TrvMenu.Items.Count-1 do begin
      S:=MyCutString(True,TrvMenu.items[I].text);
      sNo:=Inttostr(I);
      Str:=' Update TAD02_BMSJ Set iSXH = '+sNo
          +' Where sBMLH ='+''''+S+''''
          +' And iBMZL = 1 ';
      FCarryOutSQL(nil,Str,False);      
  end;   
end;

procedure TFrmRS.PLoadTrvData;
var
  Str:String;
begin
  Str:='Select * from TAD02_BMSJ Where iBMZL = 1 Order by iSXH';
  FCarryOutSQL(DMOA.ADOQry,Str,True); 
  PCuiFengFillTreeB(TrvMenu,DMOA.ADOQry,'sBMLH','sMC','iSJH');  
end;

procedure TFrmRS.SpeedButton4Click(Sender: TObject);
var
  S1,S2,S3:String;//编码 联合编码 名称
  Str:String;
  I,iLevel:integer;
begin
  if TrvMenu.Selected = nil then Exit;
  if (TrvMenu.Selected.Level+1) >= ISYSBMJS then begin
      DlgWarningA('编码级数已经到末级,不能在增加下级');
      Exit; 
  end;   
  sSYSTempStr:='';
  PAddNodeXJ();
  if sSYSTempStr = '' then Exit;
  S1:=FZGetOrderStr(sSYSTempStr,'#',0);
  S2:=FZGetOrderStr(sSYSTempStr,'#',1);
  S3:=FZGetOrderStr(sSYSTempStr,'#',2);
  I:=TrvMenu.Items.AddChild(TrvMenu.Selected,S2+'  '+S3).AbsoluteIndex;
     
  TrvMenu.Items[I].ImageIndex:=0;
  TrvMenu.Items[I].SelectedIndex:=1;
  iLevel:=TrvMenu.Items[I].Level;
  TrvMenu.Items[I-1].Expand(True); 
  Str:=FCreateInSertOneSQL(['iBMZL','sBMLH','sBM','sMC','iSXH','iSJH'],  //编码种类 表示 教师=0   学生=1
                           ['1',S2,S1,S3,Inttostr(I),Inttostr(iLevel)],
                           [1,2,3],'TAD02_BMSJ');
  if not FCarryOutSQL(nil,Str,False) then  begin
     TrvMenu.Items[I].Delete;
     Exit;
  end;
  PEditNodeNo();                             
end;


procedure TFrmRS.PAddNodeXJ;
var
  FrmX:TFrmA02E;
  S:String;
begin
  FrmX:=TFrmA02E.Create(Application);
  FrmX.Visible:=False;
  FrmX.BorderStyle:=bsDialog;
  FrmX.Position:=poScreenCenter;
  FrmX.iICKFlag:=102;
  S:='';
  if TrvMenu.Selected <> nil then
     S:=MyCutString(True,TrvMenu.Selected.Text);
  FrmX.sICKBML:=S; 
  FrmX.ShowModal;
end;
procedure TFrmRS.N1Click(Sender: TObject);
var
  S1,S2,S3,s0:String;//编码 联合编码 名称
  Str:String;
  I,iLevel:integer;
begin
  sSYSTempStr:='';
  if TrvMenu.Selected = nil then Exit;
  PEditNode();
  if sSYSTempStr = '' then Exit;
  S1:=FZGetOrderStr(sSYSTempStr,'#',0);
  S2:=FZGetOrderStr(sSYSTempStr,'#',1);
  S3:=FZGetOrderStr(sSYSTempStr,'#',2);
  s0:=MyCutString(True,TrvMenu.Selected.text);
 
  I:=TrvMenu.Selected.AbsoluteIndex;
  iLevel:=TrvMenu.Selected.Level; 
  Str:=FCreateInSertOneSQL(['iBMZL','sBMLH','sBM','sMC','iSXH','iSJH'],  //编码种类 表示 教师=0   学生=1
                           ['1',S2,S1,S3,Inttostr(I),Inttostr(iLevel)],
                           [1,2,3],'TAD02_BMSJ');
  Str:=' Delete From TAD02_BMSJ Where sBMLH = '+''''+S0+''''
      +' And iBMZL = 1 '
      +' '+Str;
  if FCarryOutSQL(nil,Str,False) then begin
     TrvMenu.Selected.text:=S2+'  '+S3;
  end;

⌨️ 快捷键说明

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