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

Delphi控件源码

开发平台:

Delphi

  1. unit SendToF;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   DBTables, DB, StdCtrls, Grids, DBGrids, ComCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     Table1: TTable;
  9.     Table1Name: TStringField;
  10.     Table1Capital: TStringField;
  11.     Table1Continent: TStringField;
  12.     Table1Area: TFloatField;
  13.     Table1Population: TFloatField;
  14.     EditCapital: TEdit;
  15.     EditPopulation: TEdit;
  16.     EditArea: TEdit;
  17.     Label1: TLabel;
  18.     Label2: TLabel;
  19.     Label3: TLabel;
  20.     Label4: TLabel;
  21.     Label5: TLabel;
  22.     ComboContinent: TComboBox;
  23.     Button1: TButton;
  24.     Button2: TButton;
  25.     ComboName: TComboBox;
  26.     procedure Button1Click(Sender: TObject);
  27.     procedure Button2Click(Sender: TObject);
  28.     procedure FormCreate(Sender: TObject);
  29.     procedure ComboNameKeyPress(Sender: TObject; var Key: Char);
  30.     procedure ComboNameClick(Sender: TObject);
  31.   private
  32.     { Private declarations }
  33.   public
  34.     procedure GetData;
  35.     procedure SendData;
  36.   end;
  37. var
  38.   Form1: TForm1;
  39. implementation
  40. {$R *.DFM}
  41. procedure TForm1.GetData;
  42. begin
  43.   Table1.FindNearest ([ComboName.Text]);
  44.   ComboName.Text := Table1Name.AsString;
  45.   EditCapital.Text := Table1Capital.AsString;
  46.   ComboContinent.Text := Table1Continent.AsString;
  47.   EditArea.Text := Table1Area.AsString;
  48.   EditPopulation.Text := Table1Population.AsString;
  49. end;
  50. procedure TForm1.SendData;
  51. begin
  52.   // raise an exception if there is no name
  53.   if ComboName.Text = '' then
  54.     raise Exception.Create ('Insert the name');
  55.   // check if the record is already in the table    
  56.   if Table1.FindKey ([ComboName.Text]) then
  57.   begin
  58.     // modify found record
  59.     Table1.Edit;
  60.     Table1Capital.AsString := EditCapital.Text;
  61.     Table1Continent.AsString := ComboContinent.Text;
  62.     Table1Area.AsString := EditArea.Text;
  63.     Table1Population.AsString := EditPopulation.Text;
  64.     Table1.Post;
  65.   end
  66.   else
  67.   begin
  68.     // insert new record
  69.     Table1.InsertRecord ([ComboName.Text,
  70.       EditCapital.Text, ComboContinent.Text,
  71.       EditArea.Text, EditPopulation.Text]);
  72.     // add to list
  73.     ComboName.Items.Add (ComboName.Text)
  74.   end;
  75. end;
  76. procedure TForm1.Button1Click(Sender: TObject);
  77. begin
  78.   GetData;
  79. end;
  80. procedure TForm1.Button2Click(Sender: TObject);
  81. begin
  82.   SendData;
  83. end;
  84. procedure TForm1.FormCreate(Sender: TObject);
  85. begin
  86.   // fill the list of names
  87.   Table1.Open;
  88.   while not Table1.Eof do
  89.   begin
  90.     ComboName.Items.Add (Table1Name.AsString);
  91.     Table1.Next;
  92.   end;
  93. end;
  94. procedure TForm1.ComboNameKeyPress(Sender: TObject; var Key: Char);
  95. begin
  96.   if Key = #13 then
  97.     GetData;
  98. end;
  99. procedure TForm1.ComboNameClick(Sender: TObject);
  100. begin
  101.   GetData;
  102. end;
  103. end.