cmoney.pas

来自「Delphi深度探索,Delphi深度探索(第二版)」· PAS 代码 · 共 85 行

PAS
85
字号
{-----------------------------------------------------------------------------
 Unit Name: CMoney
 Author:    hubdog(陈省)
 Email:     hubdog@263.net
 Purpose:   演示Bold开发的基本功能
 History:
            2003-6-28 创建本单元  
-----------------------------------------------------------------------------}


unit CMoney;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BoldAFPDefault, StdCtrls, BoldSubscription, BoldHandles,
  BoldRootedHandles, BoldAbstractListHandle, BoldCursorHandle,
  BoldListHandle, ExtCtrls, BoldNavigatorDefs, BoldNavigator, Grids,
  BoldGrid, Menus;

type
  TFormMain = class(TForm)
    blhPerson: TBoldListHandle;
    lblPerson: TLabel;
    bnPerson: TBoldNavigator;
    bgPerson: TBoldGrid;
    lblAcct: TLabel;
    bnAcct: TBoldNavigator;
    bgAcct: TBoldGrid;
    blhAcct: TBoldListHandle;
    lblAll: TLabel;
    blhAll: TBoldListHandle;
    bnAll: TBoldNavigator;
    bgAll: TBoldGrid;
    btnAmount: TButton;
    procedure bgAcctDrawCell(Sender: TObject; Canvas: TCanvas; ACol,
      ARow: Integer; Rect: TRect; State: TGridDrawState);
    procedure btnAmountClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FormMain: TFormMain;

implementation

uses CDataModule, MoneyClasses, udbg;

{$R *.dfm}

procedure TFormMain.bgAcctDrawCell(Sender: TObject; Canvas: TCanvas; ACol,
  ARow: Integer; Rect: TRect; State: TGridDrawState);
var
  AcctItem:TAcctItem;
begin
  debugger.LogString('className', bgAcct.BoldList.Elements[ARow-1].className);
  if bgAcct.BoldList.Elements[ARow-1] is TAcctItem then
  begin
    AcctItem:=TAcctItem(bgAcct.BoldList.Elements[ARow-1]);
    Canvas.FillRect(rect);
    if AcctItem.Amount>100 then
      Canvas.Font.Color:=clred
    else
      Canvas.Font.Color:=clblue;
    Canvas.TextOut(Rect.Left,Rect.Top, FloatTostr(AcctItem.Amount));
  end;
end;

procedure TFormMain.btnAmountClick(Sender: TObject);
var
  AMount:Currency;
begin
  if blhPerson.CurrentElement is TPerson then
  begin
    AMount:=(blhPerson.CurrentElement as TPerson).GetMonthAmount(2002, 12);
    ShowMessage(floattostr(AMount));
  end;
end;

end.

⌨️ 快捷键说明

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