Delphi實現(xiàn)文本到數(shù)據(jù)庫的相互轉(zhuǎn)換,數(shù)據(jù)導(dǎo)出等功能??砂鸭兾谋緝?nèi)容按規(guī)則寫入到數(shù)據(jù)庫中,也就是文本導(dǎo)入到數(shù)據(jù)庫的相應(yīng)字段中,也可把相應(yīng)的數(shù)據(jù)庫內(nèi)容導(dǎo)出為文本,很不錯吧,我覺得挺實用的,特此分享:
這是一個文本文件的內(nèi)容示例:friends.txt
立夏 女 22 河南 春秋 女 19 海南 司馬珠 女 21 河北 王重 男 22 湖南 許仙 男 24 湖南
運行效果圖:
另外程序還使用了db數(shù)據(jù)庫,這個可在最后面所附的源碼包下載鏈接下載整個文件。
04 | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, |
05 | Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids; |
10 | DataSource1: TDataSource; |
14 | procedure Button1Click(Sender: TObject); |
15 | procedure Button2Click(Sender: TObject); |
17 | { Private declarations } |
19 | { Public declarations } |
25 | procedure TForm1 . Button1Click(Sender: TObject); |
27 | TxtFile:TextFile; //定義一個文本文件變量TxtFile |
31 | Table1 . DatabaseName:=ExtractFilePath(ParamStr( 0 )); |
32 | Table1 . TableName:= 'friends.db' ; |
34 | //將friends.txt分配給TxtFile變量 |
35 | AssignFile(TxtFile,ExtractFilePath(ParamStr( 0 ))+ 'friends.txt' ); |
36 | Reset(TxtFile); //打開friends.txt |
38 | while not Eof(TxtFile) do //循環(huán)讀取文本內(nèi)容 |
40 | Read(TxtFile,Ch); //從friends.txt中讀一個字符 |
41 | if Ch<> Char ( 13 ) then //是否為回車鍵 |
42 | Str:=Str+Ch //不是回車鍵,繼續(xù)讀下一個字符 |
44 | begin //是回車符,表明已經(jīng)讀完一行,此時Str變量即代表一行信息 |
46 | Table1 . Edit; //編輯friends.db |
47 | {讀取文本內(nèi)容到四個字段中。關(guān)鍵:頂格的行列號是(1,1)} |
48 | Table1 . FieldByName( '姓名' ).AsString:=Copy(Str, 1 , 8 ); |
49 | Table1 . FieldByName( '性別' ).AsString:=Copy(Str, 9 , 2 ); |
50 | Table1 . FieldByName( '年齡' ).AsString:=Copy(Str, 13 , 2 ); |
51 | Table1 . FieldByName( '省份' ).AsString:=Copy(Str, 15 , 8 ); |
52 | Table1 . Post; //將數(shù)據(jù)過至friends.db中 |
53 | Read(TxtFile,Ch); //略過換行符 |
57 | Button2 . Enabled:= True ; |
59 | procedure TForm1 . Button2Click(Sender: TObject); |
64 | for i:= 0 to Table1 . FieldCount- 1 Do |
65 | str:=str+Table1 . Fields[i].FieldName+ ' ' ; //讀取字段 |
69 | {循環(huán)讀取表格中的內(nèi)容} |
71 | While not Table1 . Eof Do |
73 | for i:= 0 To Table1 . FieldCount- 1 Do |
74 | str:=str+Table1 . Fields[i].AsString+ ' ' ; //讀取數(shù)據(jù)記錄 |
|