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

📄 unit_main.pas

📁 用于家庭养殖的财务进出
💻 PAS
📖 第 1 页 / 共 5 页
字号:
     with dm.ADOQuery1 do
     begin
       close;
       sql.Clear;
       sql.Add(sqlstr);
       open;
       first;
       j:=1;
       while not eof do
       begin
         table_name:=fieldbyname('table_name').AsString;
         index:=fieldbyname('ord').AsInteger-1;
         if (fieldbyname('type').AsString='E') or (fieldbyname('type').AsString='UE') then
         begin
           //values:=editbox[i][strtoint(fieldbyname('ord').AsString)-1].Text;
           with dm.ADOQuery2 do
           begin
             close;
             sql.Clear;
             sql.Add('select * from b01 where dept='''+editbox[i][index].Text+'''');
             try
               open;
               first;
               if not eof then
                 companycode:=fieldbyname('dm').AsString;
             except
               close;
             end;
           end;
           values:=editbox[i][index].Text;
         end;
         if fieldbyname('type').AsString='D' then
           values:=maskedit[i][index].Text;
         if (fieldbyname('type').AsString='C')  then
           values:=combobox[i][index].Text;
         if (fieldbyname('type').AsString='N')  then
           values:=inttostr(strtointdef(editbox[i][index].Text,0)); //将空值缺省为'0'
         if (fieldbyname('type').AsString='M')  then
           values:=memo[i][index].Text;
         if j=1 then
         begin
           fieldstr:= 'prescode'+','+fieldbyname('field').AsString;
           valuestr:=quotedstr(code)+','+quotedstr(values);
           j:=2;
         end
         else
         begin
          valuestr:=valuestr+','+quotedstr(values);
          fieldstr:=fieldstr+','+fieldbyname('field').AsString;
        end;
        next;
      end;
    end;
////////////////////2006-03//////////////////////////////////////////////////
    //if pagecontrol1.ActivePageIndex=1 then    //此处以后要改,万一职务信息不放在page1要出错
       //sqlstr:='insert into '+table_name+' (a0209,a0206,'+fieldstr+') values ('+quotedstr(company_code)+','+quotedstr(company_name)+','+valuestr+')'
   // else
        //sqlstr:='insert into '+table_name+' ('+fieldstr+') values ('+valuestr+')';
//////////////////////////////////////////////////////////////////////////
////////////////////2006-03//////////////////////////////////////////////////
    if pagecontrol1.ActivePageIndex=1 then    //此处以后要改,万一职务信息不放在page1要出错
    begin
       if companycode='' then
       begin
         application.MessageBox('单位列表中无此单位,请先在单位列表中添加该单位!','信息提示',mb_ok);
         exit;
       end else
         sqlstr:='insert into '+table_name+' (a0209,'+fieldstr+') values ('+quotedstr(company_code)+','+valuestr+')';
    end else
       sqlstr:='insert into '+table_name+' ('+fieldstr+') values ('+valuestr+')';
///////////////////////////////////////////////////////////////////////////////

    //sqlstr:='insert into '+table_name+' ('+fieldstr+') values ('+valuestr+')';
    with dm.ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add(sqlstr);
      execsql;
    end;
    is_csadd:=false;
    unit3.UpdateStringGrid;
    is_addnew:=false;
    is_update:=false;
    addstate:=false;
    upstate:=false;
    is_save:=true;
    is_mod:=false;
    unit3.UpdateStringGrid;
    if pagecontrol1.ActivePageIndex=1 then
      //@@@@@@@20053.11 屏蔽  unit3.Updatelistbox(listbox1,listbox2);     //$$$$$$$$$$$$$$$$$$$
      unit3.Updatelistbox(prescodelist,listbox2);
  end;
  end;
  tbn_mod.Enabled:=true;
  n_2_mod.Enabled:=true;
  is_mod:=false;
///////////////////2006-03//////////////////////////////////////////////////
  ChangeComposeState(true,false);//组建内容不可修改
/////////////////////////////////////////////////////////////////////////
end;

procedure Tfrm_main.N_0_defformClick(Sender: TObject);
begin
 //if not assigned(form4) then
   //form4:=Tform4.Create(nil);
  form4.Show;
end;


procedure Tfrm_main.N_2_modClick(Sender: TObject);     //修改当前用户信息
var
  name:string;
  sqlstr:string;
  tabsheetnum:integer;
begin
  if addstate and (is_save=false) then
  begin
    if Application.Messagebox('你还未保存新增人员信息,是否要保存!','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
    begin
      N_2_saveClick(Sender);
      exit;
    end
    else
    begin
      if is_addnew and (is_save=false) then
      begin
///////////////////2006-03//////////////////////////////////////////////////
       ChangeComposeState(true,false);//组建内容不可以修改
///////////////////////////////////////////////////////////////////////////
        DelAllTable;
        addstate:=false;
        is_addnew:=false;
        is_save:=true;
        gencode:='';
      end;
    end;
  end;
  if gencode='' then
  begin
    application.MessageBox('未选中信息!','注意',mb_ok);
    exit;
  end;
  is_mult:=false;
  sqlstr:='select mult_rec from page_def where page_no='+inttostr(pagecontrol1.ActivePageindex+1);
  with dm.ADOQuery1 do
  begin
    close;
    sql.Clear;
    sql.Add(sqlstr);
    open;
  end;
  if dm.ADOQuery1.fieldbyname('mult_rec').AsVariant=true then
    is_mult:=true;
  if Application.Messagebox('是否要修改当前用户的信息!','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
  begin
///////////////////2006-03//////////////////////////////////////////////////
    ChangeComposeState(false,true);//组建内容可以修改
/////////////////////////////////////////////////////////////////////////
    is_addnew:=false;
    is_update:=true;
    upstate:=true;
    is_save:=false;
    addstate:=false;
    is_csadd:=false;
    tabsheetnum:=PageControl1.ActivePageIndex+1;
    upperscode:=gencode;
  end;
end;

procedure Tfrm_main.N_0_zdwhClick(Sender: TObject);
begin
  frm_zd.show;//form6.Show;
end;

procedure Tfrm_main.N18Click(Sender: TObject);
begin
 frm_cx.Show;
end;

procedure tfrm_main.MyButtonOnClick(Sender: TObject; var Key: Word;
      Shift: TShiftState);
begin
  if is_lock then
    application.MessageBox('请选择增加从属信息或从属子信息进行录入!','界面已锁',mb_OK);
end;

{procedure Tfrm_main.ToolButton8Click(Sender: TObject);
begin
  form9.Show;
end;}

procedure Tfrm_main.ListBox1Click(Sender: TObject);
var
  i:integer;
  perscode:string;
begin

end;

procedure Tfrm_main.N_2_newcszxxClick(Sender: TObject);     //新增从属信息,在dbgrid中显示
var
  i:integer;
  perscode:string;
  sqlstr:string;
  fieldstr:string;
  valuestr,value:string;
  table_name:string;
begin
////////////2006-03 zjx/////////////////////////
  ChangeComposeState(false,true); //可读写
///////////////////////////////////////////
  addstate:=true;
  is_csadd:=true;
  is_save:=false;
  unit3.ClearSGSheet;
end;

procedure Tfrm_main.tbn_saveallClick(Sender: TObject); //保存信息
var
  i,j,index:integer;
  sqlstr:string;
  table_name:string;
  fieldstr,valuestr,value:string;
  code:string;
begin
  N_2_saveClick(Sender);
  is_mod:=false;
end;
////////////////////查询相应人员具体信息/////2006-03////////////////
procedure Tfrm_main.showInforRenYuan;
var
  i:integer;
  perscode:string;
  sqlstr:string;
  table_name:string;
  sqltmp:string;
  index:integer;
  tmpvar:OleVariant;
  values:string;
  DefPath:string;
  Sender:TObject;
begin

  if addstate and (is_save=false) then
  begin
    if application.MessageBox('还未保存当前增加的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
    begin
      N_2_saveClick(Sender);//(Sender);
      exit;   //回到浏览状态
    end
    else
    begin
      if is_addnew and (is_save=false) then
      begin
        DelAllTable;
        addstate:=false;
        is_addnew:=false;
        gencode:='';
      end;
      addstate:=false;
      is_csadd:=false;
      is_save:=true;
    end;
  end;
  if upstate and (is_save=false) then
  begin
    if application.MessageBox('还未保存当前修改的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
    begin
      N_2_saveClick(Sender);//(Sender);
      exit;   //回到浏览状态
    end;
  end;
  tbn_print.Enabled:=true;//1023添加  打印按钮可用
  tbn_mod.Enabled:=true;
  n_2_mod.Enabled:=true;
  n_2_save.Enabled:=true;
  tbn_saveall.Enabled:=true;
  tbn_delall.Enabled:=true;
  tbn_delzxx.Enabled:=false;
  n_2_del.Enabled:=true;
  s_2_delall.Enabled:=true;
  n_2_delcszxx.Enabled:=false;
  pagecontrol1.ActivePageIndex:=0;
  groupbox1.Visible:=true;
  b_add.Visible:=true;
  b_del.Visible:=true;
  stringgrid1.Visible:=false;
  for i:=0 to listbox2.Count-1 do
  begin
    if listbox2.Selected[i] then
    begin
      //@@@@@2005.3.11屏蔽  perscode:=listbox1.Items[i];
      //@@@@@@@@@@csperscode:=listbox1.items[i];
      //@@@@@@@@@@@2
        perscode:=prescodelist[i];
        csperscode:=prescodelist[i];
      //@@@@@@@@@@@2
       gencode:=csperscode;
    end;
  end;
  if gencode<>'' then
  begin
  AppPath:=ExtractFilePath(Application.ExeName);
  DefPath:=AppPath+'defaultbmp.bmp';
  image1.Picture.LoadFromFile(DefPath);//载入默认图片
  readpic;
  if pagecontrol1.ActivePageIndex<>0 then
  begin
    label1.Parent:=tabsheet[pagecontrol1.ActivePageIndex];
    label1.BringToFront;
    label1.Top:=tabsheet[pagecontrol1.ActivePageIndex].Top-10;
    label1.Left:=90;
    with dm.ADOQuery1 do       //显示当前用户信息
    begin
      close;
      sql.Clear;
      sql.Add('select a0101,a0102,a0103,a0104 from a01 where prescode='+quotedstr(gencode));
      open;
      label1.Caption:=fieldbyname('a0101').AsString+' , '+fieldbyname('a0102').AsString+' , '
               +fieldbyname('a0103').AsString+' , '+fieldbyname('a0104').AsString;
    end;
  end;
  end;
  is_addnew:=false;
  pagecontrol1.ActivePageIndex:=0;
    showinfo(pagecontrol1.ActivePageIndex+1,perscode);
    is_mod:=false;
end;

procedure Tfrm_main.ListBox2DblClick(Sender: TObject);
var
  i:integer;
  perscode:string;
  sqlstr:string;
  table_name:string;
  sqltmp:string;
  index:integer;
  tmpvar:OleVariant;
  values:string;
  DefPath:string;
begin
  showInforRenYuan;  //2006-03

  {
  if addstate and (is_save=false) then
  begin
    if application.MessageBox('还未保存当前增加的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
    begin
      N_saveClick(Sender);//(Sender);
      exit;   //回到浏览状态
    end
    else
    begin
      if is_addnew and (is_save=false) then
      begin
        DelAllTable;
        addstate:=false;
        is_addnew:=false;
        gencode:='';
      end;
      addstate:=false;
      is_csadd:=false;
      is_save:=true;
    end;
  end;
  if upstate and (is_save=false) then
  begin
    if application.MessageBox('还未保存当前修改的信息,是否要保存','注意!',MB_OKCANCEL+ mb_iconexclamation)=IDOK then
    begin
      N_saveClick(Sender);//(Sender);
      exit;   //回到浏览状态
    end
  end;
  tbn_print.Enabled:=true;//1023添加  打印按钮可用
  tbn_mod.Enabled:=true;
  n_mod.Enabled:=true;
  n_save.Enabled:=true;
  tbn_saveall.Enabled:=true;
  tbn_delall.Enabled:=true;
  tbn_delzxx.Enabled:=false;
  n_del.Enabled:=true;
  s_delall.Enabled:=true;
  n_delcszxx.Enabled:=false;
  pagecontrol1.ActivePageIndex:=0;
  groupbox1.Visible:=true;
  b_add.Visible:=true;
  b_del.Visible:=true;
  stringgrid1.Visible:=false;
  for i:=0 to listbox2.Count-1 do
  begin
    if listbox2.Selected[i] then
    begin
      //@@@@@2005.3.11屏蔽  perscode:=listbox1.Items[i];
      //@@@@@@@@@@csperscode:=listbox1.items[i];
      //@@@@@@@@@@@2
        perscode:=prescodelist[i];

⌨️ 快捷键说明

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