⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 1.Session获取BDE信息 2.可视化创建数据表格 3.SQL语句的使用 4.“一对多表”的设计 5.文本和数据记录的转换 6.ADO的网络调用 7.多媒体数据库的使用 8.IntraWeb技术
💻 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 + -