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

📄 ufrma02.pas

📁 一个会议签到系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  AFM.PSetFxGridAddState(1);
end;

procedure TFrmA02.SpbtnEditClick(Sender: TObject);
begin
  if TrvMenu.Selected = nil then Exit;
  if TrvMenu.Selected.Level+1 < iICKBMJS then begin
     DlgWarningA('只有到 '+Inttostr(iICKBMJS)+' 节点才能编辑数据');
     Exit;  
  end;
  if SpeedButton9.Hint = 'Q' then begin
     TrvMenu.OnChange(nil,nil);
     SpeedButton9.Hint:='';
     Exit;
  end;
  inherited;
  AFM.PBingDingCtrlB([nil,nil,AFM.EdtInt,AFM.EdtStrA,AFm.CmbStrA,nil,nil]);
  if iKQVersion = 501 then
     AFM.PBingDingCtrlB([nil,nil,AFM.EdtInt,AFM.EdtStrA,AFm.CmbStrA,AFM.EdtStrB,nil]);
  AFM.FxGrid.OnClick(Sender); 
end;

procedure TFrmA02.SpbtnSaveClick(Sender: TObject);
var
  Str,sBM,sDel:String;
  I:integer;
begin
  MyRemoveEmpty(AFM.FxGrid);
  sBM:=MyCutString(True,TrvMenu.Selected.Text);
  for I:=1 to AFM.FxGrid.Rows-2 do begin
      Str:=AFM.FxGrid.TextMatrix[I,0];
      if Str = '' then  AFM.FxGrid.TextMatrix[I,0]:='A'+FGetFZID(20);//ID
      Str:=AFM.FxGrid.TextMatrix[I,2];
      {ooooooooooooooo 红瑞科技提出的 学号很长 联合拉通来计算 oooooooooooooo }
      if Length(Str) < 2 then   AFM.FxGrid.TextMatrix[I,2]:=MyChecKStr(2,Str);//20040804
      AFM.FxGrid.TextMatrix[I,1]:=sBM+MyCopy(AFM.FxGrid.TextMatrix[I,2],1,3);//联合编码      
  end;
  Str:=GetGridInsertSQL(['FZID','sBMLH','sBM','sMC','sXB','sKH','iZT'],
                   [0,1,2,3,4,5,6],
                   [],'TAD03_XSGY',AFm.FxGrid);
  sDel:='Delete From  TAD03_XSGY Where sBMLH Like '+''''+sBM+'%'+'''';
  if FCarryOutSQL(nil,sDel+'  '+Str,False,True) then begin
     Afm.PSetFramGridReadOnly();
     inherited; 
  end;   
end;

procedure TFrmA02.AFMCmbStrAKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  AFM.CmbStrAKeyPress(Sender, Key);
  Key := #0;
end;

procedure TFrmA02.TrvMenuChange(Sender: TObject; Node: TTreeNode);
var
  Str,S:String;
begin
  if TrvMenu.Selected = nil then Exit;
  S:=MyCutString(True,TrvMenu.Selected.Text);
  Str:=' Select top 5000 * from  TAD03_XSGY Where sBMLH Like '+''''+S+'%'+''''
      +' order by  sBMLH';
  FCarryOutSQL(DM.CDSSysA,Str,True,False);     
  FillMsFlexGrid(['FZID','sBMLH','sBM','sMC','sXB','sKH','iZT'],
                 AFM.FxGrid,DM.CDSSysA);
  SpeedButton9.Hint:='';                
end;

procedure TFrmA02.SpbtnDelClick(Sender: TObject);
var
  Str,S:String;
begin
  if AFM.FxGrid.row > AFM.FxGrid.rows-2 then Exit;
  S:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0];
  Str:='Select top 1 * from ('+QryV_Del.SQL.Text+') A Where FZID ='+''''+S+'''';
  if FGetSQLRecordCount(Str) > 0 then begin
     DlgWarningA('该信息已经在其他模块中使用,不能删除');
     Exit;
  end;    
  Str:='的确要将 '+AFM.FxGrid.TextMatrix[AFM.FxGrid.row,3]+' 的信息删除吗?';
  if not DlgYesNo(Str) then begin
     Exit;
  end;  
  Str:=' delete From  TAD03_XSGY Where FZID = '+''''+S+'''';
  if FCarryOutSQL(nil,Str,False,False) then AFM.FxGrid.RemoveItem(AFM.FxGrid.row);  
end;

procedure TFrmA02.SpeedButton9Click(Sender: TObject);
var
  Str,S:String;
