Delphi演示如何在一個以多媒體內容為主的數據庫中插入數據,主要是文件和文件說明,若在開發音樂系統的或許多多少少會獲取到相關信息。操作RM文件、JPG、文件、BMP、Word文檔等讀寫數據庫。
001
unit
Unit1;
002
interface
003
uses
004
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
005
Dialogs, OleCtnrs, StdCtrls, DB, Grids, DBGrids, DBTables, Buttons,
006
ExtCtrls, DBCtrls,shellAPI;
007
type
008
TForm1 =
class
(TForm)
009
Table1: TTable;
010
DBGrid1: TDBGrid;
011
DataSource1: TDataSource;
012
Button1: TButton;
013
Edit1: TEdit;
014
Edit2: TEdit;
015
Label1: TLabel;
016
Label2: TLabel;
017
SpeedButton1: TSpeedButton;
018
OpenDialog1: TOpenDialog;
019
Label3: TLabel;
020
Label4: TLabel;
021
CheckBox1: TCheckBox;
022
procedure
Edit2Change(Sender: TObject);
023
Button1Click(Sender: TObject);
024
SpeedButton1Click(Sender: TObject);
025
Table1AfterScroll(DataSet: TDataSet);
026
Edit1Change(Sender: TObject);
027
CheckBox1Click(Sender: TObject);
028
Label4MouseMove(Sender: TObject; Shift: TShiftState; X,
029
Y:
Integer
);
030
Label4MouseDown(Sender: TObject; Button: TMouseButton;
031
Shift: TShiftState; X, Y:
032
Label4MouseLeave(Sender: TObject);
033
private
034
{ Private declarations }
035
public
036
{ Public declarations }
037
end
;
038
var
039
Form1: TForm1;
040
implementation
041
{$R *.dfm}
042
TForm1
.
043
begin
044
If
Length(Edit2
Text)>
40
Then
045
Begin
046
ShowMessage(
'文字長度超過40,請重新填寫'
047
Edit2
Focused;
048
049
Else
050
051
052
053
Table1
DatabaseName:=ExtractFilePath(ParamStr(
0
));
054
TableName:=
'filesystem.db'
055
open;
056
Append;
//追加記錄
057
Edit;
//編輯filesystem.db
058
FIEldByName(
'文件名'
).AsString:=Edit1
Text;
059
'文件說明'
).AsString:=Edit2
060
Post;
//將數據提交filesystem.db中
061
062
063
064
OpenDialog1
Execute
065
Edit1
Text:=ExtractFileName(OpenDialog1
FileName);
//在Edit1中顯示文件名
066
067
068
069
Icon : hIcon;
070
IconIndex :
Word
071
str:
string
072
073
{抽取圖標}
074
Form1
Refresh;
075
str:=
'...\multis\'+Table1.FIEldByName('
文件名').AsString;
076
Label3
Caption:=
'當前文件目錄:'
+ExtractFilePath(ParamStr(
077
Label4
Caption:=str;
078
Icon := ExtractAssociatedIcon(HInstance,
079
pchar
(ExtractFilePath(ParamStr(
))+
'multis\'+Table1.FIEldByName('
文件名').AsString),IconIndex);
080
DrawIcon(Form1
Canvas
Handle,
8
,
250
,icon);
081
082
083
084
20
085
086
'文字長度超過20,請重新填寫'
087
088
Button1
Enabled:=
false
089
090
True
091
092
093
094
095
096
CheckBox1
Checked=
False
097
Active:=
//當沒有指示的時候,就關閉Table1,從而沒有數據顯示
098
099
100
101
102
103
104
Cursor:=crHandPoint;
//生成鏈接效果
105
Font
Color:=clBlue;
106
107
108
109
110
ShellExecute(handle,
'open'
111
文件名').AsString),
112
nil
,SW_RESTORE);
//鏈接效果的代碼
113
114
115
116
Cursor:=crDefault;
117
Color:=clBlack;
118
119
多色漸變需要: 一個 顏色數組 和一個 位置數組 (0-1
本例效果圖: 代碼文件:unit Unit1;inter
沒有一行代碼的三層,功能肯定非常的簡單,但是,
眾所周知,ASP技術是我們在以internet/intra
對於一個工程為變量改名是在所難免的。Delphi 200
之前已經有了兩種多線程的同步方法: CriticalSe