CalcForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit CalcForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   Db, Grids, DBGrids, DBClient, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls,
  6.   Provider;
  7. type
  8.   TForm1 = class(TForm)
  9.     Table1: TTable;
  10.     ClientDataSet1: TClientDataSet;
  11.     DataSource1: TDataSource;
  12.     DBGrid1: TDBGrid;
  13.     ClientDataSet1Name: TStringField;
  14.     ClientDataSet1Capital: TStringField;
  15.     ClientDataSet1Continent: TStringField;
  16.     ClientDataSet1Area: TFloatField;
  17.     ClientDataSet1Population: TFloatField;
  18.     ClientDataSet1TotalArea: TAggregateField;
  19.     Panel1: TPanel;
  20.     Label2: TLabel;
  21.     DBEdit1: TDBEdit;
  22.     Button1: TButton;
  23.     Label1: TLabel;
  24.     DataSetProvider1: TDataSetProvider;
  25.     procedure Button1Click(Sender: TObject);
  26.     procedure ClientDataSet1ContinentGetText(Sender: TField;
  27.       var Text: String; DisplayText: Boolean);
  28.     procedure FormCreate(Sender: TObject);
  29.     procedure UpdateData(DataSet: TDataSet);
  30.   public
  31.     { Public declarations }
  32.   end;
  33. var
  34.   Form1: TForm1;
  35. implementation
  36. {$R *.DFM}
  37. procedure TForm1.Button1Click(Sender: TObject);
  38. begin
  39.   Label1.Caption :=
  40.     'Area: ' + ClientDataSet1TotalArea.DisplayText +
  41.     #13'Population : ' + FormatFloat ('###,###,###', ClientDataSet1.Aggregates [1].Value) +
  42.     #13'Number : ' + IntToStr (ClientDataSet1.Aggregates [0].Value);
  43. end;
  44. procedure TForm1.ClientDataSet1ContinentGetText(Sender: TField;
  45.   var Text: String; DisplayText: Boolean);
  46. begin
  47.   if gbFirst in ClientDataSet1.GetGroupState (1) then
  48.     Text := Sender.AsString
  49.   else
  50.     Text := '';
  51. end;
  52. procedure TForm1.FormCreate(Sender: TObject);
  53. begin
  54.   ClientDataSet1.Active := True;
  55. end;
  56. procedure TForm1.UpdateData(DataSet: TDataSet);
  57. begin
  58.   ClientDataSet1.ApplyUpdates(0);
  59. end;
  60. end.