程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Delphi制作的TDBEdit應用實例

Delphi制作的TDBEdit應用實例

編輯:Delphi

Delphi制作的TDBEdit應用實例,實現Tdate TimePicker組件的數據感知功能,代碼如下:

vIEw source print? 001 unit Unit1; 002 interface 003 uses 004   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 005   Dialogs, DB, StdCtrls, ADODB, Grids, DBGrids, DBCtrls, Mask, ExtCtrls, 006   Menus, ComCtrls,JPEG; 007 type 008   TForm1 = class(TForm) 009     ADOConnection1: TADOConnection; 010     DataSource1: TDataSource; 011     ADOQuery1: TADOQuery; 012     DBEdit1: TDBEdit; 013     Label1: TLabel; 014     Label2: TLabel; 015     Label3: TLabel; 016     Label4: TLabel; 017     Label5: TLabel; 018     Label6: TLabel; 019     DBEdit2: TDBEdit; 020     DBEdit5: TDBEdit; 021     DBEdit6: TDBEdit; 022     DBNavigator1: TDBNavigator; 023     Label7: TLabel; 024     DBText1: TDBText; 025     DBImagePhoto: TDBImage; 026     PopupMenu1: TPopupMenu; 027     MenuLoad: TMenuItem; 028     MenuDelete: TMenuItem; 029     MenuCopy: TMenuItem; 030     MenuPaste: TMenuItem; 031     MenuSaveAs: TMenuItem; 032     MenuSeperator: TMenuItem; 033     OpenDialog1: TOpenDialog; 034     SaveDialog1: TSaveDialog; 035     MenuCut: TMenuItem; 036     DBComboBox1: TDBComboBox; 037     Image1: TImage; 038     DateTimePicker1: TDateTimePicker; 039     procedure ButtonAddClick(Sender: TObject); 040     procedure ADOQuery1CalcFIElds(DataSet: TDataSet); 041     procedure DBEdit3KeyPress(Sender: TObject; var Key: Char); 042     procedure MenuLoadClick(Sender: TObject); 043     procedure MenuDeleteClick(Sender: TObject); 044     procedure MenuCopyClick(Sender: TObject); 045     procedure MenuPasteClick(Sender: TObject); 046     procedure MenuCutClick(Sender: TObject); 047     procedure MenuSaveAsClick(Sender: TObject); 048     procedure DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); 049     procedure DataSource1DataChange(Sender: TObject; Field: TFIEld); 050     procedure DataSource1UpdateData(Sender: TObject); 051     procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char); 052   private 053     { Private declarations } 054   public 055     { Public declarations } 056   end; 057 var 058   Form1: TForm1; 059 implementation 060 {$R *.dfm} 061 procedure TForm1.ButtonAddClick(Sender: TObject); 062 begin 063   if (ADOQuery1.FIEldByName('郵政編碼').Value<>null) then 064   ShowMessage(ADOQuery1.FIEldByName('郵政編碼').AsString ) 065   else 066   ShowMessage(''); 067   exit; 068   //插入新記錄 069   ADOQuery1.Insert; 070   //設定字段值 071   ADOQuery1.FIEldValues['公司名稱']:='新建的公司'; 072   ADOQuery1.FIEldValues['地址']:='海澱區XX路XX號'; 073   ADOQuery1.FIEldValues['城市']:='北京'; 074   ADOQuery1.FIEldValues['省區市']:='北京'; 075   //ADOQuery1.FIEldValues['郵政編碼']:='100000'; 076   ADOQuery1.FIEldValues['地區']:='東北區'; 077   ADOQuery1.FIEldValues['國家']:='中國'; 078   ADOQuery1.FIEldValues['網站']:='www.None.com'; 079   //提交更改 080   ADOQuery1.Post; 081 end; 082 procedure TForm1.ADOQuery1CalcFIElds(DataSet: TDataSet); 083 begin 084   with ADOQuery1 Do 085     begin 086       FIEldByName('總價').Value:= FIEldByName('數量').Value* FIEldByName('單價').Value; 087     end; 088 end; 089 procedure TForm1.DBEdit3KeyPress(Sender: TObject; var Key: Char); 090 begin 091 ShowMessage(IntToStr(ORD(Key))); 092 end; 093 //從文件中讀取圖片並放到DBImagePhoto對象中 094 procedure TForm1.MenuLoadClick(Sender: TObject); 095 var 096   Pic:TPicture; 097 begin 098   //設定數據集為編輯狀態,這段代碼相當於 099   //ADOQuery1.Edit; 100   DBImagePhoto.DataSource.DataSet.Edit; 101   //打開文件選擇對話框選擇文件 102   if (OpenDialog1.Execute) then 103     begin 104       //創建一個TPicture對象 105       Pic:=TPicture.Create(); 106       try 107         //從文件中讀取圖片 108         Pic.LoadFromFile(OpenDialog1.FileName); 109         //將圖片賦值給DBImagePhoto對象 110         DBImagePhoto.Picture:=pic; 111       finally 112         //用Try...Finally結構確保新建的TPicture對象被釋放 113         Pic.Free; 114       end; 115     end; 116   //更新數據集 117   DBImagePhoto.DataSource.DataSet.Post; 118 end; 119 //刪除DBImagePhoto對象中的圖片 120 procedure TForm1.MenuDeleteClick(Sender: TObject); 121 begin 122   DBImagePhoto.DataSource.DataSet.Edit; 123   DBImagePhoto.Picture.Bitmap:=nil; 124   DBImagePhoto.DataSource.DataSet.Post; 125 end; 126 //將DBImagePhoto對象中的圖片拷貝到剪切板 127 procedure TForm1.MenuCopyClick(Sender: TObject); 128 begin 129   DBImagePhoto.CopyToClipboard; 130 end; 131 //從剪切板中讀取圖片到DBImagePhoto對象中 132 procedure TForm1.MenuPasteClick(Sender: TObject); 133 begin 134   DBImagePhoto.PasteFromClipboard; 135 end; 136 //將DBImagePhoto對象中的圖片剪切到剪切板 137 procedure TForm1.MenuCutClick(Sender: TObject); 138 begin 139   DBImagePhoto.CutToClipboard; 140 end; 141 //將DBImagePhoto對象中的圖片保存為文件 142 procedure TForm1.MenuSaveAsClick(Sender: TObject); 143 begin 144   if (SaveDialog1.Execute) then 145     DBImagePhoto.Picture.Graphic.SaveToFile(SaveDialog1.FileName); 146 end; 147 procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn); 148 begin 149   if Button=nbNext then 150     Image1.Picture.Bitmap.Assign(ADOQuery1.FIEldByName('照片')); 151 end; 152 //在該事件中設置當數據指針移動時DateTimePicker1的值相應發生變動 153 procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TFIEld); 154 begin 155   //DataSource1.DataSet=ADOQuery1 156   DateTimePicker1.Date:=DataSource1.DataSet.FIEldByName('生日').AsDateTime; 157   Image1.Picture.Graphic.Assign(DataSource1.DataSet.FIEldByName('照片')); 158 end; 159 //在該事件中設置當提交數據變動時,“生日”字段值的來源 160 procedure TForm1.DataSource1UpdateData(Sender: TObject); 161 begin 162   DataSource1.DataSet.FIEldByName('生日').AsDateTime:=DateTimePicker1.Date; 163 end; 164 procedure TForm1.DateTimePicker1KeyPress(Sender: TObject; var Key: Char); 165 begin 166   //按下ESC鍵將取消對尚未提交的數據集的修改 167   if Key=#27 then 168     DataSource1.DataSet.Cancel 169   else 170     begin 171       if DataSource1.DataSet.State<>dsEdit then 172         //設置數據為編輯狀態 173         DataSource1.DataSet.Edit; 174     end; 175 end; 176 end.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved