BVB Source Codes

Special equipment safety supervision system in Delphi source code Show ufrmAcctManage.pas Source code

Return Download Special equipment safety supervision system in Delphi source code: download ufrmAcctManage.pas Source code - Download Special equipment safety supervision system in Delphi source code Source code - Type:.pas
  1. unit ufrmAcctManage;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, Grids, DBGridEh, DBCtrls, CSDBNavigator, StdCtrls, ExtCtrls,
  8.   ComCtrls, Buttons, dxExEdtr, dxEdLib, dxDBELib, DBCtrlsEh, dxCntner,
  9.   dxEditor, CSCustomdxDateEdit, CSdxDBDateEdit, Mask, DBLookupEh,
  10.   CSScrCtrlChild, CSBarMDIChild, DB, ADODB, dxmdaset, ExtDlgs,
  11.   CSADOQuery, DBGrids, CSGrdColCtrl, CSdxGrdColCtrl, CSADOFilter,
  12.   CSADOdxGrdFilter, CSDBBase, CSDBFind, CSDBdxGrdFind;
  13.  
  14. type
  15.   TfrmAcctManage = class(TForm)
  16.     Panel1: TPanel;
  17.     Panel5: TPanel;
  18.     bbtnHelp: TBitBtn;
  19.     bbtnClose: TBitBtn;
  20.     Panel2: TPanel;
  21.     pcMain: TPageControl;
  22.     TabSheet1: TTabSheet;
  23.     TabSheet2: TTabSheet;
  24.     Splitter1: TSplitter;
  25.     GroupBox1: TGroupBox;
  26.     grdList: TDBGridEh;
  27.     TabSheet3: TTabSheet;
  28.     TabSheet4: TTabSheet;
  29.     TabSheet5: TTabSheet;
  30.     TabSheet6: TTabSheet;
  31.     TabSheet7: TTabSheet;
  32.     TabSheet8: TTabSheet;
  33.     TabSheet10: TTabSheet;
  34.     TabSheet11: TTabSheet;
  35.     TabSheet12: TTabSheet;
  36.     TabSheet13: TTabSheet;
  37.     TabSheet14: TTabSheet;
  38.     Panel6: TPanel;
  39.     grdDeathDetail: TDBGridEh;
  40.     Panel9: TPanel;
  41.     grdInquiryDetail: TDBGridEh;
  42.     Panel12: TPanel;
  43.     grdLogDetail: TDBGridEh;
  44.     CSBarMDIChild1: TCSBarMDIChild;
  45.     ScrChild: TCSScrCtrlChild;
  46.     Panel15: TPanel;
  47.     Panel16: TPanel;
  48.     Panel17: TPanel;
  49.     Panel18: TPanel;
  50.     Panel21: TPanel;
  51.     Panel26: TPanel;
  52.     TabSheet9: TTabSheet;
  53.     Panel30: TPanel;
  54.     Panel31: TPanel;
  55.     Label50: TLabel;
  56.     Label49: TLabel;
  57.     deInquiryDate: TCSdxDBDateEdit;
  58.     Panel32: TPanel;
  59.     Panel33: TPanel;
  60.     Panel34: TPanel;
  61.     Label52: TLabel;
  62.     Label53: TLabel;
  63.     Panel35: TPanel;
  64.     Panel36: TPanel;
  65.     Panel37: TPanel;
  66.     Label55: TLabel;
  67.     Label56: TLabel;
  68.     deInquiryDeptDate: TCSdxDBDateEdit;
  69.     Panel38: TPanel;
  70.     Temp: TCSADOQuery;
  71.     bbtnSave: TBitBtn;
  72.     bbtnCancel: TBitBtn;
  73.     bbtnConfirm: TBitBtn;
  74.     bbtnPrint: TBitBtn;
  75.     Panel3: TPanel;
  76.     bbtnListFind: TBitBtn;
  77.     bbtnListFilter: TBitBtn;
  78.     bbtnListColumn: TBitBtn;
  79.     Panel4: TPanel;
  80.     bbtnInsert: TBitBtn;
  81.     bbtnDelete: TBitBtn;
  82.     navList: TCSDBNavigator;
  83.     Panel7: TPanel;
  84.     Panel8: TPanel;
  85.     bbtnAddDeathDetail: TBitBtn;
  86.     bbtnDeleteDeathDetail: TBitBtn;
  87.     navDeathDetail: TCSDBNavigator;
  88.     mAcctResult: TdxDBMemo;
  89.     mInquiryDifferIdea: TdxDBMemo;
  90.     mInquiryDeptIdea: TdxDBMemo;
  91.     mAcctRemark: TdxDBMemo;
  92.     Panel10: TPanel;
  93.     Panel11: TPanel;
  94.     bbtnAddInquiryDetail: TBitBtn;
  95.     bbtnDeleteInquiryDetail: TBitBtn;
  96.     navInquiryDetail: TCSDBNavigator;
  97.     Panel13: TPanel;
  98.     Panel14: TPanel;
  99.     bbtnAddLogDetail: TBitBtn;
  100.     bbtnDeleteLogDetail: TBitBtn;
  101.     navLogDetail: TCSDBNavigator;
  102.     mAcctCourse: TdxDBMemo;
  103.     mDestroyCircs: TdxDBMemo;
  104.     General: TCSADOQuery;
  105.     Generald: TDataSource;
  106.     DeathDetaild: TDataSource;
  107.     DeathDetail: TCSADOQuery;
  108.     InquiryDetaild: TDataSource;
  109.     InquiryDetail: TCSADOQuery;
  110.     LogDetail: TCSADOQuery;
  111.     LogDetaild: TDataSource;
  112.     Province: TCSADOQuery;
  113.     provinced: TDataSource;
  114.     City: TCSADOQuery;
  115.     cityd: TDataSource;
  116.     Borough: TCSADOQuery;
  117.     boroughd: TDataSource;
  118.     DevPurpose: TCSADOQuery;
  119.     DevPurposed: TDataSource;
  120.     ScrollBox1: TScrollBox;
  121.     GroupBox3: TGroupBox;
  122.     Label9: TLabel;
  123.     Label10: TLabel;
  124.     Label24: TLabel;
  125.     Label41: TLabel;
  126.     Label1: TLabel;
  127.     Label11: TLabel;
  128.     Label25: TLabel;
  129.     Label12: TLabel;
  130.     Label2: TLabel;
  131.     Label38: TLabel;
  132.     eAcctCom: TDBEditEh;
  133.     eAcctRegNo: TDBEditEh;
  134.     eContact: TDBEditEh;
  135.     eChiefDept: TDBEditEh;
  136.     eTel: TDBEditEh;
  137.     eZip: TDBEditEh;
  138.     eFax: TDBEditEh;
  139.     eEmail: TDBEditEh;
  140.     lcmbOrgProperty: TdxDBPickEdit;
  141.     eOrgAdress: TDBEditEh;
  142.     GroupBox2: TGroupBox;
  143.     Label18: TLabel;
  144.     Label16: TLabel;
  145.     Label17: TLabel;
  146.     Label19: TLabel;
  147.     Label39: TLabel;
  148.     Label43: TLabel;
  149.     eAcctAddress: TDBEditEh;
  150.     lcmbProvince: TDBLookupComboboxEh;
  151.     lcmbCity: TDBLookupComboboxEh;
  152.     lcmbBorough: TDBLookupComboboxEh;
  153.     eTown: TDBEditEh;
  154.     CSdxDBDateEdit1: TCSdxDBDateEdit;
  155.     GroupBox4: TGroupBox;
  156.     Label6: TLabel;
  157.     labDevName: TLabel;
  158.     Label13: TLabel;
  159.     Label4: TLabel;
  160.     labUseCertId: TLabel;
  161.     labDevInnerId: TLabel;
  162.     Label8: TLabel;
  163.     Label40: TLabel;
  164.     Label42: TLabel;
  165.     Label20: TLabel;
  166.     Label27: TLabel;
  167.     Label21: TLabel;
  168.     Label29: TLabel;
  169.     Label14: TLabel;
  170.     Label15: TLabel;
  171.     eDevName: TDBEditEh;
  172.     eDevType: TDBEditEh;
  173.     eDevRegNo: TDBEditEh;
  174.     eDevCertNo: TDBEditEh;
  175.     eDevInnerNo: TDBEditEh;
  176.     lcmbDevCategory: TDBLookupComboboxEh;
  177.     lcmbDevPurpose: TDBLookupComboboxEh;
  178.     lcmbDevKind: TDBLookupComboboxEh;
  179.     lcmbDevSort: TDBLookupComboboxEh;
  180.     deUseDate: TCSdxDBDateEdit;
  181.     deVerifyDate: TCSdxDBDateEdit;
  182.     eManuCom: TDBEditEh;
  183.     eDesignCom: TDBEditEh;
  184.     eVerifyCom: TDBEditEh;
  185.     eInstCom: TDBEditEh;
  186.     GroupBox5: TGroupBox;
  187.     Label7: TLabel;
  188.     Label3: TLabel;
  189.     Label23: TLabel;
  190.     Label26: TLabel;
  191.     Label28: TLabel;
  192.     Label30: TLabel;
  193.     Label31: TLabel;
  194.     Label32: TLabel;
  195.     Label33: TLabel;
  196.     Label34: TLabel;
  197.     Label35: TLabel;
  198.     Label22: TLabel;
  199.     deAuthDate: TCSdxDBDateEdit;
  200.     eDirectLoss: TDBEditEh;
  201.     eIndirectLoss: TDBEditEh;
  202.     eDeadNum: TDBEditEh;
  203.     eHighHarmNum: TDBEditEh;
  204.     eLightHarmNum: TDBEditEh;
  205.     eSpecKind: TDBEditEh;
  206.     lcmbAcctKind: TDBLookupComboboxEh;
  207.     lcmbAcctReason: TDBLookupComboboxEh;
  208.     lcmbReasonDetail: TDBLookupComboboxEh;
  209.     lcmbAcctType: TDBLookupComboboxEh;
  210.     lcmbAcctChar: TDBLookupComboboxEh;
  211.     GroupBox6: TGroupBox;
  212.     mAcctDuty: TdxDBMemo;
  213.     GroupBox7: TGroupBox;
  214.     mAcctMeasure: TdxDBMemo;
  215.     GroupBox8: TGroupBox;
  216.     mAcctIdea: TdxDBMemo;
  217.     GroupBox9: TGroupBox;
  218.     mDevCircs: TdxDBMemo;
  219.     GroupBox10: TGroupBox;
  220.     mTechParam: TdxDBMemo;
  221.     eDevDiagram: TdxDBGraphicEdit;
  222.     Panel19: TPanel;
  223.     Panel20: TPanel;
  224.     Panel22: TPanel;
  225.     Panel23: TPanel;
  226.     Panel24: TPanel;
  227.     Panel25: TPanel;
  228.     Panel27: TPanel;
  229.     Panel28: TPanel;
  230.     DevKind: TCSADOQuery;
  231.     DevKindd: TDataSource;
  232.     DevCategory: TCSADOQuery;
  233.     DevCategoryd: TDataSource;
  234.     DevSort: TCSADOQuery;
  235.     DevSortd: TDataSource;
  236.     AcctKind: TCSADOQuery;
  237.     AcctKindd: TDataSource;
  238.     AcctReason: TCSADOQuery;
  239.     AcctReasond: TDataSource;
  240.     ReasonDetail: TCSADOQuery;
  241.     ReasonDetaild: TDataSource;
  242.     AcctType: TCSADOQuery;
  243.     AcctTyped: TDataSource;
  244.     AcctChar: TCSADOQuery;
  245.     AcctChard: TDataSource;
  246.     Generalsysid: TStringField;
  247.     Generalacct_no: TStringField;
  248.     Generalacct_com: TStringField;
  249.     Generalacct_reg_no: TStringField;
  250.     Generalchief_dept: TStringField;
  251.     Generalorg_property: TStringField;
  252.     Generalcontact: TStringField;
  253.     Generaltel: TStringField;
  254.     Generalfax: TStringField;
  255.     Generalemail: TStringField;
  256.     Generalzip: TStringField;
  257.     Generalprovince_id: TStringField;
  258.     Generalprovince: TStringField;
  259.     Generalcity_id: TStringField;
  260.     Generalcity: TStringField;
  261.     Generalborough_id: TStringField;
  262.     Generalborough: TStringField;
  263.     Generaltown: TStringField;
  264.     Generalorg_address: TStringField;
  265.     Generalacct_address: TStringField;
  266.     Generalacct_date: TStringField;
  267.     Generalauth_date: TStringField;
  268.     Generaldev_name: TStringField;
  269.     Generaldev_reg_no: TStringField;
  270.     Generaldev_cert_no: TStringField;
  271.     Generaldev_inner_no: TStringField;
  272.     Generaldev_type: TStringField;
  273.     Generaldev_purpose_id: TStringField;
  274.     Generaldev_purpose: TStringField;
  275.     Generaldev_kind_id: TStringField;
  276.     Generaldev_kind: TStringField;
  277.     Generaldev_category_id: TStringField;
  278.     Generaldev_category: TStringField;
  279.     Generaldev_sort_id: TStringField;
  280.     Generaldev_sort: TStringField;
  281.     Generalmanu_com: TStringField;
  282.     Generalinst_com: TStringField;
  283.     Generaluse_date: TStringField;
  284.     Generaldesign_com: TStringField;
  285.     Generalverify_com: TStringField;
  286.     Generalverify_date: TStringField;
  287.     Generalacct_kind_id: TStringField;
  288.     Generalacct_kind: TStringField;
  289.     Generalacct_reason_id: TStringField;
  290.     Generalacct_reason: TStringField;
  291.     Generalreason_detail_id: TStringField;
  292.     Generalreason_detail: TStringField;
  293.     Generalacct_type_id: TStringField;
  294.     Generalacct_type: TStringField;
  295.     Generalacct_char_id: TStringField;
  296.     Generalacct_char: TStringField;
  297.     Generalspec_kind: TStringField;
  298.     Generaldirect_loss: TBCDField;
  299.     Generalindirect_loss: TBCDField;
  300.     Generaldead_num: TIntegerField;
  301.     Generalhigh_harm_num: TIntegerField;
  302.     Generallight_harm_num: TIntegerField;
  303.     Generaltech_param: TStringField;
  304.     Generaldev_diagram: TBlobField;
  305.     Generaldev_circs: TStringField;
  306.     Generalacct_course: TStringField;
  307.     Generaldestroy_circs: TStringField;
  308.     Generalspot_photo1: TBlobField;
  309.     Generalpic_type1: TStringField;
  310.     Generalspot_photo2: TBlobField;
  311.     Generalpic_type2: TStringField;
  312.     Generalspot_photo3: TBlobField;
  313.     Generalpic_type3: TStringField;
  314.     Generalspot_photo4: TBlobField;
  315.     Generalpic_type4: TStringField;
  316.     Generalacct_result: TStringField;
  317.     Generalacct_duty: TStringField;
  318.     Generalacct_idea: TStringField;
  319.     Generalacct_measure: TStringField;
  320.     Generalinquiry_manager: TStringField;
  321.     Generalinquiry_date: TStringField;
  322.     Generalinquiry_differ_idea: TStringField;
  323.     Generalinquiry_differ_persons: TStringField;
  324.     Generalinquiry_differ_date: TStringField;
  325.     Generalinquiry_dept_idea: TStringField;
  326.     Generalinquiry_dept_manager: TStringField;
  327.     Generalinquiry_dept_date: TStringField;
  328.     Generalpass_circs: TStringField;
  329.     Generalacct_remark: TStringField;
  330.     Generaloutflag: TIntegerField;
  331.     DeathDetailsysid: TStringField;
  332.     DeathDetailacct_sysid: TStringField;
  333.     DeathDetailacct_no: TStringField;
  334.     DeathDetailacct_date: TStringField;
  335.     DeathDetailno: TIntegerField;
  336.     DeathDetailname: TStringField;
  337.     DeathDetailsex: TStringField;
  338.     DeathDetailage: TStringField;
  339.     DeathDetailoccup: TStringField;
  340.     DeathDetailremark: TStringField;
  341.     DeathDetailoutflag: TIntegerField;
  342.     InquiryDetailsysid: TStringField;
  343.     InquiryDetailacct_sysid: TStringField;
  344.     InquiryDetailacct_no: TStringField;
  345.     InquiryDetailacct_date: TStringField;
  346.     InquiryDetailno: TIntegerField;
  347.     InquiryDetailname: TStringField;
  348.     InquiryDetailduty: TStringField;
  349.     InquiryDetailcompany: TStringField;
  350.     InquiryDetailtel: TStringField;
  351.     InquiryDetailoccup: TStringField;
  352.     InquiryDetailremark: TStringField;
  353.     InquiryDetailoutflag: TIntegerField;
  354.     LogDetailsysid: TStringField;
  355.     LogDetailacct_sysid: TStringField;
  356.     LogDetailacct_no: TStringField;
  357.     LogDetailacct_date: TStringField;
  358.     LogDetailwork_date: TStringField;
  359.     LogDetailwork_content: TStringField;
  360.     LogDetailremark: TStringField;
  361.     LogDetailgzdw: TStringField;
  362.     LogDetailoutflag: TIntegerField;
  363.     DevPurposeid: TStringField;
  364.     DevPurposecode: TStringField;
  365.     DevPurposename: TStringField;
  366.     DevPurposeoutflag: TIntegerField;
  367.     DevKindid: TStringField;
  368.     DevKindparent_id: TStringField;
  369.     DevKindname: TStringField;
  370.     DevKindcode_level: TStringField;
  371.     DevKindcode: TStringField;
  372.     DevKindoutflag: TIntegerField;
  373.     DevCategoryid: TStringField;
  374.     DevCategoryparent_id: TStringField;
  375.     DevCategoryname: TStringField;
  376.     DevCategorycode_level: TStringField;
  377.     DevCategorycode: TStringField;
  378.     DevCategoryoutflag: TIntegerField;
  379.     DevSortid: TStringField;
  380.     DevSortparent_id: TStringField;
  381.     DevSortname: TStringField;
  382.     DevSortcode_level: TStringField;
  383.     DevSortcode: TStringField;
  384.     DevSortoutflag: TIntegerField;
  385.     AcctKindid: TStringField;
  386.     AcctKindcode: TStringField;
  387.     AcctKindname: TStringField;
  388.     AcctKindoutflag: TIntegerField;
  389.     AcctReasonid: TStringField;
  390.     AcctReasoncode: TStringField;
  391.     AcctReasonname: TStringField;
  392.     AcctReasonoutflag: TIntegerField;
  393.     ReasonDetailid: TStringField;
  394.     ReasonDetailcode: TStringField;
  395.     ReasonDetailname: TStringField;
  396.     ReasonDetailoutflag: TIntegerField;
  397.     AcctTypeid: TStringField;
  398.     AcctTypecode: TStringField;
  399.     AcctTypename: TStringField;
  400.     AcctTypeoutflag: TIntegerField;
  401.     AcctCharid: TStringField;
  402.     AcctCharcode: TStringField;
  403.     AcctCharname: TStringField;
  404.     AcctCharoutflag: TIntegerField;
  405.     Panel29: TPanel;
  406.     StaticText1: TStaticText;
  407.     StaticText2: TStaticText;
  408.     eSpotPhoto1: TdxDBGraphicEdit;
  409.     eSpotPhoto2: TdxDBGraphicEdit;
  410.     eSpotPhoto3: TdxDBGraphicEdit;
  411.     eSpotPhoto4: TdxDBGraphicEdit;
  412.     eInquiryDifferPersons: TDBEditEh;
  413.     deInquiryDifferDate: TCSdxDBDateEdit;
  414.     eInquiryDeptManager: TDBEditEh;
  415.     eInquiryManager: TDBEditEh;
  416.     ListFind: TCSDBdxGrdFind;
  417.     ListFilter: TCSADOdxGrdFilter;
  418.     ListColCtrl: TCSdxGrdColCtrl;
  419.     Generaldev_diagram_type: TStringField;
  420.     Generalstate: TIntegerField;
  421.     procedure FormCreate(Sender: TObject);
  422.     procedure bbtnCloseClick(Sender: TObject);
  423.     procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  424.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  425.     procedure lcmbProvinceKeyValueChanged(Sender: TObject);
  426.     procedure lcmbCityKeyValueChanged(Sender: TObject);
  427.     procedure DeathDetailAfterInsert(DataSet: TDataSet);
  428.     procedure GeneralAfterInsert(DataSet: TDataSet);
  429.     procedure InquiryDetailAfterInsert(DataSet: TDataSet);
  430.     procedure LogDetailAfterInsert(DataSet: TDataSet);
  431.     procedure bbtnAddDeathDetailClick(Sender: TObject);
  432.     procedure bbtnAddInquiryDetailClick(Sender: TObject);
  433.     procedure bbtnAddLogDetailClick(Sender: TObject);
  434.     procedure bbtnDeleteLogDetailClick(Sender: TObject);
  435.     procedure bbtnDeleteInquiryDetailClick(Sender: TObject);
  436.     procedure bbtnDeleteDeathDetailClick(Sender: TObject);
  437.     procedure bbtnListFindClick(Sender: TObject);
  438.     procedure bbtnListFilterClick(Sender: TObject);
  439.     procedure bbtnListColumnClick(Sender: TObject);
  440.     procedure bbtnSaveClick(Sender: TObject);
  441.     procedure bbtnCancelClick(Sender: TObject);
  442.     procedure bbtnConfirmClick(Sender: TObject);
  443.     procedure eSpotPhoto1AssignPicture(Sender: TObject;
  444.       var Picture: TPicture);
  445.     procedure eSpotPhoto1GetGraphicClass(Sender: TObject;
  446.       var GraphicClass: TGraphicClass);
  447.     procedure eSpotPhoto2AssignPicture(Sender: TObject;
  448.       var Picture: TPicture);
  449.     procedure eSpotPhoto3AssignPicture(Sender: TObject;
  450.       var Picture: TPicture);
  451.     procedure eSpotPhoto4AssignPicture(Sender: TObject;
  452.       var Picture: TPicture);
  453.     procedure eSpotPhoto2GetGraphicClass(Sender: TObject;
  454.       var GraphicClass: TGraphicClass);
  455.     procedure eSpotPhoto3GetGraphicClass(Sender: TObject;
  456.       var GraphicClass: TGraphicClass);
  457.     procedure eSpotPhoto4GetGraphicClass(Sender: TObject;
  458.       var GraphicClass: TGraphicClass);
  459.     procedure eDevDiagramAssignPicture(Sender: TObject;
  460.       var Picture: TPicture);
  461.     procedure eDevDiagramGetGraphicClass(Sender: TObject;
  462.       var GraphicClass: TGraphicClass);
  463.   private
  464.     Fs_CurOrganId, Fs_CurCertId: string;
  465.     Fb_DataModified, Fb_GeneralChanged, Fb_DetailChanged,
  466.     Fb_DisableSetChange: Boolean;
  467.     Fs_ACGeneralId, Fs_ACAcctNo, Fs_PrevBWCustomId: string;
  468.     function prif_CheckSaved: Boolean;
  469.     function prif_Save: Boolean;
  470.     function prif_Validate: Boolean;
  471.     function prif_GenerateAcctNo: string;
  472.     procedure prip_Reset;
  473.     procedure prip_AfterEdit(DataSet: TDataSet);
  474.     procedure prip_Cancel;
  475.     procedure prip_Confirm;
  476.     procedure prip_IniData;
  477.     procedure prip_GetDevKind;
  478.     procedure prip_GetAcctKind;
  479.     procedure prip_GetAddressKind;
  480.     procedure prip_GetGeneralData;
  481.     procedure prip_GetDetailData;
  482.     procedure prip_RefreshCity;
  483.     procedure prip_RefreshBorough;
  484.     procedure prip_AddGeneral;
  485.     procedure prip_AddDeathDetail;
  486.     procedure prip_AddInquiryDetail;
  487.     procedure prip_AddLogDetail;
  488.     procedure prip_DeleteDeathDetail;
  489.     procedure prip_DeleteInquiryDetail;
  490.     procedure prip_DeleteLogDetail;
  491.     function prif_CheckBlank(Ac_DataSet: TDataSet;
  492.       Ac_Fields: array of TField): Boolean;
  493.   protected
  494.     Rs_BeginWorkReport, Rs_DetailTableName, Rs_CustomIdHead,
  495.     Rs_DevCodeId: string;
  496.    public
  497.     procedure pubp_Ini(const Ai_ActMode: Integer; Ac_Args: TStrings);
  498.     property DataModified: Boolean read Fb_DataModified;
  499.     property ACGeneralId: string read Fs_ACGeneralId;
  500.   end;
  501.  
  502. var
  503.   frmAcctManage: TfrmAcctManage;
  504.  
  505. implementation
  506.  
  507. uses
  508.   Jpeg, udmData, CommonLib;
  509.  
  510. const
  511.   SAVE_STATE = 0;
  512.   CONFIRM_STATE = 1;
  513.  
  514. {$R *.dfm}
  515.  
  516. { TfrmAcctManage }
  517.  
  518. procedure TfrmAcctManage.FormCreate(Sender: TObject);
  519. begin
  520.   Fb_DataModified := False;
  521.   Fb_GeneralChanged := False;
  522.   Fb_DetailChanged := False;
  523.   Fb_DisableSetChange := False;
  524.   Fs_ACGeneralId := '';
  525.   Fs_PrevBWCustomId := '';
  526.   Fs_CurOrganId := '';
  527.   Fs_CurCertId := '';
  528. end;
  529.  
  530. procedure TfrmAcctManage.bbtnCloseClick(Sender: TObject);
  531. begin
  532.   close;
  533. end;
  534.  
  535. procedure TfrmAcctManage.FormCloseQuery(Sender: TObject;
  536.   var CanClose: Boolean);
  537. begin
  538.   CanClose := prif_CheckSaved;
  539. end;
  540.  
  541. procedure TfrmAcctManage.FormClose(Sender: TObject;
  542.   var Action: TCloseAction);
  543. begin
  544.   Action := caHide;
  545. end;
  546.  
  547. function TfrmAcctManage.prif_CheckSaved: Boolean;
  548. var
  549.   li_Result: Integer;
  550.   lc_PrevActive: TWinControl;
  551. begin
  552.   Result := True;
  553.  
  554.   if ActiveControl <> bbtnClose then
  555.   begin
  556.     lc_PrevActive := ActiveControl;
  557.     ActiveControl := bbtnClose;
  558.     ActiveControl := lc_PrevActive;
  559.   end;
  560.  
  561.   if Fb_GeneralChanged or Fb_DetailChanged then
  562.   begin
  563.     li_Result := Application.MessageBox('数据尚未保存,是否要保存数据?',
  564.       PChar(Caption), MB_YESNOCANCEL + MB_ICONQUESTION);
  565.     case li_Result of
  566.       IDYES: Result := prif_Save;
  567.       IDNO:
  568.         begin
  569.           DeathDetail.CancelBatch;
  570.           InquiryDetail.CancelBatch;
  571.           LogDetail.CancelBatch;
  572.           General.Cancel;
  573.           Result := True;
  574.         end;
  575.       IDCANCEL: Result := False;
  576.     end;
  577.   end;
  578. end;
  579.  
  580. function TfrmAcctManage.prif_Save: Boolean;
  581. var
  582.   lb_DetailUpdated: Boolean;
  583. begin
  584.   Result := False;
  585.  
  586.   if not prif_Validate then Exit;
  587.  
  588.   lb_DetailUpdated := False;
  589.   Gp_ProgressHint('正在保存数据,请稍候...');
  590.   dmData.adocon.BeginTrans;
  591.   try
  592.     with General do
  593.     begin
  594.       if State <> dsBrowse then Post;
  595.       Fb_DisableSetChange := True;
  596.     end;
  597.  
  598.     with DeathDetail do
  599.     begin
  600.       if State <> dsBrowse then Post;
  601.       UpdateBatch;
  602.       lb_DetailUpdated := True;
  603.     end;
  604.  
  605.     with InquiryDetail do
  606.     begin
  607.       if State <> dsBrowse then Post;
  608.       UpdateBatch;
  609.       lb_DetailUpdated := True;
  610.     end;
  611.  
  612.     with LogDetail do
  613.     begin
  614.       if State <> dsBrowse then Post;
  615.       UpdateBatch;
  616.       lb_DetailUpdated := True;
  617.     end;
  618.  
  619.     dmData.adocon.CommitTrans;
  620.  
  621.     Fb_GeneralChanged := False;
  622.     Fb_DetailChanged := False;
  623.     bbtnSave.Enabled := False;
  624.     bbtnCancel.Enabled := False;
  625.  
  626.     Result := True;
  627.   except
  628.     on E: Exception do
  629.     begin
  630.       dmData.adocon.RollbackTrans;
  631.       try
  632.         with General do
  633.         begin
  634.           if State = dsBrowse then Requery;
  635.           if IsEmpty then prip_AddGeneral;
  636.         end;
  637.         if lb_DetailUpdated then prip_GetDetailData;
  638.       except
  639.       end;
  640.       Application.MessageBox(PChar('执行保存时出错,错误原因:' + E.Message),
  641.         PChar(Caption), MB_OK + MB_ICONERROR);
  642.     end;
  643.   end;
  644.   Gp_ProgressHint;
  645. end;
  646.  
  647. function TfrmAcctManage.prif_Validate: Boolean;
  648. begin
  649.   with General do
  650.   begin
  651.     Result := prif_CheckBlank(General, [FieldByName('acct_com'),FieldByName('acct_reg_no'),
  652.                 FieldByName('province_id') ,FieldByName('city_id') ,
  653.                 FieldByName('borough_id') ,FieldByName('town') ,
  654.                 FieldByName('acct_address') ,FieldByName('acct_date') ,
  655.                 FieldByName('dev_name') ,FieldByName('dev_type') ,
  656.                 FieldByName('dev_purpose_id') ,FieldByName('dev_kind_id') ,
  657.                 FieldByName('dev_category_id') ,FieldByName('dev_sort_id') ,
  658.                 FieldByName('manu_com') ,FieldByName('inst_com') ,
  659.                 FieldByName('design_com') ,FieldByName('verify_com') ,
  660.                 FieldByName('acct_kind_id') ,FieldByName('acct_reason_id') ,
  661.                 FieldByName('reason_detail_id') ,FieldByName('acct_type_id') ,
  662.                 FieldByName('acct_char_id') ]);
  663.     if not Result then Exit;
  664.  
  665.     Edit;
  666.     FieldValues['province'] := Province.FieldValues['name'];
  667.     FieldValues['city'] := City.FieldValues['name'];
  668.     FieldValues['borough'] := Borough.FieldValues['name'];
  669.     FieldValues['dev_purpose'] := DevPurpose.FieldValues['name'];
  670.     FieldValues['dev_kind'] := DevKind.FieldValues['name'];
  671.     FieldValues['dev_category'] := DevCategory.FieldValues['name'];
  672.     FieldValues['dev_sort'] := DevSort.FieldValues['name'];
  673.     FieldValues['acct_kind'] := AcctKind.FieldValues['name'];
  674.     FieldValues['acct_reason'] := AcctReason.FieldValues['name'];
  675.     FieldValues['reason_detail'] := ReasonDetail.FieldValues['name'];
  676.     FieldValues['acct_type'] := AcctType.FieldValues['name'];
  677.     FieldValues['acct_char'] := AcctChar.FieldValues['name'];
  678.  
  679.     if DeathDetail.IsEmpty then
  680.     begin
  681.       Result := False;
  682.       Application.MessageBox('没有输入事故死亡情况一览表,不能保存。',
  683.         PChar(Caption), MB_OK + MB_ICONWARNING);
  684.       Exit;
  685.     end;
  686.  
  687.     if InquiryDetail.IsEmpty then
  688.     begin
  689.       Result := False;
  690.       Application.MessageBox('没有输入事故调查组成员一览表,不能保存。',
  691.         PChar(Caption), MB_OK + MB_ICONWARNING);
  692.       Exit;
  693.     end;
  694.  
  695.     if LogDetail.IsEmpty then
  696.     begin
  697.       Result := False;
  698.       Application.MessageBox('没有输入事故调查工作情况记载,不能保存。',
  699.         PChar(Caption), MB_OK + MB_ICONWARNING);
  700.       Exit;
  701.     end;
  702.  
  703.   end;
  704. end;
  705.  
  706. procedure TfrmAcctManage.prip_IniData;
  707. begin
  708.   prip_GetDevKind;
  709.   prip_GetAcctKind;
  710.   prip_GetAddressKind;
  711.   prip_GetGeneralData;
  712.   prip_GetDetailData;
  713. end;
  714.  
  715. procedure TfrmAcctManage.pubp_Ini(const Ai_ActMode: Integer;
  716.   Ac_Args: TStrings);
  717. begin
  718.   ScrChild.SetSecurity(Self);
  719.   try
  720.     Gp_ProgressHint(Format('正在打开%s,请稍候...', [Caption]));
  721.     prip_IniData;
  722.   finally
  723.     Gp_ProgressHint;
  724.   end;
  725. end;
  726.  
  727. procedure TfrmAcctManage.prip_GetAcctKind;
  728. begin
  729.   with AcctKind do
  730.   begin
  731.     if not Active then Close;
  732.     SQL.Text := 'select * from device.code_acct_kind';
  733.     Open;
  734.   end;
  735.  
  736.   with AcctReason do
  737.   begin
  738.     if not Active then Close;
  739.     SQL.Text := 'select * from device.code_acct_reason';
  740.     Open;
  741.   end;
  742.  
  743.   with ReasonDetail do
  744.   begin
  745.     if not Active then Close;
  746.     SQL.Text := 'select * from device.code_acct_reasondetail';
  747.     Open;
  748.   end;
  749.  
  750.   with AcctType do
  751.   begin
  752.     if not Active then Close;
  753.     SQL.Text := 'select * from device.code_acct_type';
  754.     Open;
  755.   end;
  756.  
  757.   with AcctChar do
  758.   begin
  759.     if not Active then Close;
  760.     SQL.Text := 'select * from device.code_acct_char';
  761.     Open;
  762.   end;
  763. end;
  764.  
  765. procedure TfrmAcctManage.prip_GetAddressKind;
  766. begin
  767.   with Province do
  768.   begin
  769.     if Active then Close;
  770.     SQL.Text := Format('SELECT * FROM device.code_area WHERE ' +
  771.       'code LIKE ''%s'' AND code_level = %d', [TOPAREACODE, PROVINCELEVEL]);
  772.     Open;
  773.   end;
  774.  
  775.   with City do
  776.   begin
  777.     if Active then Close;
  778.     SQL.Text := Format('SELECT * FROM device.code_area WHERE code_level = %d',
  779.       [CITYLEVEL]);
  780.     Open;
  781.   end;
  782.  
  783.   with Borough do
  784.   begin
  785.     if Active then Close;
  786.     SQL.Text := Format('SELECT * FROM device.code_area WHERE code_level in ' +
  787.       '(%d, %d)', [BOROUTHLEVEL, RESERVEDLEVEL]);
  788.     Open;
  789.   end;
  790. end;
  791.  
  792. procedure TfrmAcctManage.prip_GetDevKind;
  793. begin
  794. //ToDo 与取设备种类等的相关操作
  795. end;
  796.  
  797. procedure TfrmAcctManage.prip_GetDetailData;
  798. begin
  799.   with DeathDetail do
  800.   begin
  801.     if not Active then Close;
  802.     SQL.Text := 'select * from device.acct_death_info';
  803.     Open;
  804.   end;
  805.  
  806.   with InquiryDetail do
  807.   begin
  808.     if not Active then Close;
  809.     SQL.Text := 'select * from device.acct_inquiry_info';
  810.     Open;
  811.   end;
  812.  
  813.   with LogDetail do
  814.   begin
  815.     if not Active then Close;
  816.     SQL.Text := 'select * from device.acct_log_info';
  817.     Open;
  818.   end;
  819. end;
  820.  
  821. procedure TfrmAcctManage.prip_GetGeneralData;
  822. begin
  823.   with General do
  824.   begin
  825.     if not Active then Close;
  826.     SQL.Text := 'select * from device.acct_info';
  827.     Open;
  828.   end;
  829. end;
  830.  
  831. procedure TfrmAcctManage.prip_RefreshBorough;
  832. var
  833.   ls_CityId: string;
  834. begin
  835.   with General do
  836.     if State = dsBrowse then ls_CityId := VarToStr(FieldValues['city_id'])
  837.     else begin
  838.       ls_CityId := VarToStr(lcmbCity.Value);
  839.       FieldByName('borough_id').Clear;
  840.     end;
  841.  
  842.   with Borough do
  843.   begin
  844.     if Active then Close;
  845.     SQL.Text := Format('SELECT * FROM device.code_area WHERE ' +
  846.       'parent_id = ''%s''', [ls_CityId]);
  847.     Open;
  848.   end;
  849. end;
  850.  
  851. procedure TfrmAcctManage.prip_RefreshCity;
  852. var
  853.   ls_ProvinceId: string;
  854. begin
  855.   with General do
  856.     if State = dsBrowse then
  857.       ls_ProvinceId := VarToStr(FieldValues['province_id'])
  858.     else begin
  859.       ls_ProvinceId := VarToStr(lcmbProvince.Value);
  860.       FieldByName('city_id').Clear;
  861.     end;
  862.  
  863.   with City do
  864.   begin
  865.     if Active then Close;
  866.     SQL.Text := Format('SELECT * FROM device.code_area WHERE ' +
  867.       'parent_id = ''%s''', [ls_ProvinceId]);
  868.     Open;
  869.   end;
  870. end;
  871.  
  872. procedure TfrmAcctManage.lcmbProvinceKeyValueChanged(Sender: TObject);
  873. begin
  874.   prip_RefreshCity;
  875. end;
  876.  
  877. procedure TfrmAcctManage.lcmbCityKeyValueChanged(Sender: TObject);
  878. begin
  879.   prip_RefreshBorough;
  880. end;
  881.  
  882. procedure TfrmAcctManage.DeathDetailAfterInsert(DataSet: TDataSet);
  883. begin
  884.   with DataSet do
  885.   begin
  886.     FieldByName('sysid').AsString := Gf_GenSysId;
  887.     FieldByName('acct_sysid').AsString := Fs_ACGeneralId;
  888.     FieldByName('acct_no').AsString := Fs_ACAcctNo;
  889.   end;
  890.   prip_AfterEdit(DataSet);
  891. end;
  892.  
  893. procedure TfrmAcctManage.GeneralAfterInsert(DataSet: TDataSet);
  894. begin
  895.   Fs_ACGeneralId := Gf_GenSysId;
  896.   Fs_ACAcctNo := prif_GenerateAcctNo;
  897.   with DataSet do
  898.   begin
  899.     FieldByName('sysid').AsString := ACGeneralId;
  900.     FieldByName('acct_no').AsString := Fs_ACAcctNo;
  901.   end;
  902. end;
  903.  
  904. procedure TfrmAcctManage.prip_AfterEdit(DataSet: TDataSet);
  905. begin
  906.   if Fb_DisableSetChange then Exit;
  907.  
  908.   if DataSet = General then Fb_GeneralChanged := True;
  909.   if DataSet = DeathDetail then Fb_DetailChanged := True;
  910.   if DataSet = InquiryDetail then Fb_DetailChanged := True;
  911.   if DataSet = LogDetail then Fb_DetailChanged := True;
  912.   if not bbtnSave.Enabled then bbtnSave.Enabled := True;
  913.   if not bbtnCancel.Enabled then bbtnCancel.Enabled := True;
  914. end;
  915.  
  916. procedure TfrmAcctManage.prip_AddDeathDetail;
  917. begin
  918.   with General do if not IsEmpty then DeathDetail.Append;
  919. end;
  920.  
  921. procedure TfrmAcctManage.prip_AddGeneral;
  922. begin
  923.   with General do
  924.   begin
  925.     Fb_DisableSetChange := True;
  926.     try
  927.       Append;
  928.     finally
  929.       Fb_DisableSetChange := False;
  930.     end;
  931.   end;
  932. end;
  933.  
  934. procedure TfrmAcctManage.prip_AddInquiryDetail;
  935. begin
  936.   with General do if not IsEmpty then InquiryDetail.Append;
  937. end;
  938.  
  939. procedure TfrmAcctManage.prip_AddLogDetail;
  940. begin
  941.   with General do if not IsEmpty then LogDetail.Append;
  942. end;
  943.  
  944. procedure TfrmAcctManage.InquiryDetailAfterInsert(DataSet: TDataSet);
  945. begin
  946.   with DataSet do
  947.   begin
  948.     FieldByName('sysid').AsString := Gf_GenSysId;
  949.     FieldByName('acct_sysid').AsString := Fs_ACGeneralId;
  950.     FieldByName('acct_no').AsString := Fs_ACAcctNo;
  951.   end;
  952.   prip_AfterEdit(DataSet);
  953. end;
  954.  
  955. procedure TfrmAcctManage.LogDetailAfterInsert(DataSet: TDataSet);
  956. begin
  957.   with DataSet do
  958.   begin
  959.     FieldByName('sysid').AsString := Gf_GenSysId;
  960.     FieldByName('acct_sysid').AsString := Fs_ACGeneralId;
  961.     FieldByName('acct_no').AsString := Fs_ACAcctNo;
  962.   end;
  963.   prip_AfterEdit(DataSet);
  964. end;
  965.  
  966. procedure TfrmAcctManage.bbtnAddDeathDetailClick(Sender: TObject);
  967. begin
  968.   prip_AddDeathDetail;
  969. end;
  970.  
  971. procedure TfrmAcctManage.bbtnAddInquiryDetailClick(Sender: TObject);
  972. begin
  973.   prip_AddInquiryDetail;
  974. end;
  975.  
  976. procedure TfrmAcctManage.bbtnAddLogDetailClick(Sender: TObject);
  977. begin
  978.   prip_AddLogDetail;
  979. end;
  980.  
  981. procedure TfrmAcctManage.bbtnDeleteLogDetailClick(Sender: TObject);
  982. begin
  983.   prip_DeleteLogDetail;
  984. end;
  985.  
  986. procedure TfrmAcctManage.bbtnDeleteInquiryDetailClick(Sender: TObject);
  987. begin
  988.   prip_DeleteInquiryDetail;
  989. end;
  990.  
  991. procedure TfrmAcctManage.bbtnDeleteDeathDetailClick(Sender: TObject);
  992. begin
  993.   prip_DeleteDeathDetail;
  994. end;
  995.  
  996. procedure TfrmAcctManage.prip_DeleteDeathDetail;
  997. begin
  998.   with DeathDetail do if not IsEmpty then Delete;
  999. end;
  1000.  
  1001. procedure TfrmAcctManage.prip_DeleteInquiryDetail;
  1002. begin
  1003.   with InquiryDetail do if not IsEmpty then Delete;
  1004. end;
  1005.  
  1006. procedure TfrmAcctManage.prip_DeleteLogDetail;
  1007. begin
  1008.   with LogDetail do if not IsEmpty then Delete;
  1009. end;
  1010.  
  1011. procedure TfrmAcctManage.bbtnListFindClick(Sender: TObject);
  1012. begin
  1013.   ListFind.FindDlg;
  1014. end;
  1015.  
  1016. procedure TfrmAcctManage.bbtnListFilterClick(Sender: TObject);
  1017. begin
  1018.   ListFilter.FilterDlg;
  1019. end;
  1020.  
  1021. procedure TfrmAcctManage.bbtnListColumnClick(Sender: TObject);
  1022. begin
  1023.   with ListColCtrl do
  1024.   begin
  1025.     InitColumns;
  1026.     SetupDlg;
  1027.   end;
  1028. end;
  1029.  
  1030. procedure TfrmAcctManage.bbtnSaveClick(Sender: TObject);
  1031. begin
  1032.   prif_Save;
  1033. end;
  1034.  
  1035. procedure TfrmAcctManage.bbtnCancelClick(Sender: TObject);
  1036. begin
  1037.   prip_Cancel;
  1038. end;
  1039.  
  1040. procedure TfrmAcctManage.bbtnConfirmClick(Sender: TObject);
  1041. begin
  1042.   prip_Confirm;
  1043. end;
  1044.  
  1045. procedure TfrmAcctManage.prip_Cancel;
  1046. begin
  1047.   Gp_ProgressHint('正在取消,请稍候...');
  1048.   try
  1049.     DeathDetail.CancelBatch;
  1050.     InquiryDetail.CancelBatch;
  1051.     LogDetail.CancelBatch;
  1052.     with General do
  1053.     begin
  1054.       if State <> dsBrowse then Cancel;
  1055.       if IsEmpty then prip_AddGeneral;
  1056.     end;
  1057.     prip_GetDetailData;
  1058.     prip_Reset;
  1059.   finally
  1060.     Gp_ProgressHint;
  1061.   end;
  1062. end;
  1063.  
  1064. procedure TfrmAcctManage.prip_Confirm;
  1065. begin
  1066.   if Application.MessageBox('是否真的要执行确认?', PChar(Caption),
  1067.     MB_YESNO + MB_ICONQUESTION) = IDNO then Exit;
  1068.  
  1069.   if not prif_Save then Exit;
  1070.  
  1071.   Gp_ProgressHint('正在执行确认,请稍候...');
  1072.   try
  1073.     with General do
  1074.     begin
  1075.       Fb_DisableSetChange := True;
  1076.       try
  1077.         Edit;
  1078.         FieldByName('state').AsInteger := CONFIRM_STATE;
  1079.         Post;
  1080.       finally
  1081.         Fb_DisableSetChange := False;
  1082.       end;
  1083.       Fb_DataModified := True;
  1084.     end;
  1085.     Gp_ProgressHint;
  1086.     Close;
  1087.   except
  1088.     on E: Exception do
  1089.     begin
  1090.       Gp_ProgressHint;
  1091.       Application.MessageBox(PChar('执行确认时出错,错误原因:' + E.Message),
  1092.         PChar(Caption), MB_OK + MB_ICONERROR);
  1093.     end;
  1094.   end;
  1095. end;
  1096.  
  1097. procedure TfrmAcctManage.eSpotPhoto1AssignPicture(Sender: TObject;
  1098.   var Picture: TPicture);
  1099. begin
  1100.   with General, Picture do
  1101.   begin
  1102.     Edit;
  1103.     if Graphic = nil then FieldByName('pic_type1').Clear
  1104.     else FieldByName('pic_type1').AsString := Graphic.ClassName;
  1105.   end;
  1106. end;
  1107.  
  1108. procedure TfrmAcctManage.eSpotPhoto1GetGraphicClass(Sender: TObject;
  1109.   var GraphicClass: TGraphicClass);
  1110. begin
  1111.   with General.FieldByName('pic_type1') do
  1112.     if IsNull then Exit else GraphicClass := TGraphicClass(GetClass(AsString));
  1113. end;
  1114.  
  1115. procedure TfrmAcctManage.eSpotPhoto2AssignPicture(Sender: TObject;
  1116.   var Picture: TPicture);
  1117. begin
  1118.   with General, Picture do
  1119.   begin
  1120.     Edit;
  1121.     if Graphic = nil then FieldByName('pic_type2').Clear
  1122.     else FieldByName('pic_type2').AsString := Graphic.ClassName;
  1123.   end;
  1124. end;
  1125.  
  1126. procedure TfrmAcctManage.eSpotPhoto3AssignPicture(Sender: TObject;
  1127.   var Picture: TPicture);
  1128. begin
  1129.   with General, Picture do
  1130.   begin
  1131.     Edit;
  1132.     if Graphic = nil then FieldByName('pic_type3').Clear
  1133.     else FieldByName('pic_type3').AsString := Graphic.ClassName;
  1134.   end;
  1135. end;
  1136.  
  1137. procedure TfrmAcctManage.eSpotPhoto4AssignPicture(Sender: TObject;
  1138.   var Picture: TPicture);
  1139. begin
  1140.   with General, Picture do
  1141.   begin
  1142.     Edit;
  1143.     if Graphic = nil then FieldByName('pic_type4').Clear
  1144.     else FieldByName('pic_type4').AsString := Graphic.ClassName;
  1145.   end;
  1146. end;
  1147.  
  1148. procedure TfrmAcctManage.eSpotPhoto2GetGraphicClass(Sender: TObject;
  1149.   var GraphicClass: TGraphicClass);
  1150. begin
  1151.   with General.FieldByName('pic_type2') do
  1152.     if IsNull then Exit else GraphicClass := TGraphicClass(GetClass(AsString));
  1153. end;
  1154.  
  1155. procedure TfrmAcctManage.eSpotPhoto3GetGraphicClass(Sender: TObject;
  1156.   var GraphicClass: TGraphicClass);
  1157. begin
  1158.   with General.FieldByName('pic_type3') do
  1159.     if IsNull then Exit else GraphicClass := TGraphicClass(GetClass(AsString));
  1160. end;
  1161.  
  1162. procedure TfrmAcctManage.eSpotPhoto4GetGraphicClass(Sender: TObject;
  1163.   var GraphicClass: TGraphicClass);
  1164. begin
  1165.   with General.FieldByName('pic_type4') do
  1166.     if IsNull then Exit else GraphicClass := TGraphicClass(GetClass(AsString));
  1167. end;
  1168.  
  1169. procedure TfrmAcctManage.prip_Reset;
  1170. begin
  1171.   Fb_GeneralChanged := False;
  1172.   Fb_DetailChanged := False;
  1173.   bbtnSave.Enabled := False;
  1174.   bbtnCancel.Enabled := False;
  1175. end;
  1176.  
  1177. function TfrmAcctManage.prif_CheckBlank(Ac_DataSet: TDataSet;
  1178.   Ac_Fields: array of TField): Boolean;
  1179. var
  1180.   li_i: Integer;
  1181. begin
  1182.   Result := True;
  1183.   with Ac_DataSet do
  1184.     for li_i := 0 to Length(Ac_Fields) - 1 do
  1185.       if Trim(VarToStr(Ac_Fields[li_i].Value)) = '' then
  1186.       begin
  1187.         Result := False;
  1188.         Application.MessageBox(PChar(Ac_Fields[li_i].DisplayLabel +
  1189.           '不能为空。'), PChar(Caption), MB_OK + MB_ICONWARNING);
  1190.         Ac_Fields[li_i].FocusControl;
  1191.         Exit;
  1192.       end;
  1193. end;
  1194.  
  1195. function TfrmAcctManage.prif_GenerateAcctNo: string;
  1196. begin
  1197. //ToDo 得到AcctNo的值
  1198. end;
  1199.  
  1200. procedure TfrmAcctManage.eDevDiagramAssignPicture(Sender: TObject;
  1201.   var Picture: TPicture);
  1202. begin
  1203.   with General, Picture do
  1204.   begin
  1205.     Edit;
  1206.     if Graphic = nil then FieldByName('dev_diagram_type').Clear
  1207.     else FieldByName('dev_diagram_type').AsString := Graphic.ClassName;
  1208.   end;
  1209. end;
  1210.  
  1211. procedure TfrmAcctManage.eDevDiagramGetGraphicClass(Sender: TObject;
  1212.   var GraphicClass: TGraphicClass);
  1213. begin
  1214.   with General.FieldByName('dev_diagram_type') do
  1215.     if IsNull then Exit else GraphicClass := TGraphicClass(GetClass(AsString));
  1216. end;
  1217.  
  1218. initialization
  1219.  
  1220. RegisterClasses([TIcon, TMetafile, TBitmap, TJPEGImage]);
  1221.  
  1222. end.
  1223.  
