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

📄 calcf.pas

📁 Delphi7从入门到精通及附书源码 Delphi7从入门到精通及附书源码
💻 PAS
字号:
unit CalcF;

interface

uses
  SysUtils, Windows, Classes, Graphics, Controls,
  StdCtrls, Forms, DBCtrls, DB, DBGrids, DBTables, Grids, ExtCtrls,
  DBClient;

type
  TCalcForm = class(TForm)
    DBGrid1: TDBGrid;
    DBNavigator: TDBNavigator;
    Panel1: TPanel;
    Panel2: TPanel;
    DataSource1: TDataSource;
    cds: TClientDataSet;
    cdsName: TStringField;
    cdsCapital: TStringField;
    cdsContinent: TStringField;
    cdsArea: TFloatField;
    cdsPopulation: TFloatField;
    cdsPopulationDensity: TFloatField;
    procedure FormCreate(Sender: TObject);
    procedure cdsCalcFields(DataSet: TDataset);
    procedure DBGrid1EditButtonClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  CalcForm: TCalcForm;

implementation

uses Dialogs;

{$R *.dfm}

procedure TCalcForm.FormCreate(Sender: TObject);
begin
  cds.Open;
end;

procedure TCalcForm.cdsCalcFields(DataSet: TDataset);
begin
  // plain version (very dangerous)
{  cdsPopulationDensity.Value :=
    cdsPopulation.Value / cdsArea.Value;}

  // version based on exceptions (ok)
{  try
    cdsPopulationDensity.Value :=
      cdsPopulation.Value / cdsArea.Value;
  except
    on Exception do
      cdsPopulationDensity.Value := 0;
  end;}

  // definitive version
  if not cdsArea.IsNull and
      (cdsArea.Value <> 0) then
    cdsPopulationDensity.Value :=
      cdsPopulation.Value / cdsArea.Value
  else
    cdsPopulationDensity.Value := 0;
end;

procedure TCalcForm.DBGrid1EditButtonClick(Sender: TObject);
begin
  MessageDlg (Format (
    'The population density (%.2n)'#13 +
    'is the Population (%.0n)'#13 +
    'devided by the Area (%.0n).'#13#13 +
    'Edit these two fields to change it.',
    [cdsPopulationDensity.AsFloat,
    cdsPopulation.AsFloat,
    cdsArea.AsFloat]),
    mtInformation, [mbOK], 0);
end;

end.

⌨️ 快捷键说明

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