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

Delphi控件源码

开发平台:

Delphi

  1. unit FldTextF;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   Db, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls, Grids, DBGrids, ComCtrls;
  6. type
  7.   TDbaForm = class(TForm)
  8.     Table1: TTable;
  9.     DataSource1: TDataSource;
  10.     Panel1: TPanel;
  11.     Button2: TButton;
  12.     PageControl1: TPageControl;
  13.     TabSheet1: TTabSheet;
  14.     TabSheet2: TTabSheet;
  15.     DBGrid1: TDBGrid;
  16.     DBNavigator1: TDBNavigator;
  17.     DBCheckBox1: TDBCheckBox;
  18.     DBEdit1: TDBEdit;
  19.     DBEdit2: TDBEdit;
  20.     DBComboBox1: TDBComboBox;
  21.     DBText1: TDBText;
  22.     Label1: TLabel;
  23.     Label2: TLabel;
  24.     Label3: TLabel;
  25.     Label4: TLabel;
  26.     DBListBox1: TDBListBox;
  27.     Table1LastName: TStringField;
  28.     Table1FirstName: TStringField;
  29.     Table1Department: TSmallintField;
  30.     Table1Branch: TStringField;
  31.     Table1Senior: TBooleanField;
  32.     Table1HireDate: TDateField;
  33.     procedure FormCreate(Sender: TObject);
  34.     procedure Table1DepartmentGetText(Sender: TField; var Text: String;
  35.       DisplayText: Boolean);
  36.     procedure Table1DepartmentSetText(Sender: TField; const Text: String);
  37.   private
  38.     { Private declarations }
  39.   end;
  40. var
  41.   DbaForm: TDbaForm;
  42. implementation
  43. {$R *.DFM}
  44. procedure TDbaForm.FormCreate(Sender: TObject);
  45. begin
  46.   if not Table1.Exists then
  47.   begin
  48.     Table1.CreateTable;
  49.     ShowMessage ('You can add data to this table'#13 +
  50.       'by using the DbAware example of Chapter 11');
  51.   end;
  52.   Table1.Open;
  53. end;
  54. procedure TDbaForm.Table1DepartmentGetText(Sender: TField;
  55.   var Text: String; DisplayText: Boolean);
  56. begin
  57.   case Sender.AsInteger of
  58.     1: Text := 'Sales';
  59.     2: Text := 'Accounting';
  60.     3: Text := 'Production';
  61.     4: Text := 'Management';
  62.   else
  63.     Text := '[Error]';
  64.   end;
  65. end;
  66. procedure TDbaForm.Table1DepartmentSetText(Sender: TField;
  67.   const Text: String);
  68. begin
  69.   if Text = 'Sales' then
  70.     Sender.Value := 1
  71.   else if Text = 'Accounting' then
  72.     Sender.Value := 2
  73.   else if Text = 'Production' then
  74.     Sender.Value := 3
  75.   else if Text = 'Management' then
  76.     Sender.Value := 4
  77.   else
  78.     raise Exception.Create ('Error in Department field conversion');
  79. end;
  80. end.
  81.