downloadufrmAcctManage.pas Source code - Download Special equipment safety supervision system in Delphi source code Source code
Related Source Codes/Software:
Company or enterprise equipment management system for Delphi source code - DELPHI tool registration management system, key fe... 2012-02-18
Delphi gets directory and subdirectory files - This small Delphi program not only can get the num... 2012-02-18
Delphi medical proof of registration management system - Delphi medical proof of registration management sy... 2012-02-18
Delphi Edition music player source code - A Delphi version of the music player code, availab... 2012-02-18
Screen magnifier Delphi implementation - You can enlarge the screen, scale up. 2012-02-18
Delphi based on CnPack water wave effect - Is based on component CnPack component wave algori... 2012-02-18
Several instances of DELPHI advanced programming - Package contains 10 sets of advanced programming e... 2012-02-18
Delphi materials building materials companies leasing management system - Delphi leasing company material management system ... 2012-02-18
Cell of the report component for Delphi example source program - UFIDA table company developed a report component, ... 2012-02-18
Using Delphi to achieve control of the camera - This procedure describes how to use DELPHI AVICAP3... 2012-02-18
Delphi car rental company business management system - A car rental company's business management systems... 2012-02-18
Delphi major revision of the human resources management system source code - RedHR owned a large OFFICE of human resources mana... 2012-02-18
DELPHI pawn industry management system source code - Pawn shop of an integrated business management sys... 2012-02-18
Cool interface Delphi chat software source code - Interface is really cool? This is a small LAN chat... 2012-02-18
Delphi shield Ctrl+Alt+Del reqijian method - Real shielding theory of Delphi is this: using a r... 2012-02-18
Classic RPG games with Delphi source code - The actual and Diablo game or scene is similar in ... 2012-02-18
35 Delphi7 Indy instance package - Application example demonstrates a lot of Indy Dem... 2012-02-18
Delphi transportation company business management system - A Delphi transportation company business managemen... 2012-02-18

 Back to top