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

📄 a02050f002unit.pas

📁 工商收费系统,主要是管理非税收收入的费用的管理
💻 PAS
📖 第 1 页 / 共 3 页
字号:
      begin         MouthEdt.SetFocus ;         strMouth:=MouthEdt.Text;         Exit;      end;   if Trim(DayEdt.Text) ='' then      begin         DayEdt.SetFocus ;         strMouth:=MouthEdt.Text;         Exit;      end;   try      EncodeDate(StrToInt(YearEdt.Text),StrToInt(MouthEdt.Text),                 StrToInt(DayEdt.Text));   except      begin         Application.MessageBox('日期范围错误!','错误',mb_OK+mb_IconStop);         DayEdt.SetFocus ;         Exit;      end;   end;   strMouth:=MouthEdt.Text;end;procedure TA02050F002Frm.DayEditExit(Sender: TObject);begin   if Trim(YearEdt.Text) ='' then      begin         YearEdt.SetFocus ;         strDay:=DayEdt.Text;         Exit;      end;   if Trim(MouthEdt.Text) ='' then      begin         MouthEdt.SetFocus ;         strDay:=DayEdt.Text;         Exit;      end;   if Trim(DayEdt.Text) ='' then      begin         DayEdt.SetFocus ;         strDay:=DayEdt.Text;         Exit;      end;   if Length(Trim(DayEdt.Text))=1 then      DayEdt.Text:= '0'+Trim(DayEdt.Text);   try      EncodeDate(StrToInt(YearEdt.Text),StrToInt(MouthEdt.Text),                 StrToInt(DayEdt.Text));   except      begin         Application.MessageBox('日期范围错误!','错误',mb_OK+mb_IconStop);         DayEdt.SetFocus ;         Exit;      end;   end;   strDay:=DayEdt.Text;end;procedure TA02050F002Frm.YearEditClick(Sender: TObject);var   WordYear:Word;   WordMouth:Word;   WordDay:Word;begin   if trim(YearEdt.Text) ='' then      begin         DecodeDate(Date,WordYear,WordMouth,WordDay);         YearEdt.Text :=IntToStr(WordYear);      end;end;procedure TA02050F002Frm.MouthEditClick(Sender: TObject);var   WordYear:Word;   WordMouth:Word;   WordDay:Word;begin   if trim(MouthEdt.Text) ='' then      begin         DecodeDate(Date,WordYear,WordMouth,WordDay);         MouthEdt.Text :=IntToStr(WordMouth);      end;end;procedure TA02050F002Frm.DayEditClick(Sender: TObject);var   WordYear:Word;   WordMouth:Word;   WordDay:Word;begin   if trim(DayEdt.Text) ='' then      begin         DecodeDate(Date,WordYear,WordMouth,WordDay);         DayEdt.Text :=IntToStr(WordDay);      end;end;procedure TA02050F002Frm.FormShow(Sender: TObject);var   WordYear:Word;   WordMouth:Word;   WordDay:Word;begin   if trim(DayEdt.Text) ='' then      begin         DecodeDate(Date,WordYear,WordMouth,WordDay);         YearEdt.Text :=IntToStr(WordYear);         MouthEdt.Text :=IntToStr(WordMouth);         DayEdt.Text :=IntToStr(WordDay);      end;   if Length(Trim(MouthEdt.Text))=1 then      MouthEdt.Text:= '0'+Trim(MouthEdt.Text);   if Length(Trim(DayEdt.Text))=1 then      DayEdt.Text:= '0'+Trim(DayEdt.Text);   { 在此事件处理函数中初始化各项属性 }   intErrCounts:=0;   try      TD04ATbl.Active :=true;   finally      DMMain.adoConnMain.BeginTrans;  // 开始一个事务   end;   if tag=0 then // 如果修改   begin      Self.Caption :='修改';      AddTBBtn.Visible :=false;       TD04ATbl.Locate('自动编号',self.strEditArray[0],[loCaseInsensitive]);      TD04ATbl.Edit;      { 初始化 }      if TD04ATbl.FieldValues['出票日期']<>NULL then      begin         SpeedButton2Click(Sender); // 为了初始化出票日期,         MonthCalendar1.Date:=TD04ATbl.FieldValues['出票日期'];         SpeedButton2Click(Sender); // 调用两次      end;      moneyEdt.Text :=TD04ATbl.FieldValues['金额'];// 以初始化moneyLabel及strForSaveMoney      strForSaveMoney:=moneyEdt.Text;      moneyEdt.SetFocus;   end   else    // 如果添加   begin      Self.Caption :='添加';      TD04ATbl.Append;      { 初始化 }      moneyEdt.Text :='';      strForSaveMoney:=''; // 初始化成员变量      TD04ATbl.FieldByName('票据类别').Asstring:='转帐支票';   end;//   bNeedHelpSave:=False;   // 初始化为不需要帮助   InitEdtCtlIme(self.Panel1,imChinese,gstrInputMethod);   InitEdtCtlIme(self.Panel3,imChinese,gstrInputMethod);   TD04OutNameDBEdt.SetFocus; // 设置初始焦点end;procedure TA02050F002Frm.SaveTBBtnClick(Sender: TObject);begin   if intErrCounts<>0 then   begin      Application.MessageBox('数据填写的有错误,红色的为有错误的项目,请检查填写内容!',           '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      yearEdt.SetFocus;      Exit;   end;   try      { 通过切换焦点产生OnExit事件 }      moneyEdt.SetFocus;      yearEdt.SetFocus;      dayEdt.SetFocus;      yearEdt.SetFocus;      { 保存数据 }      try         if (yearEdt.Text<>'') or (mouthEdt.Text<>'') or (dayEdt.Text<>'') then         begin            strForSaveDate:=Trim(yearEdt.Text)+'-'+Trim(mouthEdt.Text)                           +'-'+Trim(dayEdt.Text);            TD04ATbl.FieldValues['出票日期']:=strForSaveDate;         end;      except         Application.MessageBox('出票日期填写有错误,请检查填写内容,重新提交!',                '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);         yearEdt.SetFocus;         exit      end;      try         if strForSaveMoney<>'' then            TD04ATbl.FieldValues['金额']:=strForSaveMoney      except         Application.MessageBox('金额填写有错误,请检查填写内容,重新提交!',                '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);         moneyEdt.SetFocus;         exit;      end;      TD04ATbl.FieldValues['票据名称']:='交通银行进帐单';      TD04ATbl.FieldByName('票据编码').AsString:='01050';      TD04ATbl.FieldByName('票据种类').AsString:='01';      TD04ATbl.FieldValues['操作员']:=gstrOperaterName;      TD04ATbl.Post; // 提交   except      Application.MessageBox('数据提交错误,请检查填写内容,重新提交!',          '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      DMMain.adoConnMain.RollbackTrans;   // 回滚一个事务      DMMain.adoConnMain.BeginTrans;  // 开始一个事务      yearEdt.SetFocus;      Exit;   end;   DMMain.adoConnMain.CommitTrans; // 提交一个事务   DMMain.adoConnMain.BeginTrans;  // 开始一个事务   try      if tag=0 then // 修改         TD04ATbl.Edit      else         TD04ATbl.Edit;   except      Application.MessageBox('添加记录时产生错误!请与数据库管理员联系',          '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      yearEdt.SetFocus;   end;   yearEdt.SetFocus;end;procedure TA02050F002Frm.AbortTBBtnClick(Sender: TObject);begin   if IdYes<>Application.MessageBox('真的要放弃吗?',         '提示',MB_YesNo+MB_DefButton1+MB_IconQuestion+MB_ApplModal)   then   begin      Exit;   end;   DMMain.adoConnMain.RollbackTrans;   // 回滚一个事务   // 更新表,注意顺序   try      TD04ATbl.Active :=False;      TD04ATbl.Active :=True;   finally      DMMain.adoConnMain.BeginTrans;  // 开始一个事务   end;   try      if tag=0 then // 修改      begin         TD04ATbl.Locate('自动编号',self.strEditArray[0],[loCaseInsensitive]);         TD04ATbl.Edit;      { 初始化 }      if TD04ATbl.FieldValues['出票日期']<>NULL then      begin         SpeedButton2Click(Sender); // 为了初始化出票日期,         MonthCalendar1.Date:=TD04ATbl.FieldValues['出票日期'];         SpeedButton2Click(Sender); // 调用两次      end;      moneyEdt.Text :=TD04ATbl.FieldValues['金额'];      moneyEdt.SetFocus;  // 利用焦点的转换,产生OnExit()事件,                          // 以初始化moneyLabel及strForSaveMoney      end      else    // 添加      begin         TD04ATbl.Append;      { 初始化 }      SpeedButton2Click(Sender); // 为了初始化出票日期,      MonthCalendar1.Date :=Date;      SpeedButton2Click(Sender); // 调用两次      moneyEdt.Text :='';      strForSaveMoney:=''; // 初始化成员变量      moneyEdt.SetFocus;  // 利用焦点的转换,产生OnExit()事件,初始化moneyLabel      end;   except      Application.MessageBox('操作数据库时产生错误!请与数据库管理员联系',          '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);   end;   yearEdt.SetFocus;end;procedure TA02050F002Frm.ExitTBBtnClick(Sender: TObject);begin   Close;end;procedure TA02050F002Frm.MoneyEdtExit(Sender: TObject);var   i:integer;   strMoney,strTmp:string;   intTmp:integer;   strPosion:string;begin   { 先进行判断是否需要进行处理 }   strTmp:=ChangeMoneyLowcaseToUppercase(strForSaveMoney);   if moneyEdt.Text=strTmp then exit; // 不需要处理   { 开始处理 }   if ChangeMoneyLowcaseToUppercase(moneyEdt.Text)='-1' then   begin      Application.MessageBox('金额输入错误!请重新输入',                '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);      moneyEdt.SetFocus;      exit;   end;   strMoney:=moneyEdt.Text;   // 临时保存原始金额;   strForSaveMoney:=moneyEdt.Text;  // 将原始输入,保存到类成员中   { 对输入的金额进行处理}   strPosion:=Trim(moneyEdt.Text);   intTmp:=Pos('.',pChar(strMoney));   Delete(strPosion,intTmp,1);   if intTmp=0 then      strPosion:=strPosion+'.00'   else if (strlen(pChar(strPosion))-intTmp)=1 then      strPosion:=strPosion+'0'   else if (strlen(pChar(strPosion))-intTmp)=0 then      strPosion:=strPosion+'00';   if Length(strPosion)>11 then      begin         Application.MessageBox('金额输入错误!请重新输入',                '提示',MB_OK+MB_DefButton1+MB_IconInformation+MB_ApplModal);         moneyEdt.SetFocus;         exit;      end;   { 将金额转换为大写并填写到对应项中 }   moneyEdt.Text:=ChangeMoneyLowcaseToUppercase(moneyEdt.Text);      { 清空金额项 }   moneyLabel0.Caption :='';   moneyLabel1.Caption :='';   moneyLabel2.Caption :='';   moneyLabel3.Caption :='';   moneyLabel4.Caption :='';   moneyLabel5.Caption :='';   moneyLabel6.Caption :='';   moneyLabel7.Caption :='';   moneyLabel8.Caption :='';   moneyLabel9.Caption :='';      { 对输入的金额进行处理,去掉小数点并补充上角分位 }   intTmp:=Pos('.',pChar(strMoney));   Delete(strMoney,intTmp,1);   if intTmp=0 then      strMoney:=strMoney+'00'   else if (strlen(pChar(strForSaveMoney))-intTmp)=1 then      strMoney:=strMoney+'0'   else if (strlen(pChar(strForSaveMoney))-intTmp)=0 then      strMoney:=strMoney+'00';   { 去除无用零字符 }   intTmp:=Pos('0',pChar(strMoney));   while (intTmp=1) and (intTmp<>strlen(pChar(strMoney))) do   begin      Delete(strMoney,intTmp,1);      intTmp:=Pos('0',pChar(strMoney));   end;    { 填充金额项前缀符号 }   strTmp:='¥';   case strlen(Pchar(strMoney)) of      1:    moneyLabel1.Caption :=strTmp;      2:    moneyLabel2.Caption :=strTmp;      3:    moneyLabel3.Caption :=strTmp;      4:    moneyLabel4.Caption :=strTmp;      5:    moneyLabel5.Caption :=strTmp;      6:    moneyLabel6.Caption :=strTmp;      7:    moneyLabel7.Caption :=strTmp;      8:    moneyLabel8.Caption :=strTmp;      9:    moneyLabel9.Caption :=strTmp;         end;   { 从已经处理过的金额字符串中提取数据填充到金额项中 }   for i:=0 to strlen(Pchar(strMoney))-1 do   begin      strTmp:=copy(strMoney,i+1,1);      case strlen(Pchar(strMoney))-1-i of         0:    moneyLabel0.Caption :=strTmp;         1:    moneyLabel1.Caption :=strTmp;         2:    moneyLabel2.Caption :=strTmp;         3:    moneyLabel3.Caption :=strTmp;         4:    moneyLabel4.Caption :=strTmp;         5:    moneyLabel5.Caption :=strTmp;         6:    moneyLabel6.Caption :=strTmp;         7:    moneyLabel7.Caption :=strTmp;         8:    moneyLabel8.Caption :=strTmp;         9:    moneyLabel9.Caption :=strTmp;               end;   end;   setexitcolor(MoneyEdt);end;procedure TA02050F002Frm.SpeedButton5Click(Sender: TObject);var   strRet:array[0..6] of string;begin   TD04jsrEdt.SetFocus;   Application.CreateForm(TF007Frm,F007Frm);   F007Frm.CallCodeHelp('Select * from TC05',1,striniHelpName,'TC05',strRet);   if strRet[0]='-1' then exit;   TD04jsrEdt.Text:=strRet[0];end;procedure TA02050F002Frm.TD04OutNameDBEdtKeyDown(Sender: TObject;  var Key: Word; Shift: TShiftState);var   strRet:array[0..5] of string;begin   if key=113 then      begin         OutSBtn.Click ;

⌨️ 快捷键说明

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