📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtnrs, StdCtrls, DB, Grids, DBGrids, DBTables, Buttons,
ExtCtrls, DBCtrls,shellAPI;
type
TForm1 = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
SpeedButton1: TSpeedButton;
OpenDialog1: TOpenDialog;
Label3: TLabel;
Label4: TLabel;
CheckBox1: TCheckBox;
procedure Edit2Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Table1AfterScroll(DataSet: TDataSet);
procedure Edit1Change(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Label4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Label4MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label4MouseLeave(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Edit2Change(Sender: TObject);
begin
If Length(Edit2.Text)>40 Then
Begin
ShowMessage('文字长度超过40,请重新填写');
Edit2.Focused;
end
Else;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.DatabaseName:=ExtractFilePath(ParamStr(0));
Table1.TableName:='filesystem.db';
Table1.open;
Table1.Append; //追加记录
Table1.Edit; //编辑filesystem.db
Table1.FieldByName('文件名').AsString:=Edit1.Text;
Table1.FieldByName('文件说明').AsString:=Edit2.Text;
Table1.Post; //将数据提交filesystem.db中
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
If OpenDialog1.Execute Then
Edit1.Text:=ExtractFileName(OpenDialog1.FileName); //在Edit1中显示文件名
end;
procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
var
Icon : hIcon;
IconIndex : word;
str:string;
begin
{抽取图标}
Form1.Refresh;
str:='...\multis\'+Table1.FieldByName('文件名').AsString;
Label3.Caption:='当前文件目录:'+ExtractFilePath(ParamStr(0));
Label4.Caption:=str;
Icon := ExtractAssociatedIcon(HInstance,
pchar(ExtractFilePath(ParamStr(0))+'multis\'+Table1.FieldByName('文件名').AsString),IconIndex);
DrawIcon(Form1.Canvas.Handle,8,250,icon);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
If Length(Edit2.Text)>20 Then
Begin
ShowMessage('文字长度超过20,请重新填写');
Edit1.Focused;
Button1.Enabled:=false;
end
Else Button1.Enabled:=True;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
Table1.DatabaseName:=ExtractFilePath(ParamStr(0));
Table1.TableName:='filesystem.db';
If CheckBox1.Checked=False Then
Table1.Active:=False //当没有指示的时候,就关闭Table1,从而没有数据显示
Else
Table1.Active:=True;
end;
procedure TForm1.Label4MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Cursor:=crHandPoint; //生成链接效果
Label4.Font.Color:=clBlue;
end;
procedure TForm1.Label4MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
ShellExecute(handle,'open',
pchar(ExtractFilePath(ParamStr(0))+'multis\'+Table1.FieldByName('文件名').AsString),
nil,nil,SW_RESTORE);//链接效果的代码
end;
procedure TForm1.Label4MouseLeave(Sender: TObject);
begin
Cursor:=crDefault;
Label4.Font.Color:=clBlack;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -