自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在Delphi中自動錄入數(shù)據(jù)

開發(fā) 開發(fā)工具
在Delphi數(shù)據(jù)庫應用系統(tǒng)的數(shù)據(jù)錄入過程中,有些數(shù)據(jù)是保存在Excel中的;有些是保存在紙張上的;還有一些是需要新增加的,由于各條記錄之間有大量的重復數(shù)據(jù),如果每條記錄都讓錄入人員全部手工錄入,其間的重復勞動是相當大的,還降低了工作效率。本文介紹如何在Delphi中進行數(shù)據(jù)的自動錄入。

  如何在Delphi中自動錄入數(shù)據(jù),下面就這個問題進行論述。

  1、利用Delphi調(diào)用Excel

  Delphi中已經(jīng)帶了Word與PowerPoint的例子,因為Excel的調(diào)用與這兩個應用服務器的調(diào)用略有不同,所以也可以利用Delphi調(diào)用Excel。

  步驟如下:

  (1) 創(chuàng)建一個普通Application.

  (2) 在Form中分別放入ExcelApplication,ExcelWorkbook和ExcelWorksheet.

  (3) 連接Excel.

  打開Excel.

  1. Try  
  2. ExcelApplication1.Connect;  
  3. Except  
  4. End; ExcelApplication1.Visible[0]:=True;   

  增加一個Workbook.

  1. ExcelWorkbook1.ConnectTo(ExcelApplication1 Workbooks.Add(EmptyParam,0));  

  添加一個Worksheet.

  1. Var Temp_Worksheet: _WorkSheet;  
  2. Begin  
  3. Try  
  4. Temp_Worksheet:=ExcelWorkbook1.  
  5. WorkSheets.Add(EmptyParam,  
  6. EmptyParam,EmptyParam,EmptyParam,0)   
  7. as _WorkSheet;  
  8. ExcelWorkSheet1.ConnectTo(Temp_WorkShee);  
  9. Except  
  10. ShowMessage(′Failure′); End;   

  關閉Excel.

  1. Try  
  2. ExcelApplication1.Quit;  
  3. ExcelWorksheet1.Disconnect;  
  4. ExcelWorkbook1.Disconnect;  
  5. ExcelApplication1.Disconnect;  
  6. Except  
  7. End;  
  8. End;   

  (4) 對Excel的一些操作:

  選擇某一工作簿中的一個工作表,然后對某一單元格進行賦值及取值。最后選擇某一區(qū)域作以下操作:

  1. ExcelWorkSheet1.Range[′A1′,′C1′].Select; 

  打開一個Excel文件.

  1. if OpenDialog1.Execute then  
  2. Begin  
  3. Try  
  4. ExcelWorkBook1.ConnectTo(Excel  
  5. Application1.Workbooks.Open(OpenDialog1FileName,EmptyParam,EmptyParam,Empty Param, EmptyParam, EmptyParam,  
  6. EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,  
  7. EmptyParam,EmptyParam,0));  
  8. ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);  
  9. Except;  
  10. End;   

  2、利用OCR識別掃描

  OCR可以識別一頁A4大小的印刷體中英文混排的純文本文件只用幾秒鐘,所以我們可以把掃描的圖像進行識別處理、保存。然后通過添加記錄或批復制的操作將得到的數(shù)據(jù)轉(zhuǎn)入數(shù)據(jù)庫的相應的表中。具體實現(xiàn)如下:

  1. Procedure TForm1.buttonclick(sender:tobject);  
  2. Begin  
  3. Shellexecute(handle,’open’,’  
  4. c:\sh60\sh60.exe’,’,’,sw-shownormal);  
  5. Button3.enabled:=false;  
  6. End;  
  7. Procedure TForm1.formcreat(sender:tobject);  
  8. Var i:integer:  
  9. Begin  
  10. Chdir(‘c:\sh60’);  
  11. Form1.edit1.clear;  
  12. Form1.memo1.clear;  
  13. Assignfile(textid,form1.opendialog1.filename);  
  14. For i:=1 to form1.adoquery1.sql.count do 
  15. Begin  
  16. Form1.adoquery1.close;  
  17. Form1.adoquery1.clear;  
  18. Form1.adoquery1.sq1.add(‘select 表名  
  19. from Formname’)close;  
  20. Form1.adoquery1.open;  
  21. Form1.dbcombox1.datafield:=’表名’;  
  22. End;   

  3、利用原記錄更改

  Delphi數(shù)據(jù)錄入時自動復制原記錄,然后做很少的修改,就完成了一條新記錄的編輯,最后直接保存。

  使用 ADO 方法存取 Access數(shù)據(jù)庫中的表 test,表的第一個字段是“自動編碼”字段,在記錄復制時要跳過。首先在 Form1 上添加 ADOConnection1、ADODataSet1、DataSource1、DBGrid1 等數(shù)據(jù)庫相關組件,使用連接向?qū)О?ADOConnection1 與 Access 數(shù)據(jù)庫連接起來,把 ADOConnection1 的 LoginPrompt 屬性設置為 False,其它組件的對應屬性設置如下:

  1. ADODataSet1.Connection :=ADOConnection1;  
  2. ADODataSet1.CommandText :=select * from test;  
  3. ADODataSet1.Active :=True;  
  4. DataSource1.DataSet :=ADODataSet1;  
  5. DBGrid1.DataSource :=DataSource1;   

  在 DBGrid 中看到數(shù)據(jù)庫表 test 中的數(shù)據(jù),后在窗體上添加一些數(shù)據(jù)敏感的數(shù)據(jù)輸入控件(如 DBEdit 等),將其 DataSource 屬性設為 DataSource1,再分別與各字段綁定起來。

  在窗體上添加 2 個按鈕 Button1 和Button2,設計相應的觸發(fā)事件。

  程序編譯運行后,按 Button1 按鈕,就會添加一條新的記錄,記錄的內(nèi)容為添加前記錄指針指向的記錄的內(nèi)容.然后對現(xiàn)有數(shù)據(jù)做些改動,按 Button2 按鈕保存新記錄。

  4、結論

  通過對上面部分代碼的修改,可以實現(xiàn)數(shù)據(jù)的自動錄入,極大的提高了數(shù)據(jù)的錄入速度。

【編輯推薦】

  1. Delphi基礎開發(fā)技巧
  2. 在Delphi程序中操作注冊表
  3. 基于Delphi的屏幕抓圖技術的實現(xiàn)
  4. Delphi內(nèi)存管理的編程技巧
  5. Delphi開發(fā)技術手冊
責任編輯:韓亞珊 來源: 編程愛好者
相關推薦

2011-07-13 15:32:38

ODBC數(shù)據(jù)庫驅(qū)動程序系統(tǒng)DSN

2019-10-18 10:30:14

Windows 10自動關機Windows

2022-12-10 17:47:03

VSCode代碼

2022-04-28 18:37:50

PythonExcel

2011-03-21 12:41:41

JavaScript

2025-01-21 15:20:14

2019-11-15 16:20:35

Windows 10自動重啟Windows

2019-03-15 10:25:08

Windows 10Windows回收站

2024-09-24 16:27:57

2010-04-19 13:15:00

Oracle數(shù)據(jù)庫

2020-06-24 07:53:03

機器學習技術人工智能

2009-06-01 09:57:43

netbeans連接數(shù)netbeans數(shù)據(jù)庫netbeans連接m

2020-05-28 09:16:05

UbuntuLinux

2019-04-25 09:49:55

Windows 10自動電源Windows

2023-10-31 08:32:59

2024-04-19 16:15:30

云計算

2024-09-24 14:58:39

2024-09-26 21:49:19

2011-03-11 13:26:23

SQL Server數(shù)導入數(shù)據(jù)

2014-06-18 10:01:19

CIO
點贊
收藏

51CTO技術棧公眾號