begin
  if SpbtnSave.Enabled then Exit;
  if EdtQ.Text = '' then Exit;
  S:=EdtQ.Text;
  Str:=' Select FZID,sBMLH,sBM,sBJBM,sMC,sXB,sKH,iZT from  TAD03_XSGY'
      +' Where sMC Like '+''''+S+'%'+''''
      +' Union ALL '
      +' Select A.FZID,A.sBMLH,A.sBM,A.sBJBM,A.sMC,A.sXB,A.sKH,A.iZT from  TAD03_XSGY A '
      +' ,TAD04_PYBM B Where A.FZID = B.FZID And B.sPYBM Like '+''''+S+'%'+'''';
  Str:='Select * from ('+Str+') A Order by sBMLH';    
      
  FCarryOutSQL(DM.CDSSysA,Str,True,False);
  FillMsFlexGrid(['FZID','sBMLH','sBM','sMC','sXB','sKH','iZT'],
                 AFM.FxGrid,DM.CDSSysA);
  SpeedButton9.Hint:='Q';   //oooooooooooo查询的结构不能修改oooooooooooo             
end;

procedure TFrmA02.EdtQKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if Key = 13 then SpeedButton9Click(Sender);
end;

procedure TFrmA02.AFMN9Click(Sender: TObject);
var
  Str,sID,sLHBM:String;
begin
  if AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0] = ''  then Exit;
  Str:=FSelectJBXX(Self.Name,iICKBMJS); 
  if Str = '' then Exit;
  sID:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0];
  if sID = '' then Exit;
  sLHBM:=Str;
  if AFM.FxGrid.TextMatrix[AFM.FxGrid.row,1] = sLHBM then Exit;
  Str:=' update TAD03_XSGY Set sBMLH ='+''''+sLHBM+'''' 
      +' Where FZID ='+''''+sID+'''';
  if FCarryOutSQL(nil,Str,False,False) then
     AFM.FxGrid.RemoveItem(AFM.FxGrid.row);     
end;

procedure TFrmA02.AFMPopupMenu1Popup(Sender: TObject);
begin
  inherited;
  AFm.N9.Enabled:= not SpbtnSave.Enabled;
end;

procedure TFrmA02.SpbtnCancelClick(Sender: TObject);
begin
  inherited;
  Afm.PSetFramGridReadOnly();
end;
{*******************  检测编码 是否 重复 *************************}
procedure TFrmA02.N7Click(Sender: TObject);
var
  Str,S:String;
begin
  Str:=' Select sBMLH,count(*) as iCt  from TAD03_XSGY Group by sBMLH having count(*) > 1';
  FCarryOutSQL(DM.CDSSysA,Str,True,False);
  if DM.CDSSysA.RecordCount <= 0 then begin
     DlgWarningA('没有重复编码');
     Exit; 
  end;
  DM.CDSSysA.First;
  Str:='有重复编码,请及时修改:';
  While not DM.CDSSysA.Eof do begin
    S:=DM.CDSSysA.FieldByName('sBMLH').AsString;
    Str:=Str+#13+S;
    DM.CDSSysA.Next;
  end;
  DlgWarningA(Str);
end;

procedure TFrmA02.SpbtnExportClick(Sender: TObject);
begin
  PExportFxGridToExcel(Afm.FxGrid);
end;

procedure TFrmA02.SpbtnPrintClick(Sender: TObject);
begin
  if  TrvMenu.Selected = nil then Exit;
  PPrintFxGrid('学生登记信息',[TrvMenu.Selected.text],AFM.FxGrid,44,1,False); 
end;

procedure TFrmA02.N8Click(Sender: TObject);
var
  Str,sMC,sID:String;
begin
  Str:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,3];
  sID:=AFM.FxGrid.TextMatrix[AFM.FxGrid.row,0];
  if Str = '' then Exit;
  if sID = '' then Exit;
  sMC:=DlgInPutBoxA('输入姓名',Str);
  if sMC = '' then Exit;
  Str:='Update TAD03_XSGY Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TAD03_XSGY Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TAD05_JSGY Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TBD03_JZ  Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TBD03_SKJL Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TBD02_JFJL Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TED03_JSXX Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TDD04_XX Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TDD06_KSSK Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TDD05_KSZW Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TDD07_KSBM Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TCD07_TJ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TCD05_SKJL Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TCD05_BLKQ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TCD03_QJDJ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TFD02_XSZX Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TGD02_XJ Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  Str:=Str+' '+'Update TGD03_YD Set sMC ='+''''+sMC+''''+' Where FZID ='+''''+sID+'''';
  FCarryOutSQL(nil,Str,False,False);
  DlgWarningA('姓名修改成功');
  AFM.FxGrid.TextMatrix[AFM.FxGrid.row,3]:=sMC;
end;
{******************************************************************************
*             数据导入回忆  在广元经贸中专的操作                              *
*             先有Excel文件 再专为文本文件 中间是 Tab件  
******************************************************************************}
procedure TFrmA02.PDataIN;
var
  dlgSave:TOpenDialog;
  Str,sTxt,sFileNameA:String;
  fFL:TextFile;
  sMC,sXH,sKH,S,sTab:String;
