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

📄 yskm.pas

📁 本系统包括的功能有,预算项目管理,查询,数据库维护,系统拥护管理等
💻 PAS
字号:
unit yskm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids, DBCtrls;

type
  Tfrmyskm = class(TForm)
    Labyskmdm: TLabel;
    Labyskmmc: TLabel;
    Dacomdm: TDBComboBox;
    Dacomyskmmc: TDBComboBox;
    DBGrid1: TDBGrid;
    cmdadd: TButton;
    cmdmodi: TButton;
    cmdsearch: TButton;
    cmdpre: TButton;
    cmdnext: TButton;
    cmdstore: TButton;
    cmddel: TButton;
    cmdquit: TButton;
    DataSource1: TDataSource;
    Tableyskm: TTable;
    Tableyskm2: TTable;
    cmddis: TButton;
    dacomyslbdm: TDBComboBox;
    Labyslbdm: TLabel;
    Tableyskmlb: TTable;
    Labyslbmc: TLabel;
    comboxyslbmc: TComboBox;
    Database1: TDatabase;
    procedure cmdaddClick(Sender: TObject);
    procedure setbuttons(bval:boolean);
    function storeyskm():boolean;
    procedure cmddelClick(Sender: TObject);
    procedure cmdstoreClick(Sender: TObject);
    procedure cmdpreClick(Sender: TObject);
    procedure cmdnextClick(Sender: TObject);
    procedure cmdmodiClick(Sender: TObject);
    procedure cmdquitClick(Sender: TObject);
    procedure cmdsearchClick(Sender: TObject);
    procedure cmddisClick(Sender: TObject);
    procedure dacomyslbdmChange(Sender: TObject);
    procedure comboxyslbmcChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DacomdmChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmyskm: Tfrmyskm;

addrecord:integer;
m_yskmdm:string;
m_yskmmc:string;
implementation

{$R *.dfm}

procedure Tfrmyskm.cmdaddClick(Sender: TObject);
begin
addrecord:=1;
setbuttons(false);
dacomdm.SetFocus;
Tableyskm.Append;
end;

procedure Tfrmyskm.setbuttons(bval:boolean);
begin
cmdadd.Enabled:=bval;
cmdmodi.Enabled:=bval;
cmdsearch.Enabled:=bval;
cmddis.Enabled:=bval;
cmdpre.Enabled:=bval;
cmdnext.Enabled:=bval;
cmddel.Enabled:=bval;
cmdstore.Enabled:=not bval;
//cmddel.Enabled:=not bval;
if cmdquit.Caption='退出' then
  cmdquit.Caption:='取消'
else
cmdquit.Caption:='退出';
dacomdm.Enabled:=not bval;
dacomyslbdm.Enabled:=not bval;
comboxyslbmc.Enabled:=not bval;
dacomyskmmc.Enabled:=not bval;
end;

function Tfrmyskm.storeyskm():boolean;
var
note:array[1..7] of string;
str:string;
begin
result:=false;
note[1]:='预算科目类别代码为空!';
note[2]:='预算科目类别名称不能为空!';
note[3]:='预算科目代码为空!';
note[4]:='预目科目名称不能为空!';
note[5]:='该预算科目代码已经存在!';
note[6]:='该预算科目名称已经存在!';
note[7]:='预算科目类别代码与预算科目代码不符!';
if dacomyslbdm.Text='' then
   begin
    showmessage(note[1]);
    dacomyslbdm.SetFocus;
    exit;
   end;
if dacomdm.Text='' then
   begin
    showmessage(note[2]);
    dacomdm.SetFocus;
    exit;
   end;
if dacomyskmmc.Text='' then
   begin
    showmessage(note[2]);
    dacomyskmmc.SetFocus;
    exit;
   end;
str:=dacomdm.text;
str:=copy(str,1,1);
if str<>dacomyslbdm.Text then
    begin
     showmessage(note[7]);
     dacomyskmmc.SetFocus;
     exit;
    end;
if addrecord=1 then
   tableyskm2.Filter:='dm='''+dacomdm.Text+''''
   //tableuser2.Filter:='yhmc='''+'111'+''''
 else
   if m_yskmdm=dacomdm.Text then
     begin
       result:=true;
       exit;
     end
   else
     tableyskm2.Filter:='dm='''+ dacomdm.Text+'''';
if not tableyskm2.Eof then
    begin
     showmessage(note[5]);
     dacomdm.SetFocus;
     exit;
    end;
   //query1.close;
//query1.SQL.clear;

//if addrecord=1 then
 // begin
 //   query1.SQL.add('select * from companyuser where yhmc=:p1');
 //   query1.ParamByname('p1').AsString := dacomname.Text;
  //end
//else
 //  begin
  //  query1.SQL.add('select * from companyuser where yhmc=:p1 and password=:p2');
   // query1.ParamByname('p1').AsString := dacomname.Text;
    //query1.ParamByname('p2').AsString := dacompass.Text;
  //  end;
//Query1.Prepare;
//query1.open;
//if not query1.Eof then
//   begin
//     showmessage(note[4]);
 //    exit;
  // end;
if addrecord=1 then
   tableyskm2.Filter:='yskmmc='''+dacomyskmmc.Text+''''
   //tableuser2.Filter:='yhmc='''+'111'+''''
 else
   if m_yskmmc=dacomyskmmc.Text then
     begin
       result:=true;
       exit;
     end
   else
     tableyskm2.Filter:='yskmmc='''+ dacomyskmmc.Text+'''';
if not tableyskm2.Eof then
    begin
     showmessage(note[6]);
     dacomyskmmc.SetFocus;
     exit;
    end;
result:=true;
end;

procedure Tfrmyskm.cmddelClick(Sender: TObject);
begin
Tableyskm.Delete
end;


procedure Tfrmyskm.cmdstoreClick(Sender: TObject);
begin
if storeyskm=true then
    begin
      tableyskm.post;
      setbuttons(true);
    end;
end;

procedure Tfrmyskm.cmdpreClick(Sender: TObject);
begin
 tableyskm.MoveBy(-1);
 if tableyskm.Bof then
   begin
    showmessage('这是第一条记录!');
   // tableuser.MoveBy(1);
   end;
end;

procedure Tfrmyskm.cmdnextClick(Sender: TObject);
begin
tableyskm.MoveBy(1);
 if tableyskm.Eof  then
   begin
    showmessage('这是最后一条记录!');
    //tableuser.MoveBy(-1);
   end;
end;

procedure Tfrmyskm.cmdmodiClick(Sender: TObject);
begin
m_yskmmc:=comboxyslbmc.Text;
m_yskmdm:=dacomdm.Text;
setbuttons(false);
addrecord:=2;
tableyskm.Edit;
end;

procedure Tfrmyskm.cmdquitClick(Sender: TObject);
begin
if cmdquit.Caption='退出' then
  frmyskm.Close
else
  begin
    setbuttons(true);
    tableyskm.Cancel;
    cmdquit.Caption:='退出'
  end;
end ;

procedure Tfrmyskm.cmdsearchClick(Sender: TObject);
var
inputstring:string;
begin
InputString:= InputBox('输入数据', '请输入要查询的预算科目代码或名称', '');
if InputString='' then
   exit;
tableyskm.Filter:='dm='''+inputstring+'''';
if tableyskm.Eof then
 begin
  tableyskm.Filter:='yskmmc='''+inputstring+'''';
  if tableyskm.Eof then
      begin
        showmessage('没有你要查询的数据!');
        tableyskm.Filter:='dm<>'' ''';
        exit;
      end;
  end;
end;

//procedure Tfrmuser.cmddisClick(Sender: TObject);
//begin
//tableuser.Filter:='yhmc<>'' ''';
//end;

