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

📄 input_lsz.pas

📁 一个简单的家庭财务管理软件。
💻 PAS
字号:
unit input_lsz;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBCtrls, DB, ADODB, ExtCtrls, StdCtrls, Mask, ComCtrls,StrUtils,childccp;

type
  Tinput = class(Tchildcc)
    Panel1: TPanel;
    ADOinput: TADOTable;
    DBNavigator1: TDBNavigator;
    DBEdid: TDBEdit;
    DataSource1: TDataSource;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    ADOConnection1: TADOConnection;
    DBEdcontent: TDBEdit;
    ADOinputid: TWideStringField;
    ADOinputfssj: TDateTimeField;
    ADOinputcontent: TWideStringField;
    ADOinputchange: TBooleanField;
    ADOfsr: TADOQuery;
    ADOfslx: TADOQuery;
    DateTimePicker1: TDateTimePicker;
    ADOinputfsrxm: TStringField;
    DBLookupCb1: TDBLookupComboBox;
    ADOinputfsr: TIntegerField;
    ADOinputtype: TIntegerField;
    ADOinputtypename: TStringField;
    DBLookupCb2: TDBLookupComboBox;
    ADOinputmoney: TBCDField;
    Label6: TLabel;
    DBEdmoney: TDBEdit;
    ADOinputcclx: TIntegerField;
    Label7: TLabel;
    ADOQuerycclx: TADOQuery;
    ADOinputcclxmc: TStringField;
    DBLookupComboBox1: TDBLookupComboBox;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ADOinputAfterInsert(DataSet: TDataSet);
    procedure FormCreate(Sender: TObject);
    procedure ADOinputAfterScroll(DataSet: TDataSet);
    procedure FormDestroy(Sender: TObject);
    procedure ADOinputBeforePost(DataSet: TDataSet);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  input: Tinput;

implementation


{$R *.dfm}

uses home_main;

procedure Tinput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  
 
  Action := caFree;

end;

procedure Tinput.ADOinputAfterInsert(DataSet: TDataSet);
var
   Adoid :TADoQuery;
   id,ny,inid_s :string;
   inid :integer;

begin
 { DONE : id,time }
  //自动产生id号的程序
  ShortDateFormat := 'yyyymmdd' ;
 // DateTimePicker1.DateFormat :=  'yyyymmdd' ;

    DateTimePicker1.Date := now;

  ny := datetostr(now);
  DateTimePicker1.DateTime := now;
  Adoid := TadoQuery.Create(self);
  adoid.connection := ADOConnection1;
  with adoid do
  begin
       close;
       sql.Text := 'select max(id) as maxid from t_lsz where left(id,8) = '+ny;
       open;
       id := adoid.fieldbyname('maxid').AsString;
   end;


   if length(id) <> 0 then
      begin
        id := midstr(id,9,3);
        inid := strtoint(id)+ 1;
        case length(inttostr(inid)) of
           1: inid_s := '00'+inttostr(inid);
           2: inid_s := '0'+inttostr(inid);
           3: inid_s := inttostr(inid);
        end;
        id := ny+inid_s;
      end
     else
        id  := ny+'001';

   Adoinput.FieldByName('id').AsString := id;
   Adoinput.FieldByName('fsr').AsString := DBLookupCb1.Text;
   ADoinput.FieldByName('fssj').AsDateTime := DateTimePicker1.DateTime ;
   Adoinput.FieldByName('type').Asstring := DBLookupCb2.Text;

end;

procedure Tinput.FormCreate(Sender: TObject);
begin
   adoinput.Open;
  // adoinput.Edit;
   Adofsr.Open;
   adofslx.Open;
   ADOQuerycclx.Open;
    DateTimePicker1.Format := 'yyyyMMdd';
  //  DateTimePicker1.Perform(Longint, 0, DWORD(PCHAR('yyyymmdd')));
   if GlobalFindAtom('input') = 0 then
      GlobalAddAtom('input');

end;

procedure Tinput.ADOinputAfterScroll(DataSet: TDataSet);
begin
   DateTimePicker1.DateTime := ADoinput.FieldByName('fssj').AsDateTime;
end;

procedure Tinput.FormDestroy(Sender: TObject);
begin
     GlobalDeleteAtom(GlobalFindAtom('input'));
end;

procedure Tinput.ADOinputBeforePost(DataSet: TDataSet);
var
  ado_sql:Tadoquery;
  s_sql :String;
  m_id :integer;
begin
     //更新财产表中的数据

if ADoInput.State in [dsInsert] then
     begin
     ado_sql := Tadoquery.Create(self);
     ado_sql.Connection := ADOConnection1;
     ado_sql.SQL.Clear;
     m_id := Adoinput.fieldbyname('cclx').AsInteger;

     if length(inttostr(m_id)) <> 0 then
     begin
         if dblookupcb2.text = '收入' then
              s_sql := 'update t_ccb set [money] = [money] + %d where name = '+inttostr(m_id)
         else
              s_sql := 'update t_ccb set [money] = [money] - %d where name = '+inttostr(m_id);

        ado_sql.sql.text := Format(s_sql,[strtoint(DBEdmoney.text)]);
        ado_sql.ExecSQL;
        ado_sql.Close;
     end;

   end;
end;

end.

⌨️ 快捷键说明

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