begin
  if sSYSUserCode <> 'Admin' then Exit;
    if Self.Name <>  'FrmA02' then Exit;
  dlgSave:=TOpenDialog.Create(nil);

  dlgSave.Filter:='文件(*.TXT)|*.TXT';
  if not dlgSave.Execute then Exit;
  sFileNameA:=dlgSave.FileName;
  dlgSave.Free;

  Assignfile(fFL,sFileNameA);//创建文件
  ReSet(fFL);
  While not Eof(fFL) do begin
    sMC:=''; sXH:='';
    ReadLn(fFL,sTxt);//标识//文件识别
    sTab:=Chr(9);
    sTxt:=MyReplaceStrA(Trim(sTxt),sTab,' ');//20040801 Add Fulin
    Str:=Copy(sTxt,1,1);
    if Str = '#' then     begin Continue;
    end else begin
       S:=MyCutString(False,sTxt);
       sXH:=MyCutString(True,sTxt);
       sMC:=MyCutString(True,S);
       sKH:=MyCutString(False,S);
    end;
    if sMC <> '' then begin
       if sXH = '00' then sXH:='';       
       //AFM.PFillCaption(['ID','编码','工号','姓名','性别','卡号','卡状态']);
       AddGridRow(['','',sXh,sMC,'',sKH,''],Afm.fxGrid);
    end;
  end;
  CloseFile(fFL);
end;

procedure TFrmA02.N9DAClick(Sender: TObject);
begin
  inherited;
  PDataIN();
end;

procedure TFrmA02.NCSClick(Sender: TObject);
var
  Str,sKH,sZT,sID:String;
  I:Integer;
  pKH:Pchar;
begin       
  if sSYSUserCode <> 'Admin' then Exit;
  if Self.Name <>  'FrmA02' then Exit;
  Screen.Cursor:=crHourGlass;  
  PBeginProgressMax(AFM.FxGrid.Rows-2);
  for I:=1 to AFM.FxGrid.Rows-2 do begin
      PDoProgressPos(I);
      sKH:=AFM.FxGrid.TextMatrix[I,5];
      sZT:=AFM.FxGrid.TextMatrix[I,6];
      sID:=AFM.FxGrid.TextMatrix[I,0];
      if sID = '' then begin
         Screen.Cursor:=crDefault;
         DlgWarningA('表格数据没有保存');
         PDoCloseProgress();
         Exit;
      end;    
      pKH:=PChar(sKH);
      if (sZT = '') And (Length(sKH)=7) then begin
         if not FCheckICKA(sKH) then Continue;
         if not  FICKFK(1,pKH,0,'0') then  begin
            DlgWarningX('操作失败 sKH ='+sKH);
            Continue;
        end;
        Str:='Update TAD03_XSGY Set iZT =''启用'' Where FZID ='+''''+sID+'''';
        if FCarryOutSQL(nil,Str,False,False) then  AFM.FxGrid.TextMatrix[I,6]:='启用';
      end;
  end;
  PDoCloseProgress();
  Screen.Cursor:=crDefault;
  DlgWarningA('传送完成');   
end;

procedure TFrmA02.SpbtnRefreshClick(Sender: TObject);
var
  Str,sID,sMC,sPYBM:String;
  I:Integer;
begin
  Str:='select Name As TMC from sysobjects where xtype =''u''';
  Str:='Select * from ('+Str+') A Where TMC =''TAD04_PYBM''';
  if FGetSQLRecordCount(Str) <=0 then begin
     Str:='create table TAD04_PYBM'
         +'('
         +'    FZID           varchar(33)           null    ,'
         +'    sPYBM          varchar(80)           null'
         +' )';
     FCarryOutSQL(nil,Str,False,False);         
  end;
  {ooooooooooooooooo上面是升级代码 如果表不存在oooooooooooooooooooooooooo}  
  Str:=' Select A.FZID,A.sMC,B.FZID as sFD from TAD03_XSGY A Left Join TAD04_PYBM B'
      +' On A.FZID = B.FZID  Where B.FZID Is NULL';
  FCarryOutSQL(DM.CDSSysA,Str,True,False);
  PBeginProgressMax(DM.CDSSysA.RecordCount); 
  DM.CDSSysA.First;I:=0;
  While not DM.CDSSysA.Eof do begin
    sID:=Trim(DM.CDSSysA.FieldByName('FZID').AsString);
    sMC:=Trim(DM.CDSSysA.FieldByName('sMC').AsString);
    sPYBM:=FGetPYSP(sMC);
    I:=I+1;PDoProgressPos(I);
    Str:=FCreateInSertOneSQL(['FZID','sPYBM'],[sID,sPYBM],[0,1],'TAD04_PYBM');
    if sPYBM <> '' then FCarryOutSQL(nil,Str,False,False);
    DM.CDSSysA.Next;
  end;
  PDoCloseProgress();
end;

end.

⌨️ 快捷键说明

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