知识大全 经典案例 财务管理系统(8)[2]

Posted

篇首语:即使道路坎坷不平,车轮也要前进;即使江河波涛汹涌,船只也航行。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 经典案例 财务管理系统(8)[2]相关的知识,希望对你有一定的参考价值。

  该窗体所要完成的任务是调用该dll的程序向窗体输入要链接的数据表的表名 当数据表链接成功后可以通过双击DBGrid的某栏向调用该窗体的程序返回表中的某一项值 并关闭窗体

  ( ) 为该窗体的设置处理代码如下

  unit dllForm;

  interface

  uses

  Windows Messages SysUtils Variants Classes Graphics Controls Forms

  Dialogs DB Grids DBGrids ADODB;

  type

  TdllSec = class(TForm)

  ADOTable : TADOTable;

  DBGrid : TDBGrid;

  DataSource : TDataSource;

  procedure DBGrid DblClick(Sender: TObject);

  procedure FormShow(Sender: TObject);

  private

   Private declarations

  public

   Public declarations

  end;

  //此函数负责取得当前应用程序的句柄并显示窗体 它是供外部调用的函数

  function showdllform(Ahandle:Thandle;Acaption:string;tablename:string):string;stdcall;

  var

  //用此变量向调用dll的程序返回值

  resultstr:string;

  implementation

  $R * dfm

  function showdllform(Ahandle:Thandle;Acaption:string;tablename:string):string;stdcall;

  var

  newform:Tdllsec;

  begin

  //取得句柄

  application Handle:=Ahandle;

  //建立窗体

  newform:=Tdllsec Create(application);

  newform Caption:=Acaption+ (双击选择) ;

  //建立数据库链接

  newform ADOTable TableName:=tablename;

  newform ADOTable Active:=true;

  //显示窗体

  try

  newform ShowModal;

  //返回双击所选择的结果

  result:=resultstr;

  //释放该窗体

  finally newform Free;

  end;

  end;

  // 双击选择数据栏返回数值

  procedure TdllSec DBGrid DblClick(Sender: TObject);

  begin

  resultstr:=dbgrid Fields[ ] Text;

  close;

  end;

  // 设置表宽度

  procedure TdllSec FormShow(Sender: TObject);

  var

  i:integer;

  begin

  for i:= to dbgrid FieldCount do

  dbgrid Columns[i] Width:= ;

  end;

  end

  此时按F 键运行该工程的话 就会得到如图 所示的信息

  图 直接运行dll得到的信息

  这是因为调试 dll时需要一个宿主程序 如果编译后直接运行 就会得到这个提示 解决这一问题需要写一个调用这个 dll的 exe程序 编译后将它的路径填到Run | Parameters菜单的Host app 输入条中

  但是实际上 如果直接按F 或编译允许DLL工程后 即便是弹出了上面的对话框 若读者浏览该工程所储存目录 就可以发现已经生成了一个sec dll动态链接库 这就是我们在下面的程序中要用到的DLL 就可以直接调用了

[ ]  [ ]  

cha138/Article/program/Delphi/201311/25024

相关参考

知识大全 经典案例 财务管理系统(2)[1]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  财务管理作为企业管理的组成部分与经济价值或财富的保值增值有关

知识大全 经典案例 财务管理系统(12)[2]

  //查询数据并显示  procedureTDocuInputBitBtnClick(Sender:TObject);  begin  adoqueryClose;  adoquerySQLClea

知识大全 经典案例 财务管理系统(15)[2]

  //为凭证录入分录表  procedureTDocuInputBitBtnClick(Sender:TObject);  begin  datasourceDataSetDelete;  end;

知识大全 经典案例 财务管理系统(9)[2]

  //设置关闭窗体的模式  procedureTSecSettingFormClose(Sender:TObject;varAction:TCloseAction);  begin  action:

知识大全 经典案例 财务管理系统(11)[2]

  //设置工具栏按钮  procedureTDocuInputSetToolBar(isEnable:bool);  begin  ifisEnable=truethen  begin  //将首记

知识大全 经典案例 财务管理系统(14)[2]

()设置凭证输入窗体的代码如下   public  Publicdeclarations  procedureSetToolBar(isEnable:bool);  procedureSum

知识大全 经典案例 财务管理系统(7)[2]

    ——此文章摘自《Delphi数据库开发经典案例解析》定价¥ 特价¥ 购买>>  para:Ttable;  functionFindForm

知识大全 经典案例 财务管理系统(13)[2]

  //初始化表的设置  procedureTSumAccountFormShow(Sender:TObject);  begin  //设置表格表头显示与宽度  stringgridCells[]:

知识大全 经典案例 财务管理系统(2)[2]

  这些方法反映了会计核算过程在会计核算过程中填制和审核会计凭证是开始环节登记会计帐簿是中间环节编制会计报表是终结环节在一个会计期间所发生的所有经济业务都要经这三个环节进行处理将大量的经济业务转换为系

知识大全 经典案例 财务管理系统(10)[2]

  ()试算平衡表和帐户设置窗体的的事件处理代码如下  //以下为试算平衡表的事件处理代码  private  Privatedeclarations  //统计计算是否平衡  proceduresu