procedure Tfrmyskm.cmddisClick(Sender: TObject);
begin
  tableyskm.Filter:='dm<>''''';
end;

procedure Tfrmyskm.comboxyslbmcChange(Sender: TObject);
begin
//判断用户输入或选择的预算科目类别代码是否为空
if comboxyslbmc.text<>'' then
  //用户输入或选择的预算科目类别代码不为空
  begin
    //设置tableyskmlb的Filter属性,已找到与用户输入或选择的预算科目类别代码对应的记录
    tableyskmlb.Filter:='yslbmc='''+comboxyslbmc.Text+'''';
    //判断是否有与用户输入或选择的预算科目类别代码对应的记录
    if not tableyskmlb.eof then
      //有与用户输入或选择的预算科目类别代码对应的记录,在与预算类别代码对应的
      //dacomyslbdm组合框中显示与其对应的预算类别代码
      dacomyslbdm.Text:=tableyskmlb.FieldValues['dm']
    else
      //有与用户输入或选择的预算科目类别代码对应的记录
      begin
        //给出提示
        showmessage('该预算科目类别名称不存在!');
        //将光标定位在comboxyslbmc上,要求用户重新输入或选择
        comboxyslbmc.SetFocus;
        exit;
      end;
   end
else
   dacomyslbdm.Text:='';
   dacomdm.text:='';
end;

procedure Tfrmyskm.dacomyslbdmChange(Sender: TObject);
begin
if dacomyslbdm.text<>'' then
  begin
    tableyskmlb.Filter:='dm='''+dacomyslbdm.Text+'''';
    if not tableyskmlb.eof then
      comboxyslbmc.Text:=tableyskmlb.FieldValues['yslbmc'];
  end
//else
//  begin
 //   showmessage('该预算科目类别代码不存在!');
 //   dacomyslbdm.SetFocus;
 //   exit;
//  end;
end;

procedure Tfrmyskm.FormCreate(Sender: TObject);
begin
while not tableyskmlb.Eof  do
   begin
     //设置与预算科目类别对应的dacomyslbdm组合框控件的初始值
     dacomyslbdm.AddItem(tableyskmlb.FieldValues['dm'],sender);
     //设置与预算科目名称对应的comboxyslbmc组合框控件的初始值
     comboxyslbmc.AddItem(tableyskmlb.FieldValues['yslbmc'],sender);
     tableyskmlb.MoveBy(1);
   end;
end;

procedure Tfrmyskm.DacomdmChange(Sender: TObject);
begin
//判断用户输入或选择的预算科目代码是否为空
if dacomdm.text<>'' then
  //用户输入或选择的预算科目代码不为空
  begin
    //设置tableyskmlb的Filter属性,已找到与用户输入或选择的预算科目代码对应的预算科目类别
    tableyskmlb.Filter:='dm='''+copy(dacomdm.Text,1,1)+'''';
    //判断是否有与用户输入或选择的预算科目类别代码对应的记录
    if not tableyskmlb.eof then
     begin
      //有与用户输入的预算科目代码对应的对应的预算科目类别
      //在与预算类别代码对应的dacomyslbdm组合框中显示与其对应的预算类别代码
      dacomyslbdm.Text:=tableyskmlb.FieldValues['dm'];
      //在与预算类别名称对应的dacomyslbmc组合框中显示与其对应的预算类别名称
      comboxyslbmc.Text:=tableyskmlb.FieldValues['yslbmc']
     end
    else
      //没有与用户输入预算科目代码对应的记录
      begin
        //给出提示
        showmessage('该预算科目类别名称不存在!');
        //将光标定位在dacomdm上,要求用户重新输入或选择
        dacomdm.SetFocus;
        exit;
      end;
   end
else
  begin
   dacomyslbdm.Text:='';
   comboxyslbmc.text:='';
  end;
end;

end.

⌨️ 快捷键